[nieuw probleem] gastenboek
<<<<<<<<<----------schrijven.php----------->>>>>>>>>>>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
</head>
<body align="center">
<form action="lezen.php" method="post">
Naam: <br /><input type="text" name="naam"/><br />
E-mail: <br /><input type="text" name="mail" /><br />
Onderwerp: <br /><input type="text" name="onderwerp"/><br />
Bericht: <br /><textarea name="bericht" onclick="this.value=''">Vul hier uw bericht in</textarea><br />
<input type="submit" value="Plaats bericht" name="submit" />
</form>
</body>
</html>
<<<<<<<<----------------------lezen.php---------------------->>>>>>>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
file_put_contents("gastenboek.txt",$body);
$gastenboek = file("gastenboek.txt");
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
file_put_contents("gastenboek.txt",$body);
$gastenboek = file("gastenboek.txt");
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
</body>
</html>
alvast bedankt, jeremy
Gewijzigd op 28/09/2011 18:15:54 door Jerry php
Vincent Huisman op 28/09/2011 11:37:04:
bedankt voor uw reactie
Kunt u misschien die tag uitleggen, en hoe ik hem moet toepassen?
file_put_contents eerst de bestaande berichten ophaalt via file_get_contents en dit in een variabele plaatst, dan kun je daarna de oude berichten en het nieuwe bericht samenvoegen die je vervolgens in het gastenboek.txt bestand schrijft.
Je doet het in principe wel goed Jerry. Als je nou voor je Bas Kreleger op 28/09/2011 11:49:42:
Je doet het in principe wel goed Jerry. Als je nou voor je file_put_contents eerst de bestaande berichten ophaalt via file_get_contents en dit in een variabele plaatst, dan kun je daarna de oude berichten en het nieuwe bericht samenvoegen die je vervolgens in het gastenboek.txt bestand schrijft.
Bedankt voor uw reactie
Ik ben echt nog maar een beginner, dus dat zul je me even moeten uitleggen wat ik nu precies moet gaan doen, en hoe.
Sorry
bedankt
Gewijzigd op 28/09/2011 11:51:46 door Jerry php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$contents = file_get_contents("gastenboek.txt");
$ contents .= $body;
file_put_contents("gastenboek.txt", $contents)
?>
Die drie regels i.pv. van jouw regel 13 in de code
$contents = file_get_contents("gastenboek.txt");
$ contents .= $body;
file_put_contents("gastenboek.txt", $contents)
?>
Die drie regels i.pv. van jouw regel 13 in de code
ik heb het toegepast, maar hij geeft een fout op line 17
ik weet het, ik heb $gastenboek niet in mijn script zitten, maar waar moet ik die toevoegen (als dat de fout is?)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
$contents = file_get_contents("gastenboek.txt");
$contents .= $body;
file_put_contents("gastenboek.txt", $contents);
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
$contents = file_get_contents("gastenboek.txt");
$contents .= $body;
file_put_contents("gastenboek.txt", $contents);
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
Gewijzigd op 28/09/2011 14:24:15 door Jerry php
En wat zegt de foutmelding?
Bas Kreleger op 28/09/2011 14:24:01:
En wat zegt de foutmelding?
Sorry het was op lijn 17, maar dit zegt het:
Warning: Invalid argument supplied for foreach() in /home/deb44223/domains/dj-jeremy.nl/public_html/lezen.php on line 17
die foutmelding is omdat de varaiable $gastenboek niet gedefinieerd is
Gewijzigd op 28/09/2011 14:27:51 door Ger van Steenderen
Ger van Steenderen op 28/09/2011 14:25:47:
tussen regel 15 en 17
hoe bedoel je?
lees de edit in mijn vorige reactie
Ger van Steenderen op 28/09/2011 14:28:22:
lees de edit in mijn vorige reactie
Dankje, het werkt.
ik had eerst dit geprobeert op regel 15:
file_put_contents("gastenboek.txt", $contents);
>>> Naar dit verandert <<<
$gastenboek = file_put_contents("gastenboek.txt", $contents);
Maar waarom werkt dit niet?
Gewijzigd op 28/09/2011 14:31:39 door Jerry php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
$contents = file_get_contents("gastenboek.txt");
$contents .= $body;
file_put_contents("gastenboek.txt", $contents);
$gastenboek = file("gastenboek.txt");
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
$contents = file_get_contents("gastenboek.txt");
$contents .= $body;
file_put_contents("gastenboek.txt", $contents);
$gastenboek = file("gastenboek.txt");
foreach($gastenboek as $value)
{
echo $value . "<br />";
}
?>
zo is ie goed
EDIT: ik ben al te laat :P
Gewijzigd op 28/09/2011 14:33:44 door Maikel B
Je bent $gastenboek = file_get_contents() vergeten.
Toevoeging op 28/09/2011 14:50:28:
Nu heb ik een andere vraag, nu wil ik elk bericht even scheiden met een streep of iets dergelijks, maar dat lukt me niet echt. hoe doe ik dat?
Maikel B op 28/09/2011 15:03:54:
Door elk bericht behalve het eerste te beginnen met een htmlcode regel?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
?>
$naam = $_POST['naam'];
$mail = $_POST['mail'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$body = $naam . "\n";
$body .= $mail . "\n";
$body .= $onderwerp . "\n";
$body .= $bericht . "\n";
?>
Dit kan trouwens ook korter door geen onnodige variabelen aan te maken:
Naam
Onderwerp
Bericht
____________________________________________________________________________
Naam
Onderwerp
Bericht
____________________________________________________________________________
etc etc etc
Hoe doe ik dat?