Script slaat niets op in de database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter van der Voort

Peter van der Voort

12/03/2008 23:25:00
Quote Anchor link
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">&nbsp;</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">&nbsp;</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">&nbsp;</td>
</tr>
<tr>
<td width="150">&nbsp;</td>
<td width="195">&nbsp;</td>
<td width="150">&nbsp;</td>
<td width="195">&nbsp;</td>
</tr>
<tr>
<td width="150">&nbsp;</td>
<td width="195"><span class="style8">
<label>
<input type="submit" name="actie" value="Verzenden" />
</label>
</span></td>
<td width="150">&nbsp;</td>
<td width="195">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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!"
;
  }

  ?>
 
PHP hulp

PHP hulp

26/12/2024 02:05:50
 
- SanThe -

- SanThe -

13/03/2008 02:27:00
Quote Anchor link
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().
 
Anne

anne

24/03/2008 22:04:00
Quote Anchor link
Inderdaad, Als dat het script is zoals het er nu staat. Zal het niet gaan werken. Je moet idd eerst de Variabelen defineren.

dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$naam = $_POST['naam'];
Gewijzigd op 01/01/1970 01:00:00 door anne
 
Jan Koehoorn

Jan Koehoorn

24/03/2008 22:09:00
Quote Anchor link
@ anne: dit soort dingen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $naam
= $_POST['naam'];
?>

is totaal zinloos. Je kopieert de ene variabele in de andere zonder er iets mee te doen. Beter zo:
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
<?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);
        }
    }

?>
 
Michael

michael

24/03/2008 22:21:00
Quote Anchor link
Je hoeft ook geen resultset van een insert query te maken :)
 



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.