wachtwoord controle
Ik heb hier een registratieformulier.
hoe kan ik hier wachtwoord controle op maken?
Formulier:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
<form action="#" method="post" id="contactform">
Gebruikersnaam: <br />
<div id="inputnaam" style="float: left;"><input type="text" name="naam" value="<?php echo $_POST['naam']; ?>" class="text" /></div><div id="naam" style="float: left;"></div><div style="clear: both;"></div><br />
Wachtwoord:<br />
<div id="inputwachtwoord" style="float: left;"><input type="password" name="wachtwoord" value="<?php echo $_POST['wachtwoord']; ?>" class="text" /></div><div id="wachtwoord" style="float: left;"></div><div style="clear: both;"></div><br />
Wachtwoord (controle):<br />
<div id="inputwachtwoord" style="float: left;"><input type="password" name="wachtwoord" value="<?php echo $_POST['wwcontrole']; ?>" class="text" /></div><div id="wachtwoord" style="float: left;"></div><div style="clear: both;"></div><br />
Email adres:<br />
<div id="inputemail" style="float: left;"><input type="text" name="email" value="<?php echo $_POST['email']; ?>" class="text" /></div><div id="mail" style="float: left;"></div><div style="clear: both;"></div><br /><br />
<input type="checkbox" name="check" />Ik ga akkoord met de <a onclick="document.getElementById('av').style.display = 'block';">algemene voorwaarden</a><br />
<div id="av" style="display: none;">De voorwaarden die hieronder worden genoemd, zijn geldig op de gehele site. <br /><textarea name="Naam" readonly='readonly' rows='8' style="color: #ACA899; cursor: default; width: 100%;">
?>
<form action="#" method="post" id="contactform">
Gebruikersnaam: <br />
<div id="inputnaam" style="float: left;"><input type="text" name="naam" value="<?php echo $_POST['naam']; ?>" class="text" /></div><div id="naam" style="float: left;"></div><div style="clear: both;"></div><br />
Wachtwoord:<br />
<div id="inputwachtwoord" style="float: left;"><input type="password" name="wachtwoord" value="<?php echo $_POST['wachtwoord']; ?>" class="text" /></div><div id="wachtwoord" style="float: left;"></div><div style="clear: both;"></div><br />
Wachtwoord (controle):<br />
<div id="inputwachtwoord" style="float: left;"><input type="password" name="wachtwoord" value="<?php echo $_POST['wwcontrole']; ?>" class="text" /></div><div id="wachtwoord" style="float: left;"></div><div style="clear: both;"></div><br />
Email adres:<br />
<div id="inputemail" style="float: left;"><input type="text" name="email" value="<?php echo $_POST['email']; ?>" class="text" /></div><div id="mail" style="float: left;"></div><div style="clear: both;"></div><br /><br />
<input type="checkbox" name="check" />Ik ga akkoord met de <a onclick="document.getElementById('av').style.display = 'block';">algemene voorwaarden</a><br />
<div id="av" style="display: none;">De voorwaarden die hieronder worden genoemd, zijn geldig op de gehele site. <br /><textarea name="Naam" readonly='readonly' rows='8' style="color: #ACA899; cursor: default; width: 100%;">
?>
Submit:
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
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
<?php
if (isset($_POST['submit']))
{
if (empty($_POST['naam']))
{
echo '<div id="rederror"><center>Vul een gebruikersnaam in!</center></div><br>';
}elseif (empty($_POST['wachtwoord']))
{
echo '<div id="rederror"><center>Vul een wachtwoord in!</center></div><br>';
}elseif (empty($_POST['email']))
{
echo '<div id="rederror"><center>Vul een email adres in!</center><br></div>';
}elseif (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['email'])) {
echo '<div id="rederror"><center>Vul een geldig email adres in!</center></div><br>';
}elseif (mysql_num_rows(mysql_query("SELECT id FROM leden WHERE naam = '" . mysql_real_escape_string($_POST['naam']) . "'")) != '0')
{
echo '<div id="rederror"><center>Er bestaat al een lid met de naam ' . htmlentities($_POST['naam']) . '</center></div>';
}elseif (mysql_num_rows(mysql_query("SELECT id FROM leden WHERE email = '" . mysql_real_escape_string($_POST['email']) . "'")) != '0')
{
echo '<div id="rederror"><center>Er bestaat al een lid met het emailadres ' . htmlentities($_POST['email']) . '</center></div><br>';
}elseif (empty($_POST['check'])){
echo '<div id="rederror"><center>Je dient akkoord te gaan met de algemene voorwaarden</center></div><br>';
}else{
$naam = $_POST['naam'];
$naam = str_replace(".",'',$naam);
mysql_query("INSERT INTO leden (naam, wachtwoord, email, status, ingelogd, ref, ip) VALUES ('" . mysql_real_escape_string(trim($naam)) . "', '" . mysql_real_escape_string(md5(sha1($_POST['wachtwoord']))) . "', '" . mysql_real_escape_string($_POST['email']) . "', '0', '1','" . $_SESSION['ref'] . "','" . $_SERVER['REMOTE_ADDR'] . "')") or die(mysql_error());
$_SESSION['login'] = $_POST['naam'];
mysql_query("INSERT INTO pb (afzender,bericht,voor,onderwerp,tijd) VALUES ('Roel','Hallo " . $_SESSION['login'] . ",<br /><br />Welkom op Frixis<br />Wil je meteen beginnen met het bouwen van je website? <a href=\"hoemaakik\">Klik hier</a> om te kijken hoe je snel kunt beginnen!<br />Indien je vragen hebt, mag je mij altijd een berichtje sturen!<br /><br />Met vriendelijke groeten,<br />Georg<br />Talk-it','".$_SESSION['login']."','Welkom op Frixis',now())") or die(mysql_error());
mysql_query("INSERT INTO paginainstelling (titel,eigenaar,menu) VALUES ('Mijn eerste pagina','" . mysql_real_escape_string($_POST['naam']) . "','0')") or die(mysql_error());
echo '<div id="greenerror"><center>Je bent aangemeld, <a href="accountinstellingen">klik hier</a></center></div><br>';
}
}
?>
if (isset($_POST['submit']))
{
if (empty($_POST['naam']))
{
echo '<div id="rederror"><center>Vul een gebruikersnaam in!</center></div><br>';
}elseif (empty($_POST['wachtwoord']))
{
echo '<div id="rederror"><center>Vul een wachtwoord in!</center></div><br>';
}elseif (empty($_POST['email']))
{
echo '<div id="rederror"><center>Vul een email adres in!</center><br></div>';
}elseif (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['email'])) {
echo '<div id="rederror"><center>Vul een geldig email adres in!</center></div><br>';
}elseif (mysql_num_rows(mysql_query("SELECT id FROM leden WHERE naam = '" . mysql_real_escape_string($_POST['naam']) . "'")) != '0')
{
echo '<div id="rederror"><center>Er bestaat al een lid met de naam ' . htmlentities($_POST['naam']) . '</center></div>';
}elseif (mysql_num_rows(mysql_query("SELECT id FROM leden WHERE email = '" . mysql_real_escape_string($_POST['email']) . "'")) != '0')
{
echo '<div id="rederror"><center>Er bestaat al een lid met het emailadres ' . htmlentities($_POST['email']) . '</center></div><br>';
}elseif (empty($_POST['check'])){
echo '<div id="rederror"><center>Je dient akkoord te gaan met de algemene voorwaarden</center></div><br>';
}else{
$naam = $_POST['naam'];
$naam = str_replace(".",'',$naam);
mysql_query("INSERT INTO leden (naam, wachtwoord, email, status, ingelogd, ref, ip) VALUES ('" . mysql_real_escape_string(trim($naam)) . "', '" . mysql_real_escape_string(md5(sha1($_POST['wachtwoord']))) . "', '" . mysql_real_escape_string($_POST['email']) . "', '0', '1','" . $_SESSION['ref'] . "','" . $_SERVER['REMOTE_ADDR'] . "')") or die(mysql_error());
$_SESSION['login'] = $_POST['naam'];
mysql_query("INSERT INTO pb (afzender,bericht,voor,onderwerp,tijd) VALUES ('Roel','Hallo " . $_SESSION['login'] . ",<br /><br />Welkom op Frixis<br />Wil je meteen beginnen met het bouwen van je website? <a href=\"hoemaakik\">Klik hier</a> om te kijken hoe je snel kunt beginnen!<br />Indien je vragen hebt, mag je mij altijd een berichtje sturen!<br /><br />Met vriendelijke groeten,<br />Georg<br />Talk-it','".$_SESSION['login']."','Welkom op Frixis',now())") or die(mysql_error());
mysql_query("INSERT INTO paginainstelling (titel,eigenaar,menu) VALUES ('Mijn eerste pagina','" . mysql_real_escape_string($_POST['naam']) . "','0')") or die(mysql_error());
echo '<div id="greenerror"><center>Je bent aangemeld, <a href="accountinstellingen">klik hier</a></center></div><br>';
}
}
?>
Mvg, Henke
Gewijzigd op 28/02/2011 21:21:03 door Henke van der bunt
- Om te beginnen: nooit controleren op de waarde van de submit knop.
vervang
if (isset($_POST['submit'])) {
door
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- Zet je code tussen [code][/code], niet tussen <?php ?>, wanneer het geen php is.
- Zou je niet een aantal van die errors groeperen?
Nu kan je bv. mogelijk omwille van drie verschillende redenen iets fout doen met je e-mail adres. En telkens moet je dan opnieuw proberen, opnieuw verzenden...
Een beetje van het goede te veel, nee?
Je zou kunnen afstappen van dat if/elseif/elseif/elseif...
Je zou kunnen al die elseif() vervangen door if(); nu ja, toch de meeste.
En dan krijgt de gebruiker direct al de fouten ipv. telkens 1 tegelijk.
Gewijzigd op 01/03/2011 13:20:05 door Kris Peeters