gpt4 book ai didi

php - 关于 session 的登录脚本中未在 php 中设置错误

转载 作者:行者123 更新时间:2023-11-29 18:00:52 24 4
gpt4 key购买 nike

我在 php session 中遇到问题,虽然我的登录脚本和数据库连接正常,当用户登录时一切正常,但使用 session 时它“说未设置”。这是我的代码关于login.php:邮箱是:one@gmail.com,密码是:12345678

<?php
session_start();

?>

<?php
if(isset($_POST['log'])){


include "database.php";

$email=$_POST['email'];
$pass=$_POST['pas'];


$query="SELECT * from users WHERE email='{$email}' AND pass='{$pass}'";
$rezultat=mysqli_query($db,$query);

if(!$rezultat){
echo "Failed";
}



$nr=mysqli_num_rows($rezultat);
if($nr==1){

$_SESSION['email'];
header('Location:menu.php');


}

else{
echo "invalid";
}


}

?>


<!DOCTYPE html>
<html>
<head>
</head>
<body>

<form method="post" action="">

Email<input type="text" name="email"><br>
Password<input type="password" name="pas"><br>

<input type="submit" name="log" value="Log in">
</form>


</body>
</html>

这是我关于 menu.php 的代码,如果凭据正常,我会指示用户,就像它们在数据库中一样。 phpmyadmin中只有一行,邮箱为:one@gmail.com,密码为:12345678

<?php

session_start();

?>

<?php


if(isset($_SESSION['email'])){

echo $_SESSION['email'];
}

else{
echo "not set";
}

?>

最佳答案

在使用 header 重定向之前,您只需输入 $_SESSION['email']; 并且不要为其设置任何值。

$_SESSION['email'];#<!-- no value -->
header('Location:menu.php');

所以我猜是这样的

$nr=mysqli_num_rows($rezultat);
if($nr==1){

$row=mysqli_fetch_assoc( $rezultat );

$_SESSION['email']=$row['email'];
header('Location:menu.php');

/* or, $_SESSION['email']=$email */

}

关于php - 关于 session 的登录脚本中未在 php 中设置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48355802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com