Hallo,
ich bin gerade dabei einen Code für eine Registrierung auf einer Webseite mit PHP und mysqli zu schreiben, allerdings habe ich dabei ein Problem bei der Überprüfung ob bereits ein User mit diesem Usernamen oder dieser Email registriert ist.
Bitte helft mir.
LG, freeplate
ich bin gerade dabei einen Code für eine Registrierung auf einer Webseite mit PHP und mysqli zu schreiben, allerdings habe ich dabei ein Problem bei der Überprüfung ob bereits ein User mit diesem Usernamen oder dieser Email registriert ist.
PHP:
<?php
$username = $_POST["username"];
$mail = $_POST["mail"];
$pw1 = $_POST["pw1"];
$pw2 = $_POST["pw2"];
function ch_mail($mail){
if(strpos($mail, "@")) {
return true; //Email-Adresse enthält @, also korrekt
} else {
return false; //Email-Adresse enthält kein @, also nicht korrekt
}
}
function create(){
//Funktion zum erstellen des Bestätigungs-Codes
$create_array = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$create_i = 0;
$created_output = "";
while($create_i <= 20) {
$create_random = rand(1,26);
$created_output.=$create_array[$create_random];
$create_i++;
}
return $created_output;
}
if($username != "") {
if($mail != "" AND ch_mail($mail)) {
if($pw1 != "" AND $pw1 == $pw2 AND $pw1 != $username AND $pw1 != $mail) {
$abfrage = $mysqli->query("SELECT username FROM user WHERE username = $username OR mail = $mail");
$erb_abfrage = $abfrage->field_count;
if($erg_abfrage == 0) {
//Passwort verschlüsseln
$pw = hash('sha512', $pw1);
//Zeitstempel
$reg_time = time();
//Status(0=User, 1=Admin)
$status = 0;
$sql = "INSERT INTO user(username, mail, passwort, reg_time, last_log, log_anz, status) VALUES ('".$username."', '".$mail."', '".$pw."', '".$reg_time."', '', '0', '".$status."')";
if($mysqli->query($sql)) {
}
} else {
echo "User bereits vorhanden.";
exit();
}
} else {
echo "Bitte geben Sie ein Passwort ein. Es darf weder mit Ihrem Usernamen noch mit Ihrer Email-Adresse übereinstimmen.";
exit();
}
} else {
echo "Bitte geben Sie eine korrekte Email-Adresse an.";
exit();
}
} else {
echo "Bitte geben Sie einen Usernamen an.";
exit();
} ?>
Bitte helft mir.
LG, freeplate