Ich habe ein Formular, das Daten von den Benutzern erhält, nach dem Eingeben von Daten, werden sie nicht erreicht. Ich bin mir nicht sicher, wo das Problem liegt.Erhalten Sie weiterhin leere Zeichenfolge
//Signup page
<h2>SignUp</h2>
<form class="signup-form" action="Cons/signup.conn.php" method="POST">
<input type="text" name="firstName" placeholder="Name">
<input type="password" name="userPassword" placeholder="Password">
<button type ="submit" name = "submit" >Sign Up</button>
</form>
nach i-Taste in den Daten, ich stecken bleiben auf der ersten Validierung, die die "Header nennt (" Location: ../signup.php?signup=Empty ");"
//belongs to signup.conn.php (where the process is done)
<?php
if (isset($_POST['submit'])) {
include_once 'dbh-conn.php';
$first = mysqli_real_escape_string($conn, $_POST['firstName']);
$pw = mysqli_real_escape_string($conn, $_POST['userPassword']);
// ERROR handlers
// Check for EMPTY Fields;
if (empty($first) || empty($pwd)) {
header("Location: ../signup.php?signup=Empty");
exit();
} else {
//does other validations
if
//Once everything is confirmed
} else {
// Hashing the password
$hashedPwd = password_hash($pw, PASSWORD_DEFAULT);
// insert Users into DB
$sql = "INSERT INTO users (user_firstName,user_userPassword)
VALUES ('$first','$hashedPwd');";
// ////////////////////////
mysqli_query($conn, $sql);
header("Location: ../signup.php?signup=success");
exit();
}
}
}
}
header("Location: ../signup.php");
exit();
}
?>
'$ pw' sein! = '$ pwd', Sie suchen nach einer Variablen, die nicht gesetzt ist. – Qirel
Sie sollten auch vorbereitete Anweisungen verwenden, anstatt Variablen direkt in die Abfragen zu injizieren. mysqli_ * 'bietet' prepare() 'und' bind_param() 'Methoden, die Sie sich ansehen sollten. – Qirel
Randnotiz: Sie benötigen weder mysqli_real_escape_string() 'für das Passwort, noch sollten Sie. –