Script slaat niets op in de database
Hallo allemaal,
Het onderstaande script wat ik gemaakt heb wil niet opslaan in de database, en de koppeling met de database werkt wel als ik niet de gegevens uit het formulier haal. Maar het lijkt erop dat hij niet ziet wat ik invoer.
<form action="index2.php" method="post" name="form1" target="_blank" id="form1">
<table width="700" border="0">
<tr>
<td width="150"><span class="style8">Naam Medewerker </span></td>
<td width="195"><span class="style8">
<label>
<input type='text' name='naam'>
</label>
</span></td>
<td width="150"><span class="style8">Werknemersnummer</span></td>
<td width="195"><input name="nummer" type="text"></td>
</tr>
<tr>
<td width="150"><span class="style8">Geboortedatum</span></td>
<td width="195"><input name="geboortedatum" type="text" /></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"><span class="style8">Datum Ziekmelding </span></td>
<td width="195"><input name="datumziek" type="text" /></td>
<td width="150"><span class="style8">Datum Betermelding </span></td>
<td width="195"><input name="datumbeter" type="text" /></td>
</tr>
<tr>
<td width="150"><span class="style8">Ziektereden</span></td>
<td width="195"><input name="ziekreden" type="text" /></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"><span class="style8">Aanvullende informatie </span></td>
<td width="195"><span class="style8">
<label>
<textarea name="overig" cols="21" rows="6"></textarea>
</label>
</span></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"> </td>
<td width="195"> </td>
<td width="150"> </td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"> </td>
<td width="195"><span class="style8">
<label>
<input type="submit" name="actie" value="Verzenden" />
</label>
</span></td>
<td width="150"> </td>
<td width="195"> </td>
</tr>
</table>
<p> </p>
</form>
Het onderstaande script wat ik gemaakt heb wil niet opslaan in de database, en de koppeling met de database werkt wel als ik niet de gegevens uit het formulier haal. Maar het lijkt erop dat hij niet ziet wat ik invoer.
<form action="index2.php" method="post" name="form1" target="_blank" id="form1">
<table width="700" border="0">
<tr>
<td width="150"><span class="style8">Naam Medewerker </span></td>
<td width="195"><span class="style8">
<label>
<input type='text' name='naam'>
</label>
</span></td>
<td width="150"><span class="style8">Werknemersnummer</span></td>
<td width="195"><input name="nummer" type="text"></td>
</tr>
<tr>
<td width="150"><span class="style8">Geboortedatum</span></td>
<td width="195"><input name="geboortedatum" type="text" /></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"><span class="style8">Datum Ziekmelding </span></td>
<td width="195"><input name="datumziek" type="text" /></td>
<td width="150"><span class="style8">Datum Betermelding </span></td>
<td width="195"><input name="datumbeter" type="text" /></td>
</tr>
<tr>
<td width="150"><span class="style8">Ziektereden</span></td>
<td width="195"><input name="ziekreden" type="text" /></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"><span class="style8">Aanvullende informatie </span></td>
<td width="195"><span class="style8">
<label>
<textarea name="overig" cols="21" rows="6"></textarea>
</label>
</span></td>
<td width="150"><span class="style10"></span></td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"> </td>
<td width="195"> </td>
<td width="150"> </td>
<td width="195"> </td>
</tr>
<tr>
<td width="150"> </td>
<td width="195"><span class="style8">
<label>
<input type="submit" name="actie" value="Verzenden" />
</label>
</span></td>
<td width="150"> </td>
<td width="195"> </td>
</tr>
</table>
<p> </p>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
include "includes/connect.php";
$actie=$_POST['actie'];
if ($actie == 'Verzenden')
{
$sql = ("INSERT INTO verzuim (personeelsnummer, naam, geboortedatum, datumziek, datumbeter, ziekreden, overig) VALUES ('$nummer', '$naam', '$geboortedatum', '$datumziek', '$datumbeter', '$ziekreden', '$overig')");
$result = mysql_query ($sql) or die (mysql_error());
echo"
De gegevens zijn succesvol naar het verzuimbureau verzonden!";
}
?>
include "includes/connect.php";
$actie=$_POST['actie'];
if ($actie == 'Verzenden')
{
$sql = ("INSERT INTO verzuim (personeelsnummer, naam, geboortedatum, datumziek, datumbeter, ziekreden, overig) VALUES ('$nummer', '$naam', '$geboortedatum', '$datumziek', '$datumbeter', '$ziekreden', '$overig')");
$result = mysql_query ($sql) or die (mysql_error());
echo"
De gegevens zijn succesvol naar het verzuimbureau verzonden!";
}
?>
Waar komen al die $vars vandaan? Uit het formulier dus. Dan moet je ook wel de $_POST['var-naam'] gebruiken. En input zo rechtstreeks in de query zetten is vragen om problemen. Gebruik mysql_real_escape_string().
Inderdaad, Als dat het script is zoals het er nu staat. Zal het niet gaan werken. Je moet idd eerst de Variabelen defineren.
dus:
dus:
Gewijzigd op 01/01/1970 01:00:00 door anne
@ anne: dit soort dingen:
is totaal zinloos. Je kopieert de ene variabele in de andere zonder er iets mee te doen. Beter zo:
is totaal zinloos. Je kopieert de ene variabele in de andere zonder er iets mee te doen. Beter zo:
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
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
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "
INSERT INTO tabelnaam
(
veld1,
veld2
)
VALUES
(
'" . mysql_real_escape_string ($_POST['veld1']) . "',
'" . mysql_real_escape_string ($_POST['veld2']) . "'
)
";
if (mysql_query ($sql)) {
if (mysql_affected_rows () == 1) {
$msg = 'record toegevoegd';
}
else {
$msg = 'niets toegevoegd';
}
}
else {
$msg = 'query mislukt: ' . htmlentities ($sql);
}
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$sql = "
INSERT INTO tabelnaam
(
veld1,
veld2
)
VALUES
(
'" . mysql_real_escape_string ($_POST['veld1']) . "',
'" . mysql_real_escape_string ($_POST['veld2']) . "'
)
";
if (mysql_query ($sql)) {
if (mysql_affected_rows () == 1) {
$msg = 'record toegevoegd';
}
else {
$msg = 'niets toegevoegd';
}
}
else {
$msg = 'query mislukt: ' . htmlentities ($sql);
}
}
?>
Je hoeft ook geen resultset van een insert query te maken :)




