我在设置会话时遇到问题。
每次我提交登录网站时都应该创建会话,但不是这样,我被重定向到notvalid.php
。
会话仅在我第二次尝试登录时创建
session_start();
是我网站每个页面的第一行。
这是连接功能:
public static function Login($name, $pass)
{
if (!empty($name) && !empty($pass))
{
global $dbh;
$result = $dbh->query("SELECT * FROM users WHERE username = '" . $name . "' AND password = '" . $pass . "'");
$row = $result->fetch(PDO::FETCH_ASSOC);
if ($row > 0)
{
$userid = $row['userid'];
$_SESSION['userid'] = $userid;
$_SESSION['login'] = 'true';
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=userindex.php">';
}
else
{
echo "incorrect username or password.";
$_SESSION['login'] = 'false';
}
}
}
此函数检查会话是否存在:
public static function checklogin()
{
if ($_SESSION['login'] == 'true')
{
return $_SESSION['userid'];
}
else
{
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=notvalid.php">';
}
}
我试图进入有或没有www的网站,我试图按照他们的建议去做
PHP login session wont work on first page load in a NEW window with no cache
但没有任何帮助。
任何帮助都将得到帮助。