douhui5953 2010-03-16 14:18
浏览 63
已采纳

代码忽略了之前成功登录的有效会话

I have a login script that when successful, should check to see if the session exists, if not, display login form, once posted, authenticate, if successful, set session.

After I successfully post the form, and it binds successfully, then go back to the page, it completely ignores the session and displays the login page.

I don't know what I am doing wrong, do I have the conditionals in the wrong order? Should I be looking for the session before testing to see if the form was posted?

<?
session_start();

// using ldap bind
if(isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];  // associated password

    // connect to ldap server
    $ldapconn = ldap_connect("ldap://ldap.server")
        or die("Could not connect to LDAP server.");

    if ($ldapconn) {
        // binding to ldap server
        $ldapbind = ldap_bind($ldapconn,$username,$password);
        // verify binding
        if ($ldapbind) {
            echo "LDAP bind successful...";
            $_SESSION['valid_username'] = $username; 
        } else {
            echo "LDAP bind failed...";
        }
    }
} else {

    if(isset($HTTP_SESSION_VARS['valid_username'])) {
        print 'you are logged in - congrats';
    } else {
    ?>
    <h1>Login</h1>
    <form method="post" action="<?=$_SERVER["PHP_SELF"]?>">
        <p>username: <input type="text" name="username" /><br />
            password: <input type="password" name="password" /></p>
            <p><input type="submit" name="submit" value="submit" /></p>
    </form><?
    }
}
?>
  • 写回答

1条回答 默认 最新

  • douquanjie9326 2010-03-16 14:25
    关注

    try using $_SESSION instead of $HTTP_SESSION_VARS when checking the session.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图