$param_value = "";
echo "<script language='javascript'>alert('".$param_name."');</script>";
if(isset($_POST[$param_name])){
 echo "<script language='javascript'>alert('11');</script>";
$param_value = $_POST[$param_name];
}
else if(isset($_GET[$param_name])){
echo "<script language='javascript'>alert('22');</script>";
$param_value = $_GET[$param_name];
}
else{
echo "<script language='javascript'>alert('33');</script>";
}代码如上,我在form里面加了<INPUT type=hidden value=login name=test>, 把$param_value 赋值为test, 通过以上代码能够不能取得值,程序走了else块,
请教各位,为什么?

解决方案 »

  1.   

    上面我说了“把$param_value 赋值为test”
      

  2.   


    $param_name = "test";
    echo " <script language='javascript'>alert('".$param_name."'); </script>"; 
    if(isset($_POST[$param_name])){ 
    echo " <script language='javascript'>alert('11'); </script>"; 
    $param_value = $_POST[$param_name]; 

    else if(isset($_GET[$param_name])){ 
    echo " <script language='javascript'>alert('22'); </script>"; 
    $param_value = $_GET[$param_name]; 

    else{
    echo " <script language='javascript'>alert('33'); </script>"; 
    }
      

  3.   


    <?php
    if(!empty($_POST['test']) && $_SERVER['REQUEST_METHOD'] == 'POST') {
     $param_name = "test";
     $param_value = "";
     echo " <script language='javascript'>alert('".$param_name."'); </script>";
     if(isset($_POST[$param_name])){
      echo " <script language='javascript'>alert('11'); </script>";
      $param_value = $_POST[$param_name];
     }
     else if(isset($_GET[$param_name])){
      echo " <script language='javascript'>alert('22'); </script>";
      $param_value = $_GET[$param_name];
     }
     else{
      echo " <script language='javascript'>alert('33'); </script>";
     }
    }
    ?>
    <form method="post" >
      <INPUT type=hidden value="login" name="test">
      <input type="submit" value="提交">
    </form>
      

  4.   

    LZ你给$param_value赋值,可$param_name没有值啊,当然会走else了.
      

  5.   

    我感觉是isset的问题,如果我把
     if(isset($_POST[$param_name])){
      echo " <script language='javascript'>alert('11'); </script>";
      $param_value = $_POST[$param_name];
     }
     else if(isset($_GET[$param_name])){
      echo " <script language='javascript'>alert('22'); </script>";
      $param_value = $_GET[$param_name];
     }
     else{
      echo " <script language='javascript'>alert('33'); </script>";
     }
    去掉,直接
    echo " <script language='javascript'>alert('.$_POST[$param_name]."'); </script>";
    是可以的,所以我感到很奇怪
      

  6.   

    PHP没有问题 LZ的逻辑有问题
      

  7.   

    既然你都知道走了else,那就知道怎么解决了啊..