Multidesk.be » Forums » PHP » 1e bericht niet in tabel

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Merijn op donderdag 11 september 2008 om 11:11:11.
Merijn's avatar
Multiviteit: 300
Hey

Ik heb dit scriptje op internet gevonden. Ik heb het ook al wat aangepast maar 1 fout vind ik niet.
Als ik mijn gastenboek via deze weg ophaal krijg ik als resultaat:

Naam: xxxxx Bericht xxxx


| naam: yyyyyyy | bericht: YYYYYYYYY |


| naam: zzzzzzzz | bericht: ZZZZZZZZ |



Dus ik krijg mijn berichten wel in de juiste volgorde, en allemaal, maar het eerste bericht krijg ik op een gewone regel, de rest in de tabel.
Ik eindig dan ook met lege cellen in de tabel.

Dus waar wordt dit 1e bericht getoond. Dan wordt de lus nog niet aangeroepen.

Hier het script:
CODE
  1. <div id="inhoud">
  2.  
  3. <p>Gastenboek</p>
  4. <p><a href="gbreactie.html">Plaats een reactie</a> of <a href="lezen.php">lees het gastenboek</a></p>
  5.  
  6. <div id="gb>
  7.  
  8. <?php
  9.  
  10. $file = "gb.dat";
  11.  
  12. if(file_exists($file)){
  13.     $fp = fopen($file, "r");
  14.  
  15.     $inhoud = fread($fp, filesize($file));
  16.  
  17.     $inhoud = explode("\n", $inhoud);
  18.  
  19.     foreach($inhoud as $gegevens){
  20.         $gegevens = explode("___", $gegevens);
  21.  
  22. ?>
  23.  
  24.         <table border="1">
  25.             <tr>
  26.                 <td>
  27.                     NAAM:
  28.                 </td>
  29.                 <td>
  30. <?php
  31.                     echo $gegevens['0'];
  32. ?>
  33.                 </td>
  34.             </tr>
  35.             <tr>
  36.                 <td>
  37.                     Bericht:
  38.                 </td>
  39.                 <td>
  40. <?php
  41.                     echo $gegevens['1'];
  42. ?>
  43.                 </td>
  44.             </tr>
  45.         </table>
  46. <?php
  47.     }
  48.     fclose($fp);
  49.     echo "<br />Bedankt voor uw reactie !";
  50. }
  51. else{
  52.     echo "<br />Nog geen berichten in het gastenboek.";
  53. }
  54. ?>
  55.  
  56. </div>
  57. </div>


EDIT: Nu merk ik dat de tabel wel met het 1e bericht begint, maar de tabel eindigt nog steeds met lege cellen.

Opmerking van de crew

Ik heb je code even tussen code-tags geplaatst; dat leest een pak eenvoudiger ;-).
Martijn
Deze tekst werd het laatst bewerkt voor 0.31 % door Martijn op donderdag 11 september 2008 om 13:34:01.
^ Reactie #1 geschreven door Martijn op donderdag 11 september 2008 om 13:35:24.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Gebruik voor de zekerheid eens htmlspecialchars() op je output.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Merijn op donderdag 11 september 2008 om 13:46:00.
Merijn's avatar
Multiviteit: 300
En waar moet ik dat dan plaatsen ?

Ps: code tags vergeten. My bad !

EDIT: de eerste reactie die opgeslagen is wordt nu wel goed weergegeven, dus dat probleem is opgelost. Nu enkel nog die laatste lege cellen. ;)

EDIT2: opgelost, een if tussen gezet :D
Deze tekst werd het laatst bewerkt voor 9.01 % door Merijn op donderdag 11 september 2008 om 14:42:19.
^ Reactie #3 geschreven door Martijn op donderdag 11 september 2008 om 15:27:10.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Rond bijvoorbeeld echo $gegevens['0']; en echo $gegevens['1']; zodat je iets krijgt als echo htmlspecialchars($gegevens['1']);

Zat er nu een witregel te veel in je bestand of wat was het probleem?
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #4 geschreven door Merijn op donderdag 11 september 2008 om 15:39:25.
Merijn's avatar
Multiviteit: 300
ik weet het niet echt.
In mijn .dat bestand stond er nog zo'n tekentje dat het einde van een regel aanduidt. Dat stond laatst.
Ik heb gewoon na de foreach getest of er wel degelijk iets zat in $gegevens['0'] en als het leeg was stopte de lus.

btw: wat doet de htmlspecialchars() ?
^ Reactie #5 geschreven door Martijn op donderdag 11 september 2008 om 15:41:14.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Waarschijnlijk dus inderdaad een witregel.

De functie htmlspecialchars() zorgt ervoor dat "gevaarlijke" karakters omgezet worden naar hun respectievelijke "safe" HTML entities.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #6 geschreven door Merijn op donderdag 11 september 2008 om 17:36:39.
Merijn's avatar
Multiviteit: 300
Ah ok, best doen dan. Bedankt !
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen