Formulierte verwerken!?
Daar ben ik weer met een nieuwe vraag n.l.:
Ik ben bezig met een login systeempje, kzit op de registreer pagina...
Als ik gegevens invul die al bestaan in de database moet dat worden aangegeven. Nu zit ik met een probleempje met de if's (het is aangegeven in de code) graag je reactie op deze code en hoe ik zoiets kan verhelpen (misschien zie je ook nog wel een ander foute ;-))
Marien den Besten
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
50
51
52
53
54
55
56
57
58
59
60
61
62
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
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
if (!empty($_POST)){
// Eerst controleren of inlognaam (= e-mailadres) al bestaat in database
$naam = $_POST["naam"];
$email = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
$query = "SELECT * from users WHERE email='$email';";
$query2 = "SELECT * from users WHERE naam='$naam';";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$result2 = mysql_query($query2) or die ("FOUT: " . mysql_error());
if (mysql_num_rows($result) > 0 || mysql_num_rows($result2) > 0)
{
echo "<h5>Registeren</h5>Welkom, u kunt zich hier registreren.<hr><form name=\"form1\" method=\"post\" action=\"$PHP_SELF\">";
if ($HTTP_POST_VARS["$naam"]) // DIT WERKT DUS NIET
{
if (mysql_num_rows($result2) > 0)
{
// naam is al aanwezig in de database, foutmelding tonen
$nm = "De gekozen naam (<b>$naam</b>) is al aanwezig in onze database\n<br />";
echo "(Inlog)Naam: <input name=\"naam\" type=\"text\" size=\"30\" maxlength=\"40\"> (maximaal 40 tekens)<br />\n";
echo($nm);
}
else
{
echo "(Inlog)Naam: <input name=\"naam\" type=\"text\" size=\"30\" maxlength=\"40\" value=\"$naam\"> (maximaal 40 tekens)<br />\n";
}
}
if ($HTTP_POST_VARS["$email"]) // DIT WERKT OOK AL NIET
{
if (mysql_num_rows($result) > 0)
{
// e-mailadres al aanwezig in de database, foutmelding tonen
$em = "Dit e-mailadres (<b>$email</b>) bestaat al\n.<br />";
echo "E-mailadres: <input name=\"email\" type=\"text\" size=\"30\" maxlength=\"40\"> (maximaal 40 tekens)<br />\n";
echo($em);
}
else
{
echo "E-mailadres: <input name=\"email\" type=\"text\" size=\"30\" maxlength=\"40\" value=\"$email\"> (maximaal 40 tekens)<br />\n";
}
}
echo"Wachtwoord: <input name=\"wachtwoord\" type=\"password\" size=\"10\" maxlength=\"8\"> (maximaal 8 tekens)<br />\n
<input type=\"submit\" name=\"submit\" value=\"Registeren\"><input name=\"reset\" type=\"reset\" value=\"Leegmaken\">\n
</form>\n";
}
else
{
// OK, Query opbouwen
$query="INSERT INTO users (naam, email, wachtwoord) ";
$query .= "VALUES ('$naam', '$email', '$wachtwoord');";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$tekst = "Bedankt voor uw aanmelding.
U kunt nu <a href=\"login.php\">inloggen</a>";
die ($tekst);
}
}
else
{
?>
if (!empty($_POST)){
// Eerst controleren of inlognaam (= e-mailadres) al bestaat in database
$naam = $_POST["naam"];
$email = $_POST["email"];
$wachtwoord = $_POST["wachtwoord"];
$query = "SELECT * from users WHERE email='$email';";
$query2 = "SELECT * from users WHERE naam='$naam';";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$result2 = mysql_query($query2) or die ("FOUT: " . mysql_error());
if (mysql_num_rows($result) > 0 || mysql_num_rows($result2) > 0)
{
echo "<h5>Registeren</h5>Welkom, u kunt zich hier registreren.<hr><form name=\"form1\" method=\"post\" action=\"$PHP_SELF\">";
if ($HTTP_POST_VARS["$naam"]) // DIT WERKT DUS NIET
{
if (mysql_num_rows($result2) > 0)
{
// naam is al aanwezig in de database, foutmelding tonen
$nm = "De gekozen naam (<b>$naam</b>) is al aanwezig in onze database\n<br />";
echo "(Inlog)Naam: <input name=\"naam\" type=\"text\" size=\"30\" maxlength=\"40\"> (maximaal 40 tekens)<br />\n";
echo($nm);
}
else
{
echo "(Inlog)Naam: <input name=\"naam\" type=\"text\" size=\"30\" maxlength=\"40\" value=\"$naam\"> (maximaal 40 tekens)<br />\n";
}
}
if ($HTTP_POST_VARS["$email"]) // DIT WERKT OOK AL NIET
{
if (mysql_num_rows($result) > 0)
{
// e-mailadres al aanwezig in de database, foutmelding tonen
$em = "Dit e-mailadres (<b>$email</b>) bestaat al\n.<br />";
echo "E-mailadres: <input name=\"email\" type=\"text\" size=\"30\" maxlength=\"40\"> (maximaal 40 tekens)<br />\n";
echo($em);
}
else
{
echo "E-mailadres: <input name=\"email\" type=\"text\" size=\"30\" maxlength=\"40\" value=\"$email\"> (maximaal 40 tekens)<br />\n";
}
}
echo"Wachtwoord: <input name=\"wachtwoord\" type=\"password\" size=\"10\" maxlength=\"8\"> (maximaal 8 tekens)<br />\n
<input type=\"submit\" name=\"submit\" value=\"Registeren\"><input name=\"reset\" type=\"reset\" value=\"Leegmaken\">\n
</form>\n";
}
else
{
// OK, Query opbouwen
$query="INSERT INTO users (naam, email, wachtwoord) ";
$query .= "VALUES ('$naam', '$email', '$wachtwoord');";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$tekst = "Bedankt voor uw aanmelding.
U kunt nu <a href=\"login.php\">inloggen</a>";
die ($tekst);
}
}
else
{
?>
<h5>Registeren</h5>
Welkom, u kunt zich hier registreren.
<hr>
<form name="form1" method="post" action="">
(Inlog)Naam: <input name="naam" type="text" size="30" maxlength="40"><br />
E-mailadres: <input name="email" type="text" size="30" maxlength="40"> (maximaal 40 tekens)<br />
Wachtwoord: <input name="wachtwoord" type="password" size="10" maxlength="8"> (maximaal 8 tekens)<br />
<input type="submit" name="submit" value="Registeren"><input name="reset" type="reset" value="Leegmaken">
</form>
$naam moet gewoon naam wezen, dus zonder dollar teken:
Edit:
geldt ook voor email ;-)
geldt ook voor email ;-)
Gewijzigd op 23/02/2004 20:02:00 door B a s
dus $_POST ipv. $HTTP_POST_VARS
HEt is dus gewoon een dom foutje?!?
Hoe kan je een wachtwoord vergelijken?
herhaal wachtwoord?
ik dacht aan(vereenvoudigd)
<input type="password" name="wachtwoord">
<input type="password" name="wachtwoord2">
Code (php)
Gewijzigd op 23/02/2004 20:30:00 door Marien xD
Quote:
Hoe kan je een wachtwoord vergelijken?
herhaal wachtwoord?
ik dacht aan(vereenvoudigd)
<input type="password" name="wachtwoord">
<input type="password" name="wachtwoord2">
herhaal wachtwoord?
ik dacht aan(vereenvoudigd)
<input type="password" name="wachtwoord">
<input type="password" name="wachtwoord2">
Yup, dat is een goede vergelijking.
Hoe je door moet gaan als het goed is moet je zelf weten. Ik zet dan mijn wachtwoorden om in een md5-string en zet dan het hele zooitje in een database.
Elwin