【问题标题】:Saved session value comes back empty保存的会话值返回为空
【发布时间】:2015-11-24 03:42:34
【问题描述】:

我有 home.html、login.html 和 logout.html

当用户单击登录并获得成功时,我会存储一个会话值。然后我回到主页并单击logout.html。我得到一个空的会话值。请给我建议来解决这个问题。

登录:

<?php  
     header('Access-Control-Allow-Origin: *');
     session_start();
     header("Cache-control: private");
     $email = $_POST['email'];
     $password = $_POST['pass'];
     if($email == 'dhaya')
     {
        $_SESSION['login_user']=  $email; 
        echo "success ";
     }
     else {
        echo "failer";
     }

首页:

<!DOCTYPE html>
 <html lang="en">
   <body>
   <?php
if($_SESSION["user_name"]) {
?>
Welcome <?php session_start() echo $_SESSION['login_user']; ?>.
<?php
}
?>
 </body>
 </html>

【问题讨论】:

  • “我有 home.html、login.html 和 logout.html”。这些应该有 .php 作为扩展名。

标签: javascript php html session


【解决方案1】:

session_start() 无法在任何输出发送到浏览器后调用。

要修复,请将其移至脚本顶部。

您还使用了$_SESSION['user_name']$_SESSION['login_user'] - 假设这是一个错误,只需使用其中一个即可。

<?php session_start(); ?>
<!DOCTYPE html>
 <html lang="en">
   <body>
   <?php if (!empty($_SESSION['login_user'])) { ?>
       Welcome <?php echo $_SESSION['login_user']; ?>.
   <?php } ?>
 </body>
 </html>

【讨论】:

  • 使用session_destroy(),并使其成为自己的文件,例如logout.php,然后再次重定向回家,例如&lt;?php session_start(); session_destroy(); header('Location: index.html');
  • 我还假设您在文件中有 PHP 代码时使用 .php 扩展,而不是 .html(除非您已将它们定义为应由 PHP 处理的扩展您的网络服务器配置)
  • 我是 php 和 html 的新手,所以我不清楚你在说什么。我会清楚地解释我的立场,请帮助解决。我有 home.html 文件,其中有登录、注册和注销的菜单。因此,当用户单击 login.html 页面并单击提交时,使用 Angular 访问我的 login.php 并存储会话,然后我回到主页并单击 logout.html 得到空会话,即使在主页也得到空会话。
【解决方案2】:

在将任何输出发送到浏览器之前,Session_start() 必须是 php 页面的第一行,否则它将不起作用。因此,在您要访问会话的每个页面的顶部,只需输入 &lt;?php session_start(); ?&gt;

【讨论】:

    【解决方案3】:

    您的代码有小错误。 您的代码中缺少;

    Welcome <?php session_start()  echo $_SESSION['login_user']; ?>.
                                 ^ missing ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 2011-12-13
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      相关资源
      最近更新 更多