pass1 en pass2 controleren
Ik ben nog steedsbezig met m'n eerste profielensysteem en heb weer een vastlopertje:
Ik weet nu eindelijk hoe ik de gegevens die een gebruiker in een html form invult in mijn database krijg, maar nu wil ik in het registratie formulier pass 1 en pass 2 (bijv) checken.
En dan moet het pas de db in gaan als het ook klopt.
Ik heb nu dit in m'n registratie pagina staan :
Code (php)
Ik neem aan dat ik hier iets moet verbouwen zodat pass1 en pass 2 gechecked worden en dan pas de db in gaan.
Alvast bedankt,
Karim
Code (php)
Een simpele vergelijking en niet meer dan dat
Ik wil als de wachtwoorden gelijk zijn aan elkaar ze op deze manier in een database zetten:
Code (php)
1
2
3
2
3
<?php
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
?>
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
?>
Alvast bedankt,
Karim
Karim schreef op 23.07.2007 20:31:
Ik wil eigenlijk niets doen bij het doe iets gedeelte.
Ik wil als de wachtwoorden gelijk zijn aan elkaar ze op deze manier in een database zetten:
Alvast bedankt,
Karim
Ik wil als de wachtwoorden gelijk zijn aan elkaar ze op deze manier in een database zetten:
Code (php)
1
2
3
2
3
<?php
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
?>
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
?>
Alvast bedankt,
Karim
Leg het even beter uit. Bedoel je dat hij bij de regestratie gaat controleren? Of bij het inloggen??
Je geeft zelf het antwoord al lijkt mij.
Ziet de mysql er bij jou uit voor inloggen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if($_POST['pass'] == $_POST['pass2']){
// doe iets -> voer de pass in het mysql =)
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
}
else {
// pass is niet gelijk aan pass2
echo "Je wachtwoorden zijn niet gelijk!"; // of iets dergelijks...
}
?>
if($_POST['pass'] == $_POST['pass2']){
// doe iets -> voer de pass in het mysql =)
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
}
else {
// pass is niet gelijk aan pass2
echo "Je wachtwoorden zijn niet gelijk!"; // of iets dergelijks...
}
?>
Edit:
Is dit wat je bedoelt?
Gewijzigd op 01/01/1970 01:00:00 door Chris
Quote:
Hieruit maak ik op dat je wilt checken of deze 2 wel aan elkaar gelijk zijn. Dat lijkt mij ook de enige mogelijkheid, ik zou niet weten wat je nog meer kunt checken aan 2 door de gebruiker ingegeven wachtwoorden.maar nu wil ik in het registratie formulier pass 1 en pass 2 (bijv) checken
Je weet niet hoe je wachtwoorden kunt vergelijken, maar wilt al wel een profielensysteem gaan bouwen...
Let er wel op dat je eerst checkt of (bijv) $_POST['pass1'] niet empty is, en dan pas of ze gelijk zijn. Je zou bovendien nog een minimale lengte kunnen checken.
Nadat er dus gecontroleerd is of de 2 velden gelijk zijn aan elkaar moet er dus een goed resultaat de db in.
Hier even een kleine samenvatting van hoe het er ongeveer uit ziet:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
<form>
<label>pass
<input type="pass">
</label>
<label>pass2
<input type="pass">
</label>
if(!empty($_POST['pass']))
{
echo "U heeft geen wachtwoord ingevuld! Vul hem aub in.";
}
if(!empty($_POST['pass'2]))
{
echo "U heeft geen wachtwoord2 ingevuld! Vul hem aub in.";
}
//Hier moet dan ook gecontrolleerd worden of de 2 pass velden gelijk zijn aan elkaar
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
//Dan moet hij zo dus de db in
?>
<form>
<label>pass
<input type="pass">
</label>
<label>pass2
<input type="pass">
</label>
if(!empty($_POST['pass']))
{
echo "U heeft geen wachtwoord ingevuld! Vul hem aub in.";
}
if(!empty($_POST['pass'2]))
{
echo "U heeft geen wachtwoord2 ingevuld! Vul hem aub in.";
}
//Hier moet dan ook gecontrolleerd worden of de 2 pass velden gelijk zijn aan elkaar
mysql_query("INSERT INTO `gasten` (`user`, `pass`) VALUES ('".$_POST['user']."', '".$_POST['pass']."')");
//Dan moet hij zo dus de db in
?>
Zo wil ik dus een veilige registratie pagina maken.
(Al begreep ik dat deze opbouw van het script al niet redelijk veilig was)
Alvast bedankt,
Karim
Zie mijn reactie van 23.07.2007 17:06, daar staat de kant-en-klare oplossing. Nog even op de juiste plek in je code zetten, mag je zelf doen, en klaar is klara.
<html>
<head>
<title> Registreren op Seriousmusic.nl </title>
</head>
<body>
<form method="post" action="">
<label>usernaam
<input type="text" name="user" id="user" />
</label>
<label>mail
<input type="text" name="mail" id="mail" />
</label>
<label>mail2
<input type="text" name="mail2" id="mail2" />
</label>
<label>pass
<input type="pass" name="pass" id="pass" />
</label>
<label>pass2
<input type="pass" name="pass2" id="pass2" />
</label>
<label>Verzenden
<input type="submit" name="Submit" id="Submit" value="Wordt lid!" />
</label>
</form>
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
43
44
45
46
47
48
49
<?php
include("database.php");
if(isset($_POST['Submit']))
{
if(!empty($_POST['user']))
{
echo "U heeft geen username ingevuld! Vul hem aub in.";
}
if(!empty($_POST['mail']))
{
echo "U heeft geen mailadres ingevuld, vul hem in aub.";
}
if(!empty($_POST['mail2']))
{
echo "U heeft geen controlle van uw mailadres ingevuld, vul hem in aub.";
}
if($_POST['mail'] == $_POST['mail2']){
mysql_query("INSERT INTO `leden` (`mail`) VALUES ( '".$_POST['mail']."')");
}
else {
echo "De mail adressen zijn niet hetzelfde!";
}
if(!empty($_POST['pass']))
{
echo "U heeft geen password ingevuld, vul hem in aub.";
}
if(!empty($_POST['pass2']))
{
echo "U heeft geen controlle van uw wachtwoord ingevuld, vul hem in aub.";
}
if($_POST['pass'] == $_POST['pass2']){
mysql_query("INSERT INTO `leden` (`pass`) VALUES ( '".$_POST['pass']."')");
}
else {
echo "De wachtwoorden zijn niet hetzelfde!";
}
mysql_query("INSERT INTO `leden` (`user`) VALUES ( '".$_POST['user']."')");
?>
include("database.php");
if(isset($_POST['Submit']))
{
if(!empty($_POST['user']))
{
echo "U heeft geen username ingevuld! Vul hem aub in.";
}
if(!empty($_POST['mail']))
{
echo "U heeft geen mailadres ingevuld, vul hem in aub.";
}
if(!empty($_POST['mail2']))
{
echo "U heeft geen controlle van uw mailadres ingevuld, vul hem in aub.";
}
if($_POST['mail'] == $_POST['mail2']){
mysql_query("INSERT INTO `leden` (`mail`) VALUES ( '".$_POST['mail']."')");
}
else {
echo "De mail adressen zijn niet hetzelfde!";
}
if(!empty($_POST['pass']))
{
echo "U heeft geen password ingevuld, vul hem in aub.";
}
if(!empty($_POST['pass2']))
{
echo "U heeft geen controlle van uw wachtwoord ingevuld, vul hem in aub.";
}
if($_POST['pass'] == $_POST['pass2']){
mysql_query("INSERT INTO `leden` (`pass`) VALUES ( '".$_POST['pass']."')");
}
else {
echo "De wachtwoorden zijn niet hetzelfde!";
}
mysql_query("INSERT INTO `leden` (`user`) VALUES ( '".$_POST['user']."')");
?>
</body>
</html>
Alvast bedankt,
Karim
Gewijzigd op 01/01/1970 01:00:00 door Karim
Offtopic: Backtics ` horen niet thuis in SQL! Gooi deze zooi dus weg, ritueel verbranden die troep!
Vroeg of laat ga je daarmee de mist in en loop je zelfs de kans dat jouw database wordt leeggegooid (afhankelijk van de fout die je maakt).
Daar kan ik dus ook gewoon ' voor gebruiken?
ps. Het enige waar je quotes voor gebruikt is bij strings in de query.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Karim schreef op 28.07.2007 18:41:
Nee, een backtic ` is wat anders dan een quote '.Daar kan ik dus ook gewoon ' voor gebruiken?
Een backtic verneukt jouw SQL en uiteindelijk ook de database, een quote zet je om een string.
Zoals je ziet, geen backtics in deze query maar wel een paar quotes om een string. De integer 23 kan zonder quotes in de query staan, maar mag je ook tussen quotes zetten. tabel- en kolomnamen staan nooit tussen quotes of backtics.