Hallo,

Ik ben bezig om een registratie formulier te maken.
Het is een vrij simpel formulier, maar ik krijg het niet voor elkaar om het emailadres te controleren in de database.
Het emailadres mag maar 1x gebruikt worden.


<?php
$dbconn = mysql_connect("localhost","root","usbw") or die("Unable to connect to server");
$db = mysql_select_db("database", $dbconn) or die("Database not found");
?>
<?php

if (isset($_POST["reg"])){
    $email=$_POST["emailadres"];
    $ww=$_POST["wachtwoord"];
    $ww2=$_POST["cwachtwoord"];

    $validmail = preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $email);
    $zoekemail = mysql_query("SELECT emailadres FROM members");

    if ($email == "" || $ww == ""){
    echo"Vul alle verplichte velden in";
    }
    elseif(!$validmail){
        echo"Ongeldig emailadres";
    }
    elseif(strcmp($ww, $ww2)!= 0 ){
        echo "Wachtwoord komt niet overeen";
    }
    elseif($email == $zoekemail){
        echo"Emailadres is al in gebruik";
    }
    else{
        $sql = mysql_query("INSERT INTO members (emailadres, wachtwoord,  cwachtwoord)VALUES ('$email', '$ww', '$ww2')") or die ("query werkt niet");
	header ("Refresh: 5; url=index.php");
	echo "Succesvol geregistreerd";
	exit;
    }
}
?>


    <form action="index.php" method="post" name="register">
        Emailadres: <input type="text" name="emailadres" />
        Wachtwoord: <input type="password" name="wachtwoord" />
        Controle Wachtwoord: <input type="password" name="cwachtwoord" />
        <input type="submit" name="reg" value="registreren"/>
    </form>



Alvast bedankt voor jullie hulp.

Marco M op 21/01/2011 14:51:47

ik krijg het niet voor elkaar om het emailadres te controleren in de database.
Het emailadres mag maar 1x gebruikt worden.


Zet dat veld dan op UNIQUE.
Top, was ik even vergeten om dat te gebruiken.

Maar als iemand voor de 2e keer probeert te registreren met hetzelfde email adres moet die een melding krijgen dat het email adres al in gebruik is. Hoe kan ik dat het beste/makkelijkste doen?
zoekemail veranderen naar het checken of er al zon email in de db staat.

<?php
$query = mysql_query("SELECT emailadres FROM members WHERE emailadres = '".mysql_real_escape_string($email)."'");
$row = mysql_fetch_assoc($query);
$zoekemail = $row['emailadres'];
// unset($row, $query);
?>

De unset is optioneel ;)
Bedankt voor jullie hulp, het werkt.

Reageren