Ich habe folgendes Skript:
Woran kann das liegen ??? Hab schon mit ` und ' ohne Anführungszeichen und mit mit ? und bind_param
Er macht einfach in firstlogin keine 1 rein
PHP-Code:
if (filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL)) { $email = htmlspecialchars($_POST["email"]); }
if (filter_input(INPUT_POST, "kdnr", FILTER_VALIDATE_INT)) { $kdnr = htmlspecialchars($_POST["kdnr"]); }
$passwort = password_hash($_POST["passwort"]);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT kdnr, email, passwort, firstlogin, firstversuche, anrede, nachname, vorname FROM kunden WHERE kdnr = '$kdnr' AND email = '$email' LIMIT 1")) {
$stmt->execute();
$stmt->bind_result($db_kdnr, $db_email, $db_passwort, $db_firstlogin, $db_firstversuche, $db_anrede, $db_nachname, $db_vorname);
$stmt->fetch();
if($db_firstlogin == 0) { // Wenn zum ersten mal Login
if($db_firstversuche >= 5) { // Wenn mehr oder gleich 5 Versuche
echo "Sie haben mehr als 5x Versucht eine Bestätigungsemail zu senden. Deswegen wurde ihr Account gesperrt. <br />Bitte kontaktieren Sie uns unter: ----- um ihren Account wieder zu Entsperren.";
exit;
}
if(!empty($db_email)) { // Wenn Email vorhanden
echo "<br /><hr><br />Sie melden sich heute zum 1. mal in unserem System an !<br />Daher müssen wir ihre Identität noch verifizieren.";
$betreff = utf8_decode("Ihr Bestätigungscode");
$from = "From: NAME <xxxxxx>\n";
$from .= "Reply-To: antwort@domain.de\n";
$from .= "Content-Type: text/html\n";
$random1 = rand(99999,999999999);
$random = password_hash($random1, PASSWORD_DEFAULT);
$text = utf8_decode("Hallo ".$db_anrede." ".$db_nachname." ".$db_vorname.".<br /><br />Ihr Bestätigungscode lautet: ".$random1."<br /><br />Falls Sie die Seite schon geschlossen haben, folgen Sie bitte diesem Link:<br /><center><br />Link zum Bestätigen: <br /><a style='background: #454545; color:#fff; text-decoration:none;' href='http://www.webseitee/verify.php&email=".$db_email."&code=".$random."'> Hier klicken </a></center> <br /><br /><hr><p style='font-size='1px'><hr><br /> \n\nDanke");
mail($db_email, $betreff, $text, $from);
// Eintrag in DB der nicht geht !!!!
if ($stmt = $mysqli->prepare("UPDATE kunden SET firstlogin = '1' WHERE email = 'eine Email Adresse @ adddi. de'")) {
$stmt->execute();
}
}
}
Er macht einfach in firstlogin keine 1 rein
Kommentar