Gastenboek kan niet op .txt schrijven
Hallo, ik ben een gastenboek aan het maken met een .txt file om de reacties in op te slaan, maar het lukt niet om de reacties op te slaan. Kan iemand mij alstublieft helpen?
dit is de code:
<html>
<head>
<title>Gastenboek</title>
</head>
<body>
<h2>Gastenboek</h2>
<form name="form1" method="post">
Naam : <input type="text" name="naam"><br>
E-mail : <input type="text" name="email"><br>
Bijdrage : <textarea cols="40" rows="6" name="bijdrage"></textarea><br>
<input type="hidden" name="datum"
value="">
<hr>
<input type="submit" value="Bijdrage verzenden">
<input type="reset" name="reset" value="Velden leegmaken"><br>
</form>
</body>
</html>
Alvast bedank
dit is de code:
<html>
<head>
<title>Gastenboek</title>
</head>
<body>
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$bestandsnaam = "gastenboek.txt";
if (file_exists($bestandsnaam)){
$fp = fopen ("gastenboek.txt", "r");}
?>
$bestandsnaam = "gastenboek.txt";
if (file_exists($bestandsnaam)){
$fp = fopen ("gastenboek.txt", "r");}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if (!empty($_POST)){
$bestandsnaam="gastenboek.txt";
fopen ($bestandsnaam, "a+");
fwrite ($fp, $_POST ["datum"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["naam"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["email"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["bijdrage"]);
fwrite ($fp, $_POST ["\n"]);
fclose ($fp);
echo "De bijdrage is opgeslagen in het gastenboek!";
}
?>
if (!empty($_POST)){
$bestandsnaam="gastenboek.txt";
fopen ($bestandsnaam, "a+");
fwrite ($fp, $_POST ["datum"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["naam"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["email"]);
fwrite ($fp, $_POST ["\n"]);
fwrite ($fp, $_POST ["bijdrage"]);
fwrite ($fp, $_POST ["\n"]);
fclose ($fp);
echo "De bijdrage is opgeslagen in het gastenboek!";
}
?>
<h2>Gastenboek</h2>
<form name="form1" method="post">
Naam : <input type="text" name="naam"><br>
E-mail : <input type="text" name="email"><br>
Bijdrage : <textarea cols="40" rows="6" name="bijdrage"></textarea><br>
<input type="hidden" name="datum"
value="">
<hr>
<input type="submit" value="Bijdrage verzenden">
<input type="reset" name="reset" value="Velden leegmaken"><br>
</form>
</body>
</html>
Alvast bedank
waarom geen database
stukken makkelijker - overzichtelijker
volgens mij licht de probleem hier
if (!empty($_POST))
dat moet je koppelen aan een veldnaam $_POST['veldnaam']
stukken makkelijker - overzichtelijker
volgens mij licht de probleem hier
if (!empty($_POST))
dat moet je koppelen aan een veldnaam $_POST['veldnaam']
Ik ben nog niet echt zo erg zo heel erg goed in websites maken,
wat is een veldnaam in dit geval?
wat is een veldnaam in dit geval?
Databases zijn veel eenvoudiger dan uw manier. Ik denk dat je er sneller weg mee zal zijn, dan met wat je nu aan het proberen bent.
ja, maar we moesten het van onze leren ook leren met .txt
Het lukt niet. Wat lukt er dan niet?
Controleren of een post is gedaan doe je met if($_SERVER['REQUEST_METHOD'] == 'POST').
Verder is het inderdaad zo dat als je geen database wilt gebruiken je beter niet op deze manier data kan opslaan.
Een betere manier is xml.
En waar komt $_POST["\n"] vandaan?
Misschien is het inderdaad handig dat je eerst gewoon de basis leert (met nonsens) en dat je later betere code schrijft.
Controleren of een post is gedaan doe je met if($_SERVER['REQUEST_METHOD'] == 'POST').
Verder is het inderdaad zo dat als je geen database wilt gebruiken je beter niet op deze manier data kan opslaan.
Een betere manier is xml.
En waar komt $_POST["\n"] vandaan?
Misschien is het inderdaad handig dat je eerst gewoon de basis leert (met nonsens) en dat je later betere code schrijft.
dank u wel, jordi, het is me gelukt, .txt kan nu worden geschreven
Toevoeging op 18/12/2010 15:09:55:
alle fouten zijn er nu uit gehaald en het werkt gewoon goed hoor =P
oja, $_POST["\n"] hoort gewoon "\n" te zijn
Toevoeging op 18/12/2010 15:09:55:
alle fouten zijn er nu uit gehaald en het werkt gewoon goed hoor =P
oja, $_POST["\n"] hoort gewoon "\n" te zijn




