将数组值与文本框输入进行比较

时间:2014-06-16 05:43:41

标签: php forms textbox

目前还没有找到任何解决方案,所以我在这里发布。

我有以下代码:

<?php
//array: key=> value
$begrippen = array(
    "agrarisch" => "jagers en boeren",
    "cultuur" => "jagers en boeren",
    "jagers-verzamelaars" => "jagers en boeren",
    "landbouwsamenleving" => "jagers en boeren",
    "burgerschap" => "grieken en romeinen",
    "christendom" => "grieken en romeinen",
);
$message1 = 'Goedzo!';
$message2 = 'Fout!';

$random_key = array_rand($begrippen);
$value = $begrippen[$random_key];
echo "Begrip: $random_key <br />";
?>

<form method="POST">
<input type="text" autocomplete="off" name="input1" autofocus>
</form>

<?php
if($_POST['input1'] == $value){
    echo "<SCRIPT> alert('$message1'); </SCRIPT>";
}else{
    echo "<SCRIPT> alert('$message2'); </SCRIPT>";
};
?>

它从我的数组中获取一个随机密钥,获取该值并将其放入$ value中。当我在文本框中输入输入时,我希望它与$ value进行比较并让它显示一条消息(好或坏)。然而出了点问题,我不知道是什么,因为有时它说它很好,有时候它是错的(虽然答案是对的)。

2 个答案:

答案 0 :(得分:0)

试试这个,

您可以在表单中添加隐藏字段,并指定要引用的值。

<form method="POST">
    <input type="text" autocomplete="off" name="input1" autofocus>
    <input type="hidden" name="inputref" value="<?php echo $value;?>">
    <input type="submit" name="submit" value="Submit">
</form>
PHP中的

:你的情况将是

if(isset($_POST['submit'])){

   if($_POST['input1'] == $_POST['inputref']){
   ... Your code
   }
}

答案 1 :(得分:0)

我不知道没有form提交这将如何运作?因此,在submit内添加form按钮。

POST请求被调用时,您需要更改逻辑。

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['check'])){
    //array: key=> value
    $begrippen = array(
       "agrarisch" => "jagers en boeren",
       "cultuur" => "jagers en boeren",
       "jagers-verzamelaars" => "jagers en boeren",
       "landbouwsamenleving" => "jagers en boeren",
       "burgerschap" => "grieken en romeinen",
       "christendom" => "grieken en romeinen",
   );
   $message1 = 'Goedzo!';
   $message2 = 'Fout!';

   $random_key = array_rand($begrippen);
   $value = $begrippen[$random_key];
   echo "Begrip: $random_key <br />";
   if($_POST['input1'] == $value){
      echo "<SCRIPT> alert('$message1'); </SCRIPT>";
   }else{
      echo "<SCRIPT> alert('$message2'); </SCRIPT>";
   }
}
?>
<form method="POST">
   <input type="text" autocomplete="off" name="input1" autofocus />
   <input type="submit" value="Check" name="check" />
</form>