formulier / $_POST wordt niet gevuld

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorke Knerper

Jorke Knerper

08/09/2017 09:18:01
Quote Anchor link
Hi,

Ik krijg het formulier uit de online cursus http://www.learnit.nl/gratiscursus/php-en-mysql/4 niet werkende.

Form.html ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
<html>
<head>
    <title>Formulier</title>
</head>
<body>
<form name="reactie_formulier" method="post" action="verwerk.php">
<table width="300" border="0">
  <tr>
    <td>Naam:</td>
    <td><input type="text" name="naam" /></td>
  </tr>

  <tr>
    <td>E-mail:</td>
    <td><input type="text" name="email"  /></td>
  </tr>
  <tr>
    <td>Reactie:</td>
    <td><textarea name="reactie" rows="8" cols="43"></textarea></td>

  </tr>
  <tr>
    <td></td>
    <td><input type="submit" value="verstuur" /></td>
  </tr>
</table>
</form>
</body>
</html>


Mijn PHP bestand (verwerk.php) ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
    <title>Formulier verwerken</title>
</head>
<body>
U vulde in:
<table>
<?php
echo "<tr><td>Naam: </td><td>" . $_POST['naam']  . "</td></tr>\n";
echo "<tr><td>E-mail: </td><td>" . $_POST['email']  . "</td></tr>\n";
echo "<tr><td>Reactie: </td><td>" . $_POST['reactie']  . "</td></tr>\n";
?>

</table>
</body>
</html>

Als resultaat krijg ik:

U vulde in: \n"; echo "\n"; echo "\n"; ?>
Naam: " . $_POST["naam"] . "
E-mail: " . $_POST["email"] . "
Reactie: " . $_POST["reactie"] . "

Wat doe ik fout?
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 08/09/2017 12:18:09 door - Ariën -
 
PHP hulp

PHP hulp

30/11/2024 03:31:19
 
- Ariën  -
Beheerder

- Ariën -

08/09/2017 09:22:02
Quote Anchor link
Hoe voer je het uit? Wat doe je precies?
 
Jorke Knerper

Jorke Knerper

08/09/2017 09:28:36
Quote Anchor link
Ah, opgelost,

ik hanteerde verkeerde url, file:///C:/xampp/htdocs/PHPcursus/4/form.html
in plaats van http://localhost/form.html

ik kan weer verder :)
 
- Ariën  -
Beheerder

- Ariën -

08/09/2017 09:42:50
Quote Anchor link
Inderdaad, anders wordt PHP ook niet aangeroepen.
 
Bart V B

Bart V B

08/09/2017 10:24:29
Quote Anchor link
Roep jij je url wel goed aan?
Want dit moet gewoon werken.
Hoewel, het misschien wel netter kan.

EDIT
Iets met mosterd en maaltijd...
Huh? dat is vreemd, ik zie nu pas dat mijn tijd en jullie tijd anders is?
Ik weet toch zeker dat er nog geen reacties stonden toen ik aan het posten ging.
Dat heeft nog geen 2 minuten geduurd voordat ik was ingelogd en mijn reactie heb geplaatst.
Gewijzigd op 08/09/2017 10:27:50 door Bart V B
 
- Ariën  -
Beheerder

- Ariën -

08/09/2017 10:36:34
Quote Anchor link
@Bart Zit je achter een trage proxy ofzo?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/09/2017 13:26:31
Quote Anchor link
Dit ziet er niet gezond uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
    <title>Formulier verwerken</title>
</head>
<body>
U vulde in:
<table>
<?php
echo "<tr><td>Naam: </td><td>" . $_POST['naam']  . "</td></tr>\n";
echo "<tr><td>E-mail: </td><td>" . $_POST['email']  . "</td></tr>\n";
echo "<tr><td>Reactie: </td><td>" . $_POST['reactie']  . "</td></tr>\n";
?>

</table>
</body>
</html>


Waarom?

Omdat $_POST elementen enkel bestaan als het formulier op de juiste wijze gePOST is.
Vraag je deze pagina op door de url in je url balk te typen en op enter te drukken dan wordt de pagina opgevraagd in de GET methode in plaats van de POST methode en zul je foutmeldingen krijgen als de foutmeldingen niet onderdrukt worden tenminste.

Zie ook mijn reactie hier
Gewijzigd op 09/09/2017 13:29:51 door Frank Nietbelangrijk
 
Jan te Pas

Jan te Pas

09/09/2017 18:20:38
Quote Anchor link
Wellicht een toelichting op het punt dat Frank Nietbelangrijk maakt:

Je kunt een hidden input opnemen in het formulier. En testen bij de overdracht of de variabele van de hidden input aanwezig is. Zo ja, dan doorgaan, anders melding oid.

bijgaand een voorbeeld"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if(isset($_POST['Submit'])) {

If($_POST['verify_password']!=true) {
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.