我不确定是什么问题 - 我尝试通过SESSION全局变量将变量从一个php页面传递到另一个php页面,但它似乎没有用。这是我做的:
流程:表单提交 - > login.php,如果成功,重定向到 - > chat.php
基本上,我无法将login.php中的SESSION变量传递给chat.php。
以下是代码:
的login.php
<?php
session_start(); // pass on variables
// Pass on variables
$_SESSION['username'] = $_POST['username'];
// some code here
if ( mysqli_num_rows($result) == 0 ) {
// some code here
} else {
// some code here
$url = "./chat.php";
$js = "<script>window.location = '{$url}'</script>";
echo $js;
}
chat.php
<?php
session_start();
$username = $_SESSION['username'];
echo $username;
?>
以下是一些假设:
$_POST['username]
是正确的。 echo "works!";
在chat.php中工作,所以我很确定它只是变量是错误的。 <?php ?>
标记之外没有其他HTML代码。会欣赏一些想法。
谢谢!
答案 0 :(得分:1)
试试这段代码。我认为这可以在chat.php
中使用 <?php
$username = $_SESSION['username'];
echo $username;
?>
您可以print_r($_SESSION);
答案 1 :(得分:-1)
如果系统上运行的apache无法创建存储会话变量所需的文件,则会话变量无法正常工作。 授予对相应文件夹的权限,并将组所有者设置为www-data。 并在您的PHP代码结束时添加此session_commit(); 或session_write_close();