POST INTO probleem
ik heb dit als code en hij geeft de error aan en post geen gegeven sin de database. ik zie op het zicht geen problemen. jullie wel?
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
26
27
28
29
30
31
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
30
31
<?php
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table width="400" border="1">
<tr>
<td>naam</td>
<td><label for="textfield"></label>
<input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>voornaam</td>
<td><label for="textfield2"></label>
<input type="text" name="voornaam" id="voornaam" /></td>
</tr>
<tr>
<td>woonplaats</td>
<td><label for="textfield3"></label>
<input type="text" name="woonplaats" id="woonplaats" /></td>
</tr>
<tr>
<td>email</td>
<td><label for="textfield2"></label>
<input type="text" name="email" id="email" /> </td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="sent" id="sent" value="Submit" /></td>
</tr>
</table>
</form>
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table width="400" border="1">
<tr>
<td>naam</td>
<td><label for="textfield"></label>
<input type="text" name="naam" id="naam" /></td>
</tr>
<tr>
<td>voornaam</td>
<td><label for="textfield2"></label>
<input type="text" name="voornaam" id="voornaam" /></td>
</tr>
<tr>
<td>woonplaats</td>
<td><label for="textfield3"></label>
<input type="text" name="woonplaats" id="woonplaats" /></td>
</tr>
<tr>
<td>email</td>
<td><label for="textfield2"></label>
<input type="text" name="email" id="email" /> </td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="sent" id="sent" value="Submit" /></td>
</tr>
</table>
</form>
?>
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
if (isset($_POST["sent"])) {
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
//tabelnaam veranderen naar klantgegevens
$res = "INSERT INTO anthonykekandi (naam, voornaam, woonplaats, email) VALUES('$naam', '$voornaam', '$woonplaats', '$email')";
//declare in the order variable
$result = mysql_query($res); //order executes
if($result){
echo'gegevens met succes opgeslagen <a href="/vacatures.php">klik hier</a> om naar het overzicht te gaan <br />';
} else{
echo("<br>Input data is fail");
}
}
?>
if (isset($_POST["sent"])) {
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
//tabelnaam veranderen naar klantgegevens
$res = "INSERT INTO anthonykekandi (naam, voornaam, woonplaats, email) VALUES('$naam', '$voornaam', '$woonplaats', '$email')";
//declare in the order variable
$result = mysql_query($res); //order executes
if($result){
echo'gegevens met succes opgeslagen <a href="/vacatures.php">klik hier</a> om naar het overzicht te gaan <br />';
} else{
echo("<br>Input data is fail");
}
}
?>
Even wat opmerkingen:
- Gebruik if($_SERVER['REQUEST_METHOD']=="POST") { om te kijken of een formulier verstuurd is, i.p.v. een enkele isset().
- Lijn 4 t/m 7 is onnodig, want je hebt al de beschikking over de $_POST-variabelen die je kan gebruiken. Tenzij je bewerkt... Zie de volgende tip...
- Beveilig je $_POST-variabelen tegen SQL-injection met mysql_real_escape_string(). Dit zou je in je lijn 4 t/m 7 kunnen doen, zodat dit toch nuttig is. Persoonlijk raad ik aan om de direct in de query deze toe te passen zodat je niks over het hoofd ziet.
- De label-for's corresponderen niet met de id's..
mysql_error te kijken.
Dit moet je NOOIT in een productie omgeving naar het scherm printen, maar in een test omgeving is het natuurlijk wel handig.
Zolang je niet meer info opvraagt over de echte error blijft het voor iedereen gissen wat het probleem is. Misschien dus handig om even naar Dit moet je NOOIT in een productie omgeving naar het scherm printen, maar in een test omgeving is het natuurlijk wel handig.
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
if (isset($_POST["sent"])) {
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
//tabelnaam veranderen naar klantgegevens
$res = "INSERT INTO aply (naam, voornaam, woonplaats, email) VALUES('$naam', '$voornaam', '$woonplaats', '$email')";
//declare in the order variable
$result = mysql_query($res); //order executes
if($result){
echo'gegevens met succes opgeslagen <a href="/vacatures.php">klik hier</a> om naar het overzicht te gaan <br />';
} else{
echo mysql_error();
}
}
?>
if (isset($_POST["sent"])) {
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
//tabelnaam veranderen naar klantgegevens
$res = "INSERT INTO aply (naam, voornaam, woonplaats, email) VALUES('$naam', '$voornaam', '$woonplaats', '$email')";
//declare in the order variable
$result = mysql_query($res); //order executes
if($result){
echo'gegevens met succes opgeslagen <a href="/vacatures.php">klik hier</a> om naar het overzicht te gaan <br />';
} else{
echo mysql_error();
}
}
?>
Gewijzigd op 26/04/2013 18:19:41 door anthony de meulemeester