Beste mensen,
Ik ben met een gastenboek bezig die icm MySQL werkt.
Zoals in alle gastenboeken kan je grote teksten wegschrijven, hiervoor heb ik in m'n tabel "bericht" aangemaakt met als type "LONGTEXT".
Als ik met een textarea wat tekst schrijf met hier en daar wat enters, zet hij de enters niet in de database. Het gevolg hiervan is als je de data weer ophaalt, dat je 1 lange zin krijgt.
Het is dus de bedoeling dat waar diegene enters in de textarea zet, die deze ook wegschrijft in de database zodat als je het bericht ophaald ook enters op de goede plaatsen staan en, zoals eerder gezegt, niet 1 lange zin word :)
Offtopic: Even een paar vraagjes over jouw scriptje:
- Waarom controleer je niet of de query wel is gelukt? Deze kan altijd mislukken, je mag dus nooit aannamen dat het wel goed gaat.
- $query is een uiterst ongelukkige naam, er staat namelijk helemaal geen query in deze variabele, er staat een result-set in. $result is dus een veel betere naam en voorkomt hele knullige bugs in je systeem.
- Waarom gebruik je de functie mysql_fetch_object() ? Dit is veruit de langzaamste fetch-functie. Gebruik bv. mysql_fetch_assoc(), dat is net zo eenvoudig in het gebruik ( $list['bericht'] en stukken sneller.
- Waarom dubbele quotes gebruiken bij echo, dan moet je alle dubbele quotes in de html-tags gaan escapen. Het gebruik van enkele quotes maakt de boel een stuk overzichtelijker en je maakt minder fouten.
Offtopic: Even een paar vraagjes over jouw scriptje:
- Waarom controleer je niet of de query wel is gelukt? Deze kan altijd mislukken, je mag dus nooit aannamen dat het wel goed gaat.
- $query is een uiterst ongelukkige naam, er staat namelijk helemaal geen query in deze variabele, er staat een result-set in. $result is dus een veel betere naam en voorkomt hele knullige bugs in je systeem.
- Waarom gebruik je de functie mysql_fetch_object() ? Dit is veruit de langzaamste fetch-functie. Gebruik bv. mysql_fetch_assoc(), dat is net zo eenvoudig in het gebruik ( $list['bericht'] en stukken sneller.
- Waarom dubbele quotes gebruiken bij echo, dan moet je alle dubbele quotes in de html-tags gaan escapen. Het gebruik van enkele quotes maakt de boel een stuk overzichtelijker en je maakt minder fouten.
Zo ben ik het gewent... zal wel een nettere manier aanleren :)
Ben het momenteel aan het aanpassen, maar het gaat natuurlijk fout als je $list['bericht'] gebruikt onder echo ''; Zal effe verder kijken
@ Niek:
Dit werkt niet helemaal. Je krijgt als resultaat:
Door op 2007-02-10 20:58:35
nl2br(xcv xcv xc xcv )
Offtopic: Even een paar vraagjes over jouw scriptje:
- Waarom controleer je niet of de query wel is gelukt? Deze kan altijd mislukken, je mag dus nooit aannamen dat het wel goed gaat.
- $query is een uiterst ongelukkige naam, er staat namelijk helemaal geen query in deze variabele, er staat een result-set in. $result is dus een veel betere naam en voorkomt hele knullige bugs in je systeem.
- Waarom gebruik je de functie mysql_fetch_object() ? Dit is veruit de langzaamste fetch-functie. Gebruik bv. mysql_fetch_assoc(), dat is net zo eenvoudig in het gebruik ( $list['bericht'] en stukken sneller.
- Waarom dubbele quotes gebruiken bij echo, dan moet je alle dubbele quotes in de html-tags gaan escapen. Het gebruik van enkele quotes maakt de boel een stuk overzichtelijker en je maakt minder fouten.
Nogmaals qoute @ Frank:
Als je echo ''; en $list[""]; gebruikt moet je de echo eerst afsluiten.
Dit kost veel extra onnodig code. Effe snel slordig in elkaar:
<?php
require("config.php");
$select = "SELECT * FROM gastenboek";
$result = mysql_query($select);
Als je echo ''; en $list[""]; gebruikt moet je de echo eerst afsluiten.
Ja, en? Variabelen haal je in een goed script (persoonlijke mening...) toch al buiten quotes, dus ik zie niet in wat het probleem is.
En zodra je gebruik gaat maken van een template-parser, gebruik je in de template vrijwel alleen html en hier en daar <?php echo $var?>. Dan heb je dit probleem helemaal niet meer.