为什么我输入正确用户名跟密码后都不会跳转的呢?<?php
include("conn.php");
include("head.php");
if($_post['submit']){
$sql = "select * from login";
// where username = $_post[username]";
$squery = mysql_query($sql);
$row = mysql_fetch_array($squery);
if($_post[username]==$row[username]){
if($_post[password]==$row[password]){
     echo "<script language=\"javascript\">location.href='list.php';</script>";
}
}
}
?><script language=javascript>
 function CheckLogin(){
if(myform.username.value==""){
alert("请填写id");
return false;
}
if(myform.password.value==""){
alert("请填写密码");
return false;
}else{return;}
  }
</script>
  <form action="" name="myform" method="post" onsubmit="CheckLogin()">
ID:<input type="text" name="username"/><br/>
   PW:<input type="password" name="password"/><br>
   <input type="submit" name="submit" value="登 陆"/>
  </form>

解决方案 »

  1.   

    你看你row里面有数据吗?$sql = "select * from login where username = '$_post[username]'"
      

  2.   

    echo $$sql看是什么。
    拿到数据库中运行一下看看。
      

  3.   

    确认表单提交了吗?  程序执行到了PHP端吗? 
    if($_post['submit']){
     ==》
    if(isset($_POST['submit'])){这行下面加上: print_r($_POST);  //看能取到值吗
      

  4.   

    onsubmit="return CheckLogin()"怎么会取不到呢?  表单提交了么?
      

  5.   

    貌似没提交,因为我在
    if($_post['submit']){
    之后添加了print_r($_post);语句,打印不出什么来,没有报错!最后我把if($_post['submit']){
    去掉了,一刷新直接跳转了,不用验证的!
      

  6.   

    $sql = "select * from login";这样查出的结果是不唯一的,可能有多条记录,你取结果的话不一定刚好是你要的结果。
    正确的验证方法是select * from login where name = $_POST['name'];然后检验这个密码与输入的密码是否一致,如果一致则登录成功。
      

  7.   

    form action=""这个地方建议写上需要跳转到的页面,而且这个location.href确实不大好用建议换个方法window.open之类的方法