奇怪的PHP表单问题

时间:2013-04-12 20:31:26

标签: php forms post

我对post和form元素有一个简单但奇怪的问题。

我有一张表格

<form id='form' name='form' method='post' action='test.php'>


      <?php
          foreach ($tests as $test){
              echo $test['ID']."<br>"; //output 1  2  3  4  5   6
              echo $_POST['testSelect'].'<br>';  //output 3 3 3 3 3 3

              if($test['ID'] == $_POST['testSelect']){  //which 3 mataches 3
                  echo 'match';
              }
          }
      ?>



    <select name='testSelect'>
      <?php
          foreach ($tests as $test){
              echo '<option value="'.$test['ID'].'">'.$test['Name'].'</option>';
          }
      ?>
    </select>
     <input type='submit' value='Go'></input>

我希望匹配$_POST和我的变量,并在匹配时输出“match”。

但是,我的输出中没有显示“Match”。它完全没有意义!

任何人都可以帮忙吗?非常感谢

3 个答案:

答案 0 :(得分:1)

也许只是尝试

if((int)trim($test['ID']) == (int)trim($_POST['testSelect'])){  
  echo 'Matched';
}

答案 1 :(得分:1)

您确定要实际执行POST请求吗?启用error_reporting也可能会有所帮助。

error_reporting(-1);
ini_set('display_errors', 1);

答案 2 :(得分:1)

我认为这与Post param是一个String,而Test param可能是一个Integer。 将parseInt()放在Post变量

周围