note 96110 added to control-structures.switch
| From: | 96352 at rsglingecollege dot nl | Date: | Tue, 09 Feb 2010 10:46:15 +0000 |
| Subject: | note 96110 added to control-structures.switch | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-165781@lists.php.net to get a copy of this message | ||
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>
----
Server IP: 83.137.20.135
Probable Submitter: 77.60.75.234
----
Manual Page -- http://www.php.net/manual/en/control-structures.switch.php
Edit -- https://master.php.net/note/edit/96110
Del: integrated -- https://master.php.net/note/delete/96110/integrated
Del: useless -- https://master.php.net/note/delete/96110/useless
Del: bad code -- https://master.php.net/note/delete/96110/bad+code
Del: spam -- https://master.php.net/note/delete/96110/spam
Del: non-english -- https://master.php.net/note/delete/96110/non-english
Del: in docs -- https://master.php.net/note/delete/96110/in+docs
Del: other reasons-- https://master.php.net/note/delete/96110
Reject -- https://master.php.net/note/reject/96110
Search -- https://master.php.net/manage/user-notes.php