PHP - 奇怪的一个

时间:2014-07-19 23:35:55

标签: php arrays

我正在尝试创建一个“找到奇怪的单词”应用程序(给出一个单词列表,如猫,狗,鸟和汽车,后者是奇怪的,因为它不是动物)。

首先,我从数据库中随机检索并随机播放五个单词。他们被称为:奇数(奇数),一,二,三,四(其他四个)。

然后,我生成一个包含五个单词的表单(单选按钮),以便用户可以选择其中一个:

$words = array
(
    $odd,
    $one,
    $two,
    $three,
    $four,
);
shuffle($words);

foreach ($words as $word)
   {
     $string = $word;
     echo '<html><input type="radio" name="odd" value="'.$string.'">'.$string.'<br><br></html>';
   }

在下一个PHP页面中,我想检查所选单词是否为奇数。我无法弄清楚该怎么做。 有什么建议?谢谢!

3 个答案:

答案 0 :(得分:1)

你需要以某种方式将奇数字带到下一页。有很多不同的方法可以做到这一点,可以说最简单的方法是将奇数单词保存在表单中的变量中

<input type="hidden" name="realodd" value="<?php print $odd; ?>" />

在下一页上,您可以通过将所选单词与隐藏单词进行比较来检查所选单词是否正确。

if ($_POST['realodd'] == $_POST['odd']) {
  print "You found the odd word.";
}

只需查看源代码就可以轻松解决这个问题。更好的解决方案是在会话cookie中保存奇数字:

session_start();
$_SESSION['realodd'] = $odd;

然后在下一页上验证几乎像以前一样

if ($_SESSION['realodd'] == $_POST['odd']) {
  print "You found the odd word.";
}

答案 1 :(得分:1)

使用$ _SESSION变量来处理此问题,以确定是否选择了奇数

说明以下代码来自显示单选按钮的Odd.php(假设您将处理表单元素并提交按钮)

<?php
    session_start();
    $_SESSION['odd'] = $odd;

    $words = array
    (
        $odd,
        $one,
        $two,
        $three,
        $four,
    );

    shuffle($words);
    echo '<form method="POST" action="Next.php">';
    foreach ($words as $word)
    {
        $string = $word;
        echo '<input type="radio" name="odd" value="'.$string.'">'.$string.'<br><br>';
    }
    echo '<input type="submit" /></form>';
?>

在Next.php文件中,使用下面的代码验证是否选择了奇数

<?php
    session_start();
    $odd = $_SESSION['odd'];
    if ($_REQUEST['odd'] == $odd) { // $_REQUEST handles both $_POST and $_GET
        echo "Odd was selected";
    } else {
        echo "Odd was not selected";
    }
?>

希望这有帮助!

答案 2 :(得分:0)

session_start();

if(isset($_POST['odd'])&& isset($_SESSION['odd'])&& $_POST['odd']==$_SESSION['odd']){
  exit ("You're a genius, you got the right word");
}else{
  if (isset($_POST['odd'])){ echo "Sorry, try again";}
}

   //sql query goes here

$words = array
(
    $odd,
    $one,
    $two,
    $three,
    $four,
);
$_SESSION['odd'] = $odd;
shuffle($words);
    echo '<form method="POST">';
foreach ($words as $word)
   {
     echo '<input type="radio" name="odd" value="$word"/>$word<br><br>';
   }
    echo '<input type="submit" value="Submit"/>';
    echo '</form>';