练习php,写了一个简单的登录页面,却一直错误,表明表单的值没有传到php文件那里,各位大侠帮帮忙啊~~
——login.html——
<html>
<body>
<form name="login" action="login.php" method="post" target="_self">
   <input name="text" type="text" size="20" style="margin-bottom:40px;"/>
   <input name="password" type="password" size="20" />
   <input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);">
   <input id="button" type="submit" value="" name="login"  style="background-image:url(images/login.jpg);;">
</form>
</body>
</html>——login.php——
<?
 if($_POST["register"]) header('location:application.html');
 else{
   $conn=mysql_connect("localhost:3306","root","root");    
   if(mysql_select_db("MYDB"))
   {
     echo "open sucessfully!";
     if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
     {
      echo "post sucessfully!";
        $sql="SELECT ID FROM USER WHERE EXISTS (
                SELECT * FROM user WHERE ID=$username and PSW=$password)";
        $result=mysql_query($sql);
        if($result) 
        {
         echo "欢迎你!正在跳转,请稍候...";
         header('location:http://xyh.jnu.edu.cn/');
        }
        else echo "用户名无效或密码错误,请重新输入!";
      }
      else echo "请将信息填写完整!";
    }
    else echo "数据库连接出错";}
?>结果出来的结果echo "post sucessfully!"这一句没有输出,出来的信息是“请将信息填写完整”。echo $_POST["username"]也没有结果。
但print_r($_POST);又是可以看到输出的。纠结啊,不懂啊,大侠们帮帮忙啊~~

解决方案 »

  1.   

    错误很多,帮你修改一下<?php
     if($_POST["register"]){
     header('location:application.html');
    }else{
      $conn=mysql_connect("localhost:3306","root","root");  
      if(mysql_select_db("MYDB")){
      echo "open sucessfully!";
      if($_POST["username"] And $_POST["password"] And $_POST["login"]){
      echo "post sucessfully!";
      $sql="SELECT ID FROM USER WHERE EXISTS (SELECT * FROM user WHERE ID={$username} and PSW='{$password}')";
      $result=mysql_query($sql);
      if($result){
      echo "欢迎你!正在跳转,请稍候...";
      header('location:http://xyh.jnu.edu.cn/');
      }
      else echo "用户名无效或密码错误,请重新输入!";
      }
      else echo "请将信息填写完整!";
      }
      else echo "数据库连接出错";
    }
    ?>
    初学者,要注意一下代码缩进
      

  2.   

    另外你的这种写法尽管不出错,但是不好阅读,你可以稍微修改一下
    你的代码是
    if($result){
                  echo "欢迎你!正在跳转,请稍候...";
                  header('location:http://xyh.jnu.edu.cn/');
              }
              else echo "用户名无效或密码错误,请重新输入!";
    修改后的代码是
    if($result){
                  echo "欢迎你!正在跳转,请稍候...";
                  header('location:http://xyh.jnu.edu.cn/');
              }else{
                  echo "用户名无效或密码错误,请重新输入!";
              }
      

  3.   

    第2行:if($_POST["register"]){
    第8行:if($_POST["username"] And $_POST["password"] And $_POST["login"]){
    报错是undefine index:register(username)
      

  4.   

    试试
    <html>
    <body>
    <form name="login" action="?" method="post" target="_self">
      <input name="text" type="text" size="20" style="margin-bottom:40px;"/>
      <input name="password" type="password" size="20" />
      <input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);" onclick="location.href='application.html'">
      <input id="button" type="submit" value="" name="login" style="background-image:url(images/login.jpg);;">
    </form>
    </body>
    </html>——login.php——
    <?php  $conn=mysql_connect("localhost:3306","root","root");
      if(mysql_select_db("MYDB"))
      {
      echo "open sucessfully!";
      if($_POST["username"] And $_POST["password"])
      {
      echo "post sucessfully!";
      $sql="SELECT ID FROM USER WHERE EXISTS (
      SELECT * FROM user WHERE ID=$username and PSW=$password)";
      $result=mysql_query($sql);
      if($result)
      {
      echo "欢迎你!正在跳转,请稍候...";
      header('location:http://xyh.jnu.edu.cn/');
      }
      else echo "用户名无效或密码错误,请重新输入!";
      }
      else echo "请将信息填写完整!";
      }
      else echo "数据库连接出错";
    ?>
      

  5.   

    依然……
    open sucessfully!请将信息填写完整!
      

  6.   

    name="text"   
    name="password" if($_POST["username"]&&$_POST["password"]&&$_POST["login"])上下不一致
      

  7.   

    sorry.贴错了。<input name="username" type="text" size="20" style="margin-bottom:40px;"/>
    只是结果还是一样
      

  8.   

    做一下改动
    第2行:if( isset( $_POST["register"]) ){
    第8行:if( isset($_POST["username"]) and $_POST["username"] And $_POST["password"] And $_POST["login"]){
      

  9.   


    当提交之后,
    $_POST["register"] 和$_POST["login"]永远为NULL;
    isset( $_POST["register"])的值永远为false;  
    因为value=""
      

  10.   

    不好意思,上一帖有一点错误,应该是
    当提交之后,
    $_POST["register"] 和$_POST["login"]永远为NULL;因为value=""
    isset( $_POST["register"])的值永远为false;
    修改方法:
    在login.php中
    第8行: if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
    改为: if($_POST["username"]&&$_POST["password"]&&isset($_POST["login"]))即login.php中$_POST["login"]均改为isset($_POST["login"]);
    $_POST["register"]均改为isset($_POST["register"])
      

  11.   

    谢谢各位了,我换了个机器就没有那个错误了,不过里面的确还有另外一些错误。
    $sql="SELECT ID FROM USER WHERE EXISTS (
          SELECT * FROM user WHERE ID=$username and PSW=$password)";
    里面的变量应该加上单引号,不然它依然得不到值
      

  12.   

    f($result){
                  echo "欢迎你!正在跳转,请稍候...";
                  header('location:http://xyh.jnu.edu.cn/');
              }
              else echo "用户名无效或密码错误,请重新输入!";
    你都echo了,下边还能header???
      

  13.   

    解决了就好 不过我建议<?php
     if($_POST["register"]) header('location:application.html');
     else{
      $conn=mysql_connect("127.0.01","root","");   
      if(mysql_select_db("MYDB"))
      {
      echo "open sucessfully!";
      if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
      {
      echo "post sucessfully!";
      $sql="SELECT ID FROM USER WHERE EXISTS (
      SELECT * FROM user WHERE USER=$username and PSW=$password)";
      $result=mysql_query($sql);
      if($result)  
      {
      echo "欢迎你!正在跳转,请稍候...";
      header('location:http://xyh.jnu.edu.cn/');
      }
      else echo "用户名无效或密码错误,请重新输入!";
      }
      else echo "请将信息填写完整!";
      }
      else echo "数据库连接出错";}数据的引索字段 特别是 ID 尽量不要用字符串来定义内容,这样的话 你需要获取值的时候 就需要另外定义一个有规则的字段才能很好的获取 
    以上我帮你修改了一下
    数据库 建立 3个字段 ID USER 和PSW