很简单的一个问题、、、我再dreamweaver重学习PHP。。在学到setcookie的时候。。
一个问题让我纠结了了了好久啊问题:
在登录的时候加入数据库数据与输入的账号,密码对比。。
但老是出现错误
cannot modify header information setcookie
网上的解答都是一样的。。
这个问题困扰了我一天了啊!!。。
求帮忙<?phpinclude ("connectlogin.php");  if($_GET[out]){
      setcookie("cookie", "out");
    echo "<script language=\"javascript\">location.href='login.php';</script>";
  }if($_POST['submit'])
{
$sql="select *from userpage";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{    if(($row[ID]==$_POST[username])&&($row[password]==md5($_POST[upassword])))
  {
     setcookie("cookie", "ok");//这里出错。。但是到底是什么错误呢?
     /*echo "<script language=\"javascript\">location.href='login.php';</script>";*/
     /*echo "<script language=\"javascript\">alert('登陆成功');location.href='login.php';</script>";*/     echo "<script language=\"javascript\">alert('登陆成功')</script>";
     echo "<script language=\"javascript\">location.href='login.php';</script>";
     break ;
  }}
if($row[ID]==''&&$row[password]==''){
  echo "<script language=\"javascript\">alert('登陆不成功');history.go(-1)</script>";
  }
/*if($row[ID]==""&&$row[password]=="")
{
  echo "<script language=\"javascript\">alert('登陆不成功');history.go(-1)</script>";
}
*/
}if($_COOKIE['cookie']!='ok'){
?>
<body>
<script language=javascript>
function CheckIDPassword()
{
   if(loginform.username.value=="")
   {
      alert("请输入用户名");
      loginform.user.focus();
      return false;
   }
   else if(loginform.upassword.value=="")
   {
     alert("请输入密码");
     loginform.upassword.focus();
     return false;
   }
}
</script><form id="form1" name="loginform" method="post" action="" onSubmit="return CheckIDPassword();">
  <p>
    <label>
    账号:<input type="text" name="username" size="20"/><br>
    <br />
    密码:<input type="password" name="upassword" size="20" />
    </label>
  </p>
  <input type="submit" name="submit" value="登陆"/></form>
<?
}else{
?>
    <a href='?out=login'>退出</a>
<?
}
?></body>

解决方案 »

  1.   

    1、使用setcookie必须在<html>标签之前
    2、使用setcookie之前,不可以使用echo输入内容
    3、直到网页被加载完后,cookie才会出现
    4、setcookie必须放到任何资料输出浏览器前,才送出
      

  2.   

    产生 cannot modify header .... 错误的原因有很多
    但遗憾的是你没有贴出错误的主要信息,被你截断的文件名、行号中已经提示你如何修改错误了