我对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
”。它完全没有意义!
任何人都可以帮忙吗?非常感谢
答案 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变量
周围