gpt4 book ai didi

php - 无法存储 $_SESSION 变量

转载 作者:行者123 更新时间:2023-11-29 14:01:27 25 4
gpt4 key购买 nike

我开发了这组 2 个脚本,以便使用 $_SESSION 变量来检查用户是否登录。我没有使用 cookie,因为我还不想进入那个“爵士乐”。

这是登录.php

require 'host.php'; // Connection to database

$message = '';

if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if ((!$username) || (!$password)) {
$message ='Preencha todos os campos.';
} else{
$username = preg_replace("#[^0-9a-z]#i","",$username);
$password = sha1($password);

$sql = "SELECT * FROM utilizadores WHERE nome_utilizador='$username' AND palavra_chave='$password' LIMIT 1";
$query = mysql_query($sql) or die();
if (mysql_num_rows($query) == 1) {
// Logged in stuff
session_start();
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
while ($consulta = mysql_fetch_array($query)) {
$id = $consulta['id_utilizador']; // ID of username.
}
$_SESSION['id'] = $id;
$message = '<a href="calendario.php">Clique aqui para ir para o calendário.</a>'; // Message that is shown to redirect to another page.
} else{
$message = 'Os dados que inseriu estão incorrectos!'; // Data inserted is incorrect.
}
}

}

这是检查用户是否登录的文件

session_start();

include 'host.php';

if (isset($_SESSION['id'])) {
$id = $_SESSION['id'];
$password = $_SESSION['password'];
//Verificar se o user existe.
$sql = "SELECT * FROM utilizadores WHERE id_utilizador='$id' AND palavra_chave='$password' LIMIT 1";
$query = mysql_query($sql) or die('Could not connect.');
if (mysql_num_rows($query) > 0) {
header('Location: logout.php');
} else{
// Logged in stuff
$logged = 1;
}
} else{
$logged = 0;
}

我想要检查 session 的方法是将文件包含在每个页面中,并检查 $logged == 0。

但它不会存储页面之间的 session 数据。

希望你能帮助我!

谢谢!

最佳答案

您的 id 变量位于 while 循环内部,无法在 while 循环外部读取。这就是 session 不存储任何内容的原因

尝试在 while 循环之前定义 id 变量

   $id = "";
while ($consulta = mysql_fetch_array($query)) {
......

你可以尝试一下 while 循环后是否回显某些内容像这样

  echo $id ;

关于php - 无法存储 $_SESSION 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15001379/

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