php模拟登陆,跳转页面问题

我想用php模拟登陆一个网站,登陆后,在模拟执行一个搜索的操作(执行搜索操作时是跳转的另外一个页面来显示搜索出来的结果)。现在我遇到的问题是能够成功模拟登陆,但是模拟搜索时,当跳转到搜索页面就显示没有登陆的状态。请问各位大牛如何解决

  把你的登录信息保存在一个session中,如

login.php

<?php 

//  表单提交后... 

$posts = $_POST; 

//  清除一些空白符号 

foreach ($posts as $key => $value) {

    $posts[$key] = trim($value); 

$password = md5($posts["password"]); 

$username = $posts["username"]; 


$query = "SELECT `username` FROM `user` WHERE `password` = '$password' AND `username` = '$username'"; 

//  取得查询结果 

$userInfo = $DB->getRow($query); 


if (!empty($userInfo)) { 

    //  当验证通过后,启动 Session 

    session_start(); 

    //  注册登陆成功的 admin 变量,并赋值 true 

    $_SESSION["admin"] = true;  

} else { 

    die("用户名密码错误"); 

?>


    我们在需要用户验证的页面启动 Session,判断是否登陆:


<?php 

//  防止全局变量造成安全隐患 

$admin = false; 

//  启动会话,这步必不可少 

session_start(); 

//  判断是否登陆 

if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) { 

    echo "您已经成功登陆"; 

} else { 

    //  验证失败,将 $_SESSION["admin"] 置为 false

    $_SESSION["admin"] = false; 

    die("您无权访问"); 

?>

追问

没大看懂啊,"SELECT `username` FROM `user` WHERE `password` = '$password' AND `username` = '$username'"; 是在操作数据库吗?我只是模拟登陆,不涉及数据库啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-22
设置一个cookie,登陆成功后把密码加密一下(简单的就md5一下)把密码存进一个cookie中,每次登入检查cookie追问

我登陆成功是保存了cookie,跳转页面时就是用的这个cookie,但是跳转的页面还是显示没有登陆

追答

如果你用cookie就永不到session,用cookie验证的是跳转后的页面检查用户id,根据id从数据库中查找password,对比md5(password)与cookie得到是否登陆

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网