Greetz,

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

<?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
{
?>
<h5>Registeren</h5>
Welkom, u kunt zich hier registreren.
<hr>
<form name="form1" method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>">
(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>
<?php
}
?>
if ($HTTP_POST_VARS["$naam"])

$naam moet gewoon naam wezen, dus zonder dollar teken:

<?
if ($HTTP_POST_VARS["naam"])
?>

[edit]
geldt ook voor email ;-)
[/edit]
is het misschien niet makkelijker om de nieuwe variabelen te gebruiken?
dus $_POST ipv. $HTTP_POST_VARS
Het werkt !

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">

<?
if ($_POST["wachtwoord"] == $_POST["wachtwoord2"])
{
//gewoon doorgaan (maar hoe??)
}
else
{
//foutmelding tonen
}
?>
Hoe kan je een wachtwoord vergelijken?
herhaal wachtwoord?

ik dacht aan(vereenvoudigd)

<input type="password" name="wachtwoord">
<input type="password" name="wachtwoord2">

<?
if ($_POST["wachtwoord"] == $_POST["wachtwoord2"])
{
//gewoon doorgaan (maar hoe??)
}
else
{
//foutmelding tonen
}
?>


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

Reageren