Kan geen registratie gegevens in database zetten.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ron Oudgenoeg

Ron Oudgenoeg

12/10/2010 11:47:29
Quote Anchor link
Ik heb een probleempje om data in mijn database toe te voegen (na een registratie). Ik snap dat de data die ik nu vraag nog iet helemaal compleet is (geen dubbele wachtwoord controle etc) maar het gaat er eerst om dat het word opgeslagen. Hier is een simpel formuliertje:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
<FORM ACTION="studentregistreren.php" METHOD="post">
    <TABLE CELLSPACING="2" CELLPADDING="2" BORDER="0">
        <TR>
        <TD>voornaam:</TD>
        <TD><INPUT NAME="voornaam" SIZE="30"><BR></TD>
        </TR>
        <TR>
        <TD>Tussenvoegsels:</TD>
        <TD><INPUT NAME="tussenvoegsels" SIZE="30"><BR></TD>
        </TR>
        <TR>
        <TD>Achternaam:</TD>
        <TD><INPUT NAME="vchternaam" SIZE="30"><BR></TD>
        </TR>
        <TR>
        <TD>Woonplaats:</TD>
        <TD><INPUT NAME="woonplaats" SIZE="30"><BR></TD>
        </TR>
        <TR>
        <TD>Geslacht:</TD>
        <TD><INPUT TYPE="radio" NAME="geslacht" VALUE="man" CHECKED> Man<BR>
        <INPUT TYPE="radio" NAME="geslacht" VALUE="vrouw"> Vrouw</TD>
        <TR>
        <TD>Studie:</TD>
        <TD><SELECT NAME="studie">
        <OPTION VALUE="I">I</OPTION>
        <OPTION VALUE="BI">BI</OPTION>
        <OPTION VALUE="ISM">ISM</OPTION>
        </SELECT><TD>
        </TR>
        <TR>
        <TD>Inlognaam:</TD>
        <TD><INPUT NAME="inlognaam" SIZE="30" MAXLENGTH="15"><BR></TD>
        </TR>
        <TR>
        <TD>Wachtwoord</TD>
        <TD><INPUT TYPE="password" NAME="wachtwoord" SIZE="30" MAXLENGTH="15"><BR></TD>
        <TR>
        <TD><INPUT TYPE="submit" VALUE="aanmaken"><BR></TD>
        </TR>    
    </TABLE>
</FORM>


En hier de php code:

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
30
31
32
<?php

$host
= 'localhost';
$gebruiker = 'root';
$wachtwoord = '';
$databasenaam = 'test';

$db = mysql_connect( $host, $gebruiker, $wachtwoord );
mysql_select_db( $databasenaam );

$vnaam = $_POST["voornaam"];
$tvoeg = $_POST["tussenvoegsels"];
$anaam = $_POST["achternaam"];
$wplaats = $_POST["woonplaats"];
$geslacht = $_POST["geslacht"];
$studie = $_POST["studie"];
$inaam = $_POST["inlognaam"];
$pass = $_POST["wachtwoord"];


$query = "INSERT INTO studenten(VOORNAAM, TUSSENVOEGSELS, ACHTERNAAM, WOONPLAATS, GESLACHT, STUDIE, INLOGNAAM, WACHTWOORD)
VALUES ("
.$vnaam.", ".$tvoeg.", ".$anaam.", ".$wplaats.", ".$geslacht.", ".$studie.", ".$inaam.", ".$pass.")";

mysql_query( $query);




mysql_close($db);


?>


Ik krijg nu geen parse errors meer, maar de data word ook niet opgeslagen in de database.

Iemand tips?
Gewijzigd op 12/10/2010 12:22:03 door Ron Oudgenoeg
 
PHP hulp

PHP hulp

22/11/2024 17:09:24
 
- Mark -

- Mark -

12/10/2010 11:56:48
Quote Anchor link
Kijk eens naar de kleuren, Je bent een " vergeten op regel 14. Het onnodig copieren van variabelen is trouwens niet nodig en ook niet aan te raden want nu weet je niet waar ze vanaf komen. Regel 20 en 21 heef eenzelfde soort probleem. Haal je vars ook buiten de quotes.
 
Teun Hesseling

Teun Hesseling

12/10/2010 12:02:09
Quote Anchor link
je mist inderdaad bij woonplaats een " en verder je values moeten zo '".$naam."'+ na pass") geen ; alleen de ";

Toevoeging op 12/10/2010 12:09:37:

+ je studie niet in de select te doen als daar geen value bij komt kijken
Gewijzigd op 12/10/2010 12:08:54 door Teun Hesseling
 
- SanThe -

- SanThe -

12/10/2010 12:10:43
Quote Anchor link
Script is lek => SQL-Injection.
Nette foutafhandeling inbouwen kan nooit kwaad.
 



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.