未保存PHP会话变量
因此,在'index.php'中,用户将用户名和密码放入HTML输入,并将其保存到'$username'和'$password'中。然后PHP说:未保存PHP会话变量,php,mysql,session,login,Php,Mysql,Session,Login,因此,在'index.php'中,用户将用户名和密码放入HTML输入,并将其保存到'$username'和'$password'中。然后PHP说: <?php $loginquery = mysqli_query($connection,"SELECT * FROM users WHERE username = '$username' AND password = '$password'"); $user = mysqli_fetch_array($loginquery); session
<?php
$loginquery = mysqli_query($connection,"SELECT * FROM users WHERE username = '$username' AND password = '$password'");
$user = mysqli_fetch_array($loginquery);
session_start();
$_SESSION['username'] = $user['username'];
echo $_SESSION['username'];
?>
听起来像是在使用一个向自身提交的脚本
添加条件以确保表单处理逻辑仅在get/post提交时运行:
if( !empty( $_POST[ 'varname' ] ) )
{
// Logic
$loginquery = mysqli_query($connection,"SELECT * FROM users WHERE username = '$username' AND password = '$password'");
$user = mysqli_fetch_array($loginquery);
session_start();
$_SESSION['username'] = $user['username'];
echo $_SESSION['username'];
}
或:
您是否有会话_start();您的home.php中也有语句-还是缺少该语句?与index.php
有什么关系?index.php
是否包括home.php
?如果没有:是否有会话_start()
在home.php
?请发布home.php的相关代码。很可能,它缺少session\u start()
,必须在访问会话的每个脚本上调用它(并且在生成任何输出之前)。是的,这是我的问题,但我现在已经解决了。谢谢
if( !empty( $_GET[ 'varname' ] ) )
{
// Logic
$loginquery = mysqli_query($connection,"SELECT * FROM users WHERE username = '$username' AND password = '$password'");
$user = mysqli_fetch_array($loginquery);
session_start();
$_SESSION['username'] = $user['username'];
echo $_SESSION['username'];
}