注册成功但无法保存会话

时间:2018-01-08 04:21:20

标签: php session

我想在用户注册帐户后保存会话。在此之前它是成功的,但是当我今天再试一次时,它失败了。

$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";
    }
}`

如何解决这个问题?

1 个答案:

答案 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');
    }