将经过AD验证的php会话变量传递到另一个页面

将经过AD验证的php会话变量传递到另一个页面,php,session,authentication,session-variables,Php,Session,Authentication,Session Variables,我在login.php中实现了一个广告身份验证,现在如果身份验证成功,我想将用户的名字传递给另一个php页面,比如app.php login.php 这是app.php AD身份验证成功,但不知何故,$\u会话['user']没有传递到app.php。我试图在login.php中打印$_SESSION['user']的值,它显示了预期的结果。它总是从app.php重定向到login.php 我做错了什么?为什么isset$_会话['user']无法获取从登录传递的值我遇到了一些问题,但主要原因是

我在login.php中实现了一个广告身份验证,现在如果身份验证成功,我想将用户的名字传递给另一个php页面,比如app.php

login.php

这是app.php

AD身份验证成功,但不知何故,$\u会话['user']没有传递到app.php。我试图在login.php中打印$_SESSION['user']的值,它显示了预期的结果。它总是从app.php重定向到login.php


我做错了什么?为什么isset$_会话['user']无法获取从登录传递的值

我遇到了一些问题,但主要原因是它无法启动会话,所以失败了。这是由app.php中之前的空白造成的 我花了一段时间才弄明白这件愚蠢但严肃的事。这是一个


希望这对其他人有所帮助。

这不是问题,但您不需要在每次页面加载时调用session\u regenate\u id。此外,您可能会遇到问题,这可能是在您调用header并且在调用之前有输出时出现的问题。在任何脚本输出任何内容之前,都需要调用header。页眉应在页面正文之前发送。一旦页面有任何输出,标题就完成了。你不能在页面中间调用标题。我已经删除了SeStudioReGeReaTyId,并且在SeStSuxStin之后很快移动了标题部分。但没有更改请检查您的错误日志。查看您是否有任何错误。错误日志/控制台中没有任何内容:好的,这是我收到的PHP警告:session\u start:open/var/lib/PHP/session/sess\u reo82dmhrv9pgcen4en3tkbbg3,O\u RDWR失败:权限被拒绝13
    <?php
     session_start();
    if(isset($_POST['username']) && isset($_POST['password'])){
    $adServer = "ldap://ad.my_domain.com";
    $ldap = ldap_connect($adServer);
    $username = $_POST['username'];
    $password = $_POST['password'];
    $ldaprdn = 'my_server' . "\\" . $username;
    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
        $bind = @ldap_bind($ldap, $ldaprdn, $password);
    if ($bind) {
    $filter="(sAMAccountName=$username)";
    $result = ldap_search($ldap,"dc=my_domain,dc=COM",$filter);
    ldap_sort($ldap,$result,"sn");
    $info = ldap_get_entries($ldap, $result);
    for ($i=0; $i<$info["count"]; $i++)
    {
        if($info['count'] > 1)
        break;
            $_SESSION['user']=$info[$i]["givenname"][0];
            #echo $_SESSION['user'];
            header("Location: app.php");        }
    @ldap_close($ldap);
    } else {
    $msg = "Invalid email address / password";
    echo $msg;
    }

}else{
?>
    <form action="#" method="POST">
    <label for="username">Username: </label><input id="username" type="text" name="username" /> 
    <label for="password">Password: </label><input id="password" type="password" name="password" />        
        <input type="submit" name="submit" value="Submit" />
    </form>
<?php } ?> 
             <?php
           session_start();session_regenerate_id();
      ?>
    <!DOCTYPE html>
    <html>
    <head>
         <title>My App ::Home Page</title>

    </head>

    <body>

    <?php
        if (!isset($_SESSION['user'])) {
        header("Location: login.php"); // If session is not set that redirect to Login Page
      }
    ?>

    // code for app 
    </body>
    </html>