registratie form werkt niet goed
hallo ik heb een stukje php script gemaakt waarbij de mensen kunnen registreren en deze informatie in de database moet komen te staan de database wordt geconnect met een stukje code:
de database ziet eruit als: id:autoincrement, naam, gebruikersnaam, geboortedatum, email, password alles met varchar ( 20 ) uiteraard.
de code + de rest van de code van de register pagina hieronder.
<html>
<head>
<title>SocialProjects | Registratie</title>
</head>
<body>
<center><div align="center"; style="background-color:#069; width:500px; height:auto; color:#FFF; border-style:solid; border-width:1px; border-color:#FFF;">
<form name="registratie" action="registratie.php?registratie" method="post" ><br />
<p><label>Gebruiksnaam:</label><br /><input type="text" name="gebruikersnaam" size="30" /></p>
<p><label>Naam:</label><br /><input type="text" name="naam" size="30" /></p>
<p><label>Geboortedatum:</label><br /><input type="text" name="geboortedatum" size="30" /></p>
<p><label>Emailadres:</label><br /><input type="text" name="email" size="30" /></p>
<p><label>Wachtwoord:</label><br /><input type="password" name="wachtwoord" size="30" /></p>
<p><input type="submit" name="registratie" value="Registreren" id="registratie"/></p>
</form>
</center>
</div>
</body>
</html>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("socialprojects");
?>
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("socialprojects");
?>
de database ziet eruit als: id:autoincrement, naam, gebruikersnaam, geboortedatum, email, password alles met varchar ( 20 ) uiteraard.
de code + de rest van de code van de register pagina hieronder.
<html>
<head>
<title>SocialProjects | Registratie</title>
</head>
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
32
33
34
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
<?php
include ("connect.php");
if(isset($_GET["register"])){
$gebruikersnaam = $_POST['gebruikersnaam'];
$email = $_POST['email'];
$password = $_POST['password'];
$naam = $_POST['naam'];
$geboortedatum = $_POST['geboortedatum'];
if($username != "" && $email != "" && $password != "" && $gebruikersnaam != "" && $geboortedatum != ""){
if(strstr($email, "@") && strstr($email, ".")){
$query = mysql_query ("SELECT * FROM users WHERE naam='".$username."'");
$numrows = mysql_num_rows($query);
if ($numrows == 0){
$password = md5 ($password);
$registratie = mysql_query ("INSERT INTO users (naam, password, email, geboortedatum, gebruikersnaam) VALUES ('".$naam."', '".$wachtwoord."', '".$email."','".$gebruikersnaam."','".$geboortedatum."')");
echo "u bent succesvol geregistreerd";
}
else{
echo"deze gebruikersnaam is reeds in gebruik!";
}
}
else{
echo " geen geldig emailadres ";
}
}
else{
echo "u heeft niet alle velden ingevuld";
}
}
?>
include ("connect.php");
if(isset($_GET["register"])){
$gebruikersnaam = $_POST['gebruikersnaam'];
$email = $_POST['email'];
$password = $_POST['password'];
$naam = $_POST['naam'];
$geboortedatum = $_POST['geboortedatum'];
if($username != "" && $email != "" && $password != "" && $gebruikersnaam != "" && $geboortedatum != ""){
if(strstr($email, "@") && strstr($email, ".")){
$query = mysql_query ("SELECT * FROM users WHERE naam='".$username."'");
$numrows = mysql_num_rows($query);
if ($numrows == 0){
$password = md5 ($password);
$registratie = mysql_query ("INSERT INTO users (naam, password, email, geboortedatum, gebruikersnaam) VALUES ('".$naam."', '".$wachtwoord."', '".$email."','".$gebruikersnaam."','".$geboortedatum."')");
echo "u bent succesvol geregistreerd";
}
else{
echo"deze gebruikersnaam is reeds in gebruik!";
}
}
else{
echo " geen geldig emailadres ";
}
}
else{
echo "u heeft niet alle velden ingevuld";
}
}
?>
<body>
<center><div align="center"; style="background-color:#069; width:500px; height:auto; color:#FFF; border-style:solid; border-width:1px; border-color:#FFF;">
<form name="registratie" action="registratie.php?registratie" method="post" ><br />
<p><label>Gebruiksnaam:</label><br /><input type="text" name="gebruikersnaam" size="30" /></p>
<p><label>Naam:</label><br /><input type="text" name="naam" size="30" /></p>
<p><label>Geboortedatum:</label><br /><input type="text" name="geboortedatum" size="30" /></p>
<p><label>Emailadres:</label><br /><input type="text" name="email" size="30" /></p>
<p><label>Wachtwoord:</label><br /><input type="password" name="wachtwoord" size="30" /></p>
<p><input type="submit" name="registratie" value="Registreren" id="registratie"/></p>
</form>
</center>
</div>
</body>
</html>
Gesponsorde koppelingen:
Database foutafhandeling?
Error_reporting ?
Wat werkt er niet aan?
Error_reporting ?
Wat werkt er niet aan?
- Zie wat functies als mysql_connect, mysql_select_db, mysql_query teruggeven, gebruik dit voor foutafhandeling met if, geen 'die'.
- Een md5 string is langer dan 20 tekens. 20 tekens is weinig. Geboortedatum hoort bijvoorbeeld ook geen varchar te zijn.
- Gebruik [code] en [/code] tags hier op het forum om code te plaatsen.
- Waarvoor dient te $_GET['register']? Je hebt toch gewoon een pagina voor het registreren?
- Controleer of een formulier is gepost doe je mte if($_SERVER['REQUEST_METHOD'] == 'POST').
- Niet onnodig variabelen kopieren.
- Zie trim, isset, empty en operators.
- Selecteer wat je wilt hebben, gebruik geen *.
- sql injections mogelijk, gebruik mysql_real_escape_string.
- Gebruik een salt voor passwords.
- Een md5 string is langer dan 20 tekens. 20 tekens is weinig. Geboortedatum hoort bijvoorbeeld ook geen varchar te zijn.
- Gebruik [code] en [/code] tags hier op het forum om code te plaatsen.
- Waarvoor dient te $_GET['register']? Je hebt toch gewoon een pagina voor het registreren?
- Controleer of een formulier is gepost doe je mte if($_SERVER['REQUEST_METHOD'] == 'POST').
- Niet onnodig variabelen kopieren.
- Zie trim, isset, empty en operators.
- Selecteer wat je wilt hebben, gebruik geen *.
- sql injections mogelijk, gebruik mysql_real_escape_string.
- Gebruik een salt voor passwords.
nou het gene wat niet werkt is dus dat hij de gegevens niet de database in gooit wat je invult bij het registreren
ik krijg overigens geen foutmeldingen
ik krijg overigens geen foutmeldingen
Gewijzigd op 15/04/2011 09:51:25 door reshadd farid



