初学php,照书上敲的下面代码,可是运行的时候即使用户名和密码都写上了,按登陆时,跳出来的还是用户名密码不能为空的提示栏
<?php
if(isset($_POST['Submit']) && $_POST['Submit']=="登陆"){
  $user=$_POST['user'];
  $pass=$_POST['pass'];
    if(empty($user) || empty($pass)){
       echo "<script>alert('用户名或密码不能为空');</script>";
       }else{
     echo "输入的用户名为:$user 密码为:$pass"; 
   }
}
?>

解决方案 »

  1.   

    现在不知道为什么又好了
    下面应该是原来的
    <form id="form1" name="form1" method="post" action="">
    <label>
     <input type="text" name="user" id="user"/>
    </label>
     </form>
    <form id="form2" name="form2" method="post" action="">
    <label>
     <input type="password" name="pass" id="pass"/>
    </label>
     </form>
    <form id="form3" name="form3" method="post" action="">
    <label>
    <input type="submit" name="Submit" value="登陆" />
    </label>
     </form>
    后来我好像把上面的删了好多成了下面这样
          <input type="text" name="user" id="user"/>
    <input type="password" name="pass" id="pass"/>
    <input type="submit" name="Submit" value="登陆" />
    然后就莫名其妙的好了
      

  2.   

    <form id="form1" name="form1" method="post" action="">
        <input type="text" name="user" id="user"/>
        <input type="password" name="pass" id="pass"/>
        <input type="submit" name="Submit" value="登陆" />
    </form>
      

  3.   

     这个是我一直后退找出来的原版有错误的表单
    <form id="form2" name="form2" method="post" action="">
             <label>
            <input type="text" name="user" id="user"/>
            </label>
               </form> 
           <form id="form3" name="form3" method="post" action="">
            <label>
              <input type="password" name="pass" id="pass"/>
              </label>
          </form>
            <form id="form1" name="form1" method="post" action="">
          <label>
            <input type="submit" name="Submit" value="登陆" />
           </label>
         </form>
    这是我现在改出来的,运行正确的
    form id="form1" name="form1" method="post" action="">
            <input type="text" name="user" id="user"/>
           
               <input type="password" name="pass" id="pass"/>
             
         <input type="submit" name="Submit" value="登陆" />
        
         </form>
    不知道为毛改成这样就是对的了,求解!!!!!!!!!!!
      

  4.   

    还不明白。你最后一个form表单组只有 submit 控件。提交后user 和pass 永远是空的。因此不能登陆。
      

  5.   

    -_-!
    你原来提交的表单
    form id="form1" name="form1" method="post" action="">
      <label>
      <input type="submit" name="Submit" value="登陆" />
      </label>
      </form>
    只有 submit 里面没有user pass
    你原先写了3个form分别包含user pass submit 这是完全错误的。
    form id="form1" name="form1" method="post" action="">
      <input type="text" name="user" id="user"/>
       
      <input type="password" name="pass" id="pass"/>
       
      <input type="submit" name="Submit" value="登陆" />
       
     </form>
    这才是正确的。
      

  6.   

    也就是说下面这段代码中的$_POST['']) 永远只跟离他最近的表单才产生联系??
    <?php
    if(isset($_POST['Submit']) && $_POST['Submit']=="登陆"){
      $user=$_POST['user'];
      $pass=$_POST['pass'];
      if(empty($user) || empty($pass)){
      echo "<script>alert('用户名或密码不能为空');</script>";
      }else{
    echo "输入的用户名为:$user 密码为:$pass";  
    }
    }
    ?> 
    如果有横多表单在一块,这个最近指的是上面最后一个或者下面第一个跟着的表单??
      

  7.   

    -_-!
    也就是说下面这段代码中的$_POST['']) 永远只跟离他最近的表单才产生联系??
    不对。
    是你提交的那个表单。你点击了那个表单的提交按钮,哪个表单就会提交。跟距离没有一毛钱关系的。form id="form1" name="form1" method="post" action="">
      <input type="text" name="user" id="user"/>
       
      <input type="password" name="pass" id="pass"/>
       
      <input type="submit" name="Submit" value="登陆" />
       
     </form>
    这是一个整体 但你点击提交按钮后 这个表单会提交,$_POST 就跟他挂钩了,你再有其他很多很多表单也没用,因为那些表单没有提交啊。
      

  8.   

    <form id="form1" name="form1" method="post" action="">
      <label>
      <input type="submit" name="Submit" value="登陆" />
      </label>
      </form>
    不是最近,注意红色部分,<form></form> 成对出现的。即为一组表单。你的里面没有user/pass 提交后自然就是空的。
      

  9.   

    我看着这问题就很纠结啊。oh mygod!
      

  10.   

    书上没讲$_POST用法,只是例子上有,php参考手册里关于它的解释太抽象了,还有好多英文,看不懂,     ╮(╯﹏╰)╭      ╮(╯﹏╰)╭   我是小白
    以上说的都懂了
    但我还想问,如果其他表单有类似$_POST['Submit']提交功,它的动作是提交表单,可以把 Submit换成其他名字就好了,是不?
    随便什么名字都行?
      

  11.   

    如果你是都提交到一个php做处理 你用submit的名字做区别也行的。 如果是不同的php做处理 就没必要了 一样的也可以,不冲突。
    form id="form1" name="form1" method="post" action="">
      <input type="hidden" name="mode" value="back"/>
      <input type="text" name="user" id="user"/> 
      <input type="password" name="pass" id="pass"/>  
      <input type="submit" name="Submit" value="登陆" /> 
     </form><form id="form1" name="form1" method="post" action="">
      <input type="hidden" name="mode" value="confirm"/>
      <input type="text" name="user" id="user"/> 
      <input type="password" name="pass" id="pass"/>  
      <input type="submit" name="Submit" value="登陆" />
     </form>你也可以这样 根据$_POST['mode']  的值进行区分(这是用一个php处理)。
    if($_POST['mode'] == 'back'){
     .....
    }
    if($_POST['mode'] == 'confirm'){
      .....
    }
      

  12.   

    理解有些误差,其实我是说,在同一个表单里
    <form id="form1" name="form1" method="post" action="">
      <input type="text" name="user" id="user"/>
        
      <input type="password" name="pass" id="pass"/>
        
      <input type="submit" name="Submit" value="登陆" />
        <input type="submit" name="Submit1" value="提交" /> </form>
    <?php
    if(isset($_POST['Submit']) && $_POST['Submit']=="登陆"){
     if(isset($_POST['Submit1']) && $_POST['Submit1']=="提交"){
      

  13.   


    print_r($_POST);看看post数组中有哪些数据,是不是有$_POST['user']和$_POST['pass'],没有的就看看是不是表单哪里出问题了。
      

  14.   


    <?php if(isset($_POST['user'])){
    echo "<javascript>alert("+$_POST['user']+"   "+$_POST['pass']+");</javascript>";
    }else{?>
    <form id="form1" name="form1" method="post" action="">
      <input type="text" name="user" id="user"/>
       
      <input type="password" name="pass" id="pass"/>
       
      <input type="submit" name="Submit" value="登陆" />
      <input type="submit" name="Submit1" value="提交" /> </form>
    <?php }?>
      

  15.   

    明白了吗。你最后一个form表单组只有 submit 控件。提交后user 和pass 永远是空的。因此不能登陆。初学时,多放点错对自己有好处~·
      

  16.   

    WHY???????????
    一个表单里只能有一个 <input type="submit" name="Submit" value="登陆" />????为什么不能<form id="form1" name="form1" method="post" action="">
    <input type="submit" name="Submit" value="登陆" />
      <input type="submit" name="Submit1" value="提交" />  </form>
    <?php if(isset($_POST['Submit']) && $_POST['Submit']=="登陆"){.......}
     if(isset($_POST['Submit1']) && $_POST['Submit1']=="提交"){......}  ?>
      

  17.   

    把input的内容放在一个form表单里提交。这样你才能取到值。
      

  18.   

    这么一个问题都26楼了。oh mygod!
      

  19.   

    小板凳,嗑瓜子,先把html学会吧。