我想在用户注册帐户后保存会话。在此之前它是成功的,但是当我今天再试一次时,它失败了。
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "select * from customer where Email = '".$email."'";
$rs = mysqli_query($db,$sql);
$numRows = mysqli_num_rows($rs);
if($numRows > 0 ){
echo "Email has been used";
}
else {
$options = array("cost"=>4);
$hashPassword = password_hash($password,PASSWORD_BCRYPT,$options);
$sql = "insert into customer (Email, Password) value('".$email."', '".$hashPassword."')";
$result = mysqli_query($db, $sql);
if($result) {
$_SESSION["Email"] = $result["Email"];
$_SESSION["Name"] = $result["Name"];
header('Location: ../index.php');
}
else {
echo "Cant";
}
}`
如何解决这个问题?
答案 0 :(得分:3)
错误在于您正在调用没有值的变量。
尝试下面的代码:
$sql = "insert into customer (Email, Password) value('".$email."', '".$hashPassword."')";
$result = mysqli_query($db, $sql);
if($result) {
$get_saved_user=mysqli_query($db,"select * from customer where Email='".$email."'");
$user = mysqli_fetch_array($get_saved_user,MYSQLI_ASSOC);
$_SESSION["Email"] = $user["Email"];
$_SESSION["Name"] = $user["Name"];
header('Location: ../index.php');
}