Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话无法在页面之间工作_Php_Session_Login - Fatal编程技术网

PHP会话无法在页面之间工作

PHP会话无法在页面之间工作,php,session,login,Php,Session,Login,要登录,我使用: <?php session_start(); if($_POST){ $csUSER='USERNAME'; $csPASS='PASSWORD'; $user=$_POST['user']; $pass=$_POST['pass']; if ($user==$csUSER) { if ($pass==$csPASS){ $_SESSION['cdb']="1"; header("Location: /"); ex

要登录,我使用:

<?php
session_start();

if($_POST){
$csUSER='USERNAME';
$csPASS='PASSWORD';
$user=$_POST['user'];
$pass=$_POST['pass'];
if ($user==$csUSER) {
    if ($pass==$csPASS){
        $_SESSION['cdb']="1";
        header("Location: /");
        exit;
    } else {
        $passerror='<span class="errormsg">Wrong Password.</span>';
    } // END IF PASSWORD
} else {
$usererror='<span class="errormsg">Wrong Username.</span>';
} // END IF USERNAME
} // END IF $_POST
?>

要允许自己在每页(包括在所有页面[页面顶部])中执行管理任务,请执行以下操作:


这使我能够:

<?php
if ($loggedn=="WORD") { WHATEVER }
?>

为了确保登录时我只能访问后端页面(包括在所有后端页面中):


问题是,它在我的电脑上运行得很好,但我妻子用另一台电脑进行数据整理,它不会一直登录到她的电脑上。我们都使用Linux(Fedora)和FF。我已经在每一页的代码超过以往任何时候,帮助

需要检查的几件事:

  • 确保你是从一个全新的开始。清除浏览器中的缓存和cookies,以确保没有打开旧会话
  • 确保会话数据存储在新机器上。会话数据通常存储在/tmp中
  • 确保没有执行与会话相关的特定于客户端的代码
    重定向到另一个页面后,调用退出功能,否则将执行以下代码,这可能会导致奇怪的行为

    if($loggedn != "WORD")
    {
      // redirect to login page
      header("Location: login.php");
      exit;
    }
    // the following code will be executed if exit is not called
    ...
    

    她是否通过任何更改禁用了浏览器上的所有Cookie?因为它在一台机器上工作,而在另一台机器上不工作,您是否确保在您妻子的机器上启用了Cookie?PHP会话默认使用Cookie。您妻子的电脑上是否启用了cookies?在检查$loggedn之前,您确定所有后端页面都有session_start()位吗?谢谢您,Martin。我在标题后添加了exit。我不知道会话存储在/tmp中。清除了临时文件夹,工作正常。。非常感谢。
    <?php
    // backend login check
    if($loggedn!="WORD") {
    header("Location: /"); // if not logged in, go to homepage
    exit;
    }
    ?>
    
    if($loggedn != "WORD")
    {
      // redirect to login page
      header("Location: login.php");
      exit;
    }
    // the following code will be executed if exit is not called
    ...