<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
require_once("conn_inc.php");
?>
<?php
if ($_POST['submit']) {
$user= $_POST['user'];
$pass= $_POST['pass'];
$select_nows="select * from `check` where name='$user' and password ='$pass' and type='1' ";
$query=mysql_query($select_nows);
$userInfo= @mysql_fetch_array($query);
if (!empty($userInfo)) {
if ($userInfo['name']== $user && $userInfo[password]== $pass) {
     setcookie("us",$user,time()+3600);
     setcookie("pa",$pass,time()+3600);
          echo "<script>location.href='insert_login.php'</script>";
  }
} else {
echo "<script>alert('用户名或者密码错误')</script>";
}
}
?>
<form action="" method="POST">
用户名:<input type="text" name="user" size="10">
密码:<input type="password" name="pass" size="10">
<input type="submit" name="submit" value="提交">
</form>这是我写的一个通过setcookie验证用户登陆的例子,当输入的用户名与密码相同的时候就能进行登陆系统了,大家看下我写的有问题吗?我测试的时候没有发现什么问题,有问题帮助我看下,还有我就想问下,我这里是通过setcookie 进行记录用户名与密码的,我想在下一个页面中实现,就是用户没有登陆的话,访问别的页面就会自动调整到这个页面,我怎么实现,我想用下cookie,谢谢

解决方案 »

  1.   

    用cookie保存用户名和密码?这是很忌讳的啊,因为cookie是明文保存在用户本地的,木马病毒之类的可以很容易的获取这些信息
      

  2.   


    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <?php
    require_once("conn_inc.php");
    ?>
    <?php
    if ($_POST['submit']) {
    $user= $_POST['user'];
    $pass= $_POST['pass'];
    $select_nows="select * from `check` where name='$user' and password ='$pass' and type='1' ";
    $query=mysql_query($select_nows);
    $userInfo= @mysql_fetch_array($query);
    if (!empty($userInfo)) {
        if ($userInfo['name']== $user && $userInfo[password]== $pass) {
     /**这里修改下**/
            //setcookie("us",$user,time()+3600);
            //setcookie("pa",$pass,time()+3600);
    //假设用户表有个uid的主键
    setcookie('userinfo',$userinfo['uid'] . '\n' . md5($user) . '\n' . md5($pass),time() + 3600);   //md5加密一次          echo "<script>location.href='insert_login.php'</script>";
      }
    } else {
        echo "<script>alert('用户名或者密码错误')</script>";
    }
    }
    ?>
    <form action="" method="POST">
    用户名:<input type="text" name="user" size="10">
    密码:<input type="password" name="pass" size="10">
    <input type="submit" name="submit" value="提交">
    </form>传说中的第二个页面代码<?php
    if(empty(cookie('userinfo'))){
        echo "未登录";
        //未登录部分操作代码
    }
    list($uid,$username,$password) = explode('\n',cookie('userinfo'));   //获取cookie中用户信息
    require_once("conn_inc.php");
    $select_nows="select * from `check` where uid = '{$uid}' and type='1' ";
    $query=mysql_query($select_nows);
    $userInfo= @mysql_fetch_array($query);
    //判断数据库中是否有该用户
    if(empty($userInfo)){
        echo '错误的用户!未找到';
        //后续操作
    }
    //如果有,判断用户名,密码 MD5加密后是否匹配
    if(md5($userInfo['username']) != $username || md5($userInfo['password']) != $password){
        echo '错误的用户信息';
        //后续操作
    }
    echo '很好,你已经是登陆过了的了';
    ?>
      

  3.   

    额....上个回答有个地方错了,cookie('userinfo')  改为 $_COOKIE['userinfo'];-.-~框架用习惯了