Formulier schrijft geen gegevens weg naar bestand

Status
Niet open voor verdere reacties.

Tijssen

Gebruiker
Lid geworden
31 aug 2009
Berichten
50
Goedemorgen,
Ik ben een beginner met PHP en mijn eerste formulier aan het maken. Wanneer ik het formulier submit worden de gegevens niet zichtbaar in het bestand, er verschijnt zelfs een hele lege pagina. Kan iemand mij op weg helpen waar het probleem zit?
Ik gebruik een XAMPP-server. Het uitvoeren van PHP bestanden functioneert normaal.

HTML formulier:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Feedback form</title>
</head>
<body>
Please complete this form to submit your feedback <br />
<form action="handle_form.php" method="post">
Mr. <input type="radio" name="title" value="Mr." />
Mrs. <input type="radio" name="title" value="Mrs." />
Ms. <input type="radio" name="title" value="Ms." />
<br />
Name: <input type="text" name="name" size="20" />
<br />
Email adress: <input type="text" name="name" size="20" />
<br />
Response: <select name="response">
<option value="excellent">This is excellent</option>
<option value="Okay">This is Okay</option>
<option value="boring">This is boring</option>
</select>
</br>
Comments: <textarea name="comments" rows="3" col="30">
</textarea>
<br />
<input type="submit" name="submit" value="Send my feedback" />
</form>
<!--Script 3.1 - feedback.html-->
</body>
</html>

Bestand
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Your Feedback</title>
</head>
<body>
<?php
ini_set('dislay_errors',1);
error_reporting(E_ALL&~E_NOTICE);
print"Thank you $title $name for your comments";
print"you stated that you find this example to be $response and added:
$comments";
?>

</body>
</html>
 
Ik zie nergens code die iets in een bestand weg zou moeten schrijven? En ik ga er vanuit dat je andere file inderdaad handle_form.php heet?


Daarnaast weet ik niet waar je deze code vandaan haalt maar dit is een hele foute tutorial... als deze file zou werken heb je echt hele gevaarlijke instellingen op je webserver staan en niemand zou het je op deze manier aan moeten leren. Als het zelfs nog toegestaan is met moderne versies van PHP, want volgensmij hebben ze het er voor de veiligheid helemaal uitgehaald.
 
Ander script gevonden, werkt wel.

Ik zie nergens code die iets in een bestand weg zou moeten schrijven? En ik ga er vanuit dat je andere file inderdaad handle_form.php heet?


Daarnaast weet ik niet waar je deze code vandaan haalt maar dit is een hele foute tutorial... als deze file zou werken heb je echt hele gevaarlijke instellingen op je webserver staan en niemand zou het je op deze manier aan moeten leren. Als het zelfs nog toegestaan is met moderne versies van PHP, want volgensmij hebben ze het er voor de veiligheid helemaal uitgehaald.

Frats,
De code die de gegevens van het formulier wegschrijft is: <form action="handle_form.php" method="post">
Het script komt uit een boek "PHP voor het www". Het is geschreven net toen PHP versie 5 in de maak was. Ik kan niet beoordelen of het een slecht boek is. De schrijver geeft ook aan dat het script onveilig is en er later in het boek een veiliger script aangeleerd wordt. Ik heb wel een eenvoudig formulier gevonden op www.w3schools.com en dit werkt wel.

Formulier
<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

Welcome.php
<html>
<body>

Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>
 
<form action="handle_form.php" method="post">

Dit doet niets anders dan aangegeven waar de data heengestuurd wordt, het schrijft niks weg. Die file moet de data behandelen.

Ik vermoed dat het probleem inderdaad is dat voor de veiligheid de opties in dat oude script uitgeschakeld zijn, zeker gezien je andere script het wel doet. Dan denk ik dat je de methode die in het tweede script gebruikt wordt overal zult moeten hanteren (dus $_POST['veldnaam'] ipv $veldnaam) om het te laten werken.

Of het een slecht boek is kan ik zo ook niet beoordelen; alleen dat het een slecht script is. Maar als het boek dat al aangeeft en het je daarna beter leert hoeft het nog niet zo erg te zijn ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan