在使用setcookie()的程序最前面加上ob_start()来启用缓冲为什么其它程序会执行这段代码呢?只是第一次登陆验证对用户身份时才会执行setcookie()啊!

解决方案 »

  1.   

    缓冲....不会吧.....我不会啊...其它方法有没有啊..??setcookie与其它代码放在一起啊....所以都要调用到的......
      

  2.   

    login.php
    <?php
    /**
     * 函数 check_user
     * 功能 检查用户是否已登陆
     * 参数
     *   $type 用户名存放位置,默认值cookie。备选值session
     * 返回 已登陆:用户名,未登陆:false
     */
    function check_user($tyoe='cookie') {
      switch($type) {
        case 'cookie':
          if(isset($_COOKE['user'])) return $_COOKIE['user'];
          break;
        case 'session':
          if(! isset($_SESSION))
            session_start();
          if(isset($_SESSION['user'])) return $_SESSION['user'];
          break;
      }
      return false;
    }
    if(($user = check_user()) === false) {
      //这里写生成登陆表单的代码
      exit;
    }
    if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['user']) {
      //这里写检查用户合法性的代码
      $expire = 0; //或time()+你需要的有效时间(秒)
      setcookie('user',$_POST['user']);
      echo "<script>location.replace('')</script>";
      exit;
    }
    ?>
    其他程序在第一行
    require_once "login.php";
      

  3.   

    楼上的就很好了。可以用session。if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['user'] && isset($_POST['pwd']) {
      $sql="select * from user_login where `user`='".trim($_POST['user'])."'" and pass='".trim($_POST['pwd'])."'";
      $rs=mysql_query($sql,$conn);
      if ($row_rs=mysql_fetch_assoc($rs)){
    session['user']=$row_rs['user'];
    header("location:main.php");
    exit;
    }
     { echo "<script>alert('密码错误')</script>";
      exit;
    }
      

  4.   

    COOKIE可以禁用的,用SESSION好些
    <?
    SESSION_START();
    function user(){
    $UserForm = @implode("",file("template/login.htm"));
    echo $UserForm;
    exit;
    }
    $UserId = trim($_POST['name']);
    $UserPw = trim($_POST['passw']);
    if ((empty($UserId))||(empty($$UserPw))){
       user();
     }else{
        $Str = "SELECT * FROM user WHERE BINARY Username='$UserId";
        $Res = mysql_query($Str,$Conn);
        $Date = mysql_fetch_array($Res);
    }
    if($UserPw != trim($Date[passwd])){
             user();
    }
    else{
    $_SESSION['userid'] = $UserId;
    Header("location:index.php");
    }
    ?>
      

  5.   

    xuzuning(唠叨)Program倒数第5行,改成:
     setcookie('user',$_POST['user'],$expire);