note 96110 deleted from control-structures.switch by thiago

From: Date: Tue, 09 Feb 2010 12:09:59 +0000
Subject: note 96110 deleted from control-structures.switch by thiago
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-165786@lists.php.net to get a copy of this message
Note Submitter: 96352 at rsglingecollege dot nl Reason: non-english ---- Verbeter het gastenboek zo dat lees-pagina niet meer afhankelijk is van het aantal regels in een gastenboek-bijdrage. Met andere woorden: gebruik een delimiter-veld met een speciale code die het einde van een bijdrage aangeeft. Bijvoorbeeld: <input type="hidden" name="delimiter" value="*-*-*-*-*">. -Laat de lees-pagina controleren op het voorkomen van deze delimiter in plaats van elke vier regels een nieuwe bijdrage te starten. -Let erop dat de delimiter met fgets() inclusief het regeleinde \n wordt gelezen. Deze moet worden meegenomen in de vergelijking. <html> <head> <title>Opdracht 8.1 - Een PHP-gastenboek</title> </head> <body> <h2>Het PHP-gastenboek</h2> <?php // initialisatie $bestandsnaam = "gastenboek.txt"; $aantal_velden = 4; // aantal regels per bijdrage $teller = 0; // variabele om bij te houden hoeveel regels zijn gelezen $aantal_bijdragen = 1; // minimaal 1 bijdrage in het gastenboek. // gastenboek openen voor lezen, eerst testen of gastenboek wel bestaat if (file_exists($bestandsnaam)){ $fp = fopen ($bestandsnaam, "r"); // ja, bestand openen } else{ echo "<h2>Het gastenboek is nog leeg!</h2> <a href=\"voorbeeld_08_gastenboek_schrijf.php\">Schrijf de eerste bijdrage!</a> "; exit; } echo "<h3>Bijdrage: $aantal_bijdragen</h3>"; while (!feof($fp)){ $buffer = fgets($fp); if (substr($buffer,0,9)<>"*-*-*-*-*") echo "$buffer <br>" ; else { $aantal_bijdragen++; echo "<hr>"; echo "<h3>Bijdrage: $aantal_bijdragen</h3>"; } } echo "<a href=\"voorbeeld_08_gastenboek.php\">Terug naar de homepage</a>"; ?> </body> </html> Ongeacht het aantal regels van de bijdrage is het e-mailadres altijd de derde regel in een gastenboekbijdrage. Pas het gastenboek zodanig aan dat het e-mailadres als hyperlink in de pagina wordt getoond en direct aanklikbaar is. <html> <head> <title>Opdracht 8.2 - Een PHP-gastenboek</title> </head> <body> <h2>Het PHP-gastenboek</h2> <?php // initialisatie $bestandsnaam = "gastenboek.txt"; $aantal_velden = 4; // aantal regels per bijdrage $teller = 0; // variabele om bij te houden hoeveel regels zijn gelezen $aantal_bijdragen = 1; // minimaal 1 bijdrage in het gastenboek. // gastenboek openen voor lezen, eerst testen of gastenboek wel bestaat if (file_exists($bestandsnaam)){ $fp = fopen ($bestandsnaam, "r"); // ja, bestand openen } else{ echo "<h2>Het gastenboek is nog leeg!</h2> <a href=\"voorbeeld_08_gastenboek_schrijf.php\">Schrijf de eerste bijdrage!</a> "; exit; } echo "<h3>Bijdrage: $aantal_bijdragen</h3>"; while (!feof($fp)){ $teller++; $buffer = fgets($fp); if (substr($buffer,0,9)<>"*-*-*-*-*") if ($teller==3) echo "<a href='mailto:$buffer'>$buffer</a><br>"; else echo "$buffer <br>" ; else { $aantal_bijdragen++; echo "<hr>"; echo "<h3>Bijdrage: $aantal_bijdragen</h3>"; $teller=0; } } echo "<a href=\"voorbeeld_08_gastenboek.php\">Terug naar de homepage</a>"; ?> </body> </html>

« previous php.notes (#165786) next »