PHP使用cookie制作登陆界面

小白菜鸟刚刚开始学PHP,555老是做不粗来,心塞塞啊。。木有钱,跪求好心人帮忙
这个登录界面总是会有bug,但是不知道要怎么改进,求帮忙啦!!
<?php
/*
登录界面
*/
error_reporting(E_ALL ^E_NOTICE);

    if($_GET['out'])
    {
        setcookie("cookie","out");
        echo "<script>location='login.php';</script>";
    }

    if($_POST['user']=='admin' && $_POST['pw']=='123')
    {
            /*setcookie("cookie","ok");
            echo "<script language=\"javascript\"> location.href='login.php';</script>";*/
            setcookie("cookie","ok");
            echo "<script>location='login.php';</script>";

    }   
    if($_COOKIE['cookie']!='ok')
    {
            echo "<script>alert('用户名或密码不正确');</script>";
    }
    else
    {
        echo "<script>alert('登陆成功');</script>";
        echo "<a href='login.php?out=out'>退出</a>";
    }

?>

用户名:

密码:


查一下setcookie怎么用吧

setcookie不写过期时间的话是关闭浏览器后这个cookie就过期的,你是怎么用的?

自动登录的原理很简单就是用户初次登录时把用户名与密码保存在cookies中,用户在登陆的时候,如果选择了记住密码或者一周内免登陆等这个选项的时候,则在用户成功登陆操作完成之后,存储一个实现自动登录的cookie的数据到数据库的用户表里面,作为下次自动登录时验证用。这样下次登录时加以判断cookies值中的用户名与密码是不是与数据库一样,验证通过则自动登录并设置session即可,否则需要重新输入用户名,密码进行登录。保存的这个cookie值则可以取一个随机码。

 /检查用户是否登录
function checklogin(){
 if(emptyempty($_SESSION['user_info'])){//检查一下session是不是为空
  if(emptyempty($_COOKIE['username'])||emptyempty($_COOKIE['password'])){//如果session为空,并且用户没有选择记录登录状
   header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);//转到登录页面,记录请求的url,登录后跳转过去,用户体验好。
  }else{//用户选择了记住登录状态
   $user=getUserInfo($_COOKIE['username'],$_COOKIE['password']);//去取用户的个人资料
  if(emptyempty($user)){//用户名密码不对没到取到信息,转到登录页面
   header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);
  }else{
   $_SESSION['user_info']=$user;//用户名和密码对了,把用户的个人资料放到session里面
  }
  }
 }
}

爱IT网参考文档:php利用$_COOKIE实现自动登录程序代码