除了要初始化$a外,跳转语句后最好要跟exit();

解决方案 »

  1.   

    //没看你的程序如何,只是容错
    <?php
    if (isset($_REQUEST["Submit"]))
    {
    if(!isset($_REQUEST["name"]))$a=1;
    if(isset($a) and $a != 1)header("location:submitusr.php");
    }
    ?>
    <form name="form" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
      用户名:
      <input type="text" name="name"><?php if(isset($a) and $a == 1) echo "重填!";?>
      <input type="submit" name="Submit" value="提交">
    </form>
      

  2.   

    //没看你的程序如何,只是容错
    <?php
    if (isset($_REQUEST["Submit"]))
    {
    $a=0;
    if(!isset($_REQUEST["name"]))$a=1;
    if($a != 1)header("location:submitusr.php");
    }
    ?>
    <form name="form" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
      用户名:
      <input type="text" name="name"><?php if(isset($a) and $a == 1) echo "重填!";?>
      <input type="submit" name="Submit" value="提交">
    </form>
      

  3.   

    没有看你的程序:一般情况有两种可能:
    1、location的路径不对
    2、header前面有错误。
    注意:header前面不能有任何输出,包括错误提示。
      

  4.   

    经测试,程序没有问题
    name有值则跳转,无值则重填你遇到了什么问题?