1

我正在尝试在 WordPress/PHP 中创建一个带有免责声明和协议的页面。

免责声明:

  1. 如果用户从下拉列表中选择“英国”,他们将被发送到协议页面。
  2. 如果用户选择任何其他国家/地区,他们将被发送到“拒绝访问”页面。

协议:

  1. 如果用户点击“我同意”,他们将被发送到最后阶段“做得好”。
  2. 如果用户点击“不同意”,他们将被发送到“拒绝访问”页面。

我提出了以下建议,但选择选项不起作用,我不确定如何将除英国以外的所有国家/地区引导到拒绝访问页面。

任何想法我做错了什么?

<?php 

session_start();
if(!isset($_SESSION['grant_access'])) {
        $_SESSION['grant_access'] = ‘unset’;
}

if(isset($_POST['United Kingdom'])) {
        $_SESSION['grant_access'] = ‘partialset’;
}

if($_SESSION['grant_access'] == ‘partialset’) { ?>
 '<p>You are nearly there. Now you must agree.</p>';
    <form method="post">
        <form method="post">
                <input type="submit" value="I Agree" name="agree" />
        </form>
<?php 
}

if($_SESSION['grant_access'] == ‘unset’) {
?>
        <h1>Disclaimer.</h1>
        <p>Choose your country.</p>

        <form method="submit">
          <select>
            <option value="Australia" title="Australia">Australia</option>
            <option value="France" title="France">France</option>
            <option value="United Kingdom" title="United Kingdom">United Kingdom</option>
            <option value="United States" title="United States">United States</option>
          </select>
          <input type="submit" value="Submit">
        </form>

<?php
} else {

echo 'Well done.';

} ?>
4

1 回答 1

1

您没有name="..."选择,因此不会在那里提交任何内容。所选选项的value是提交的内容,因此您需要:

<select name="country">
   <option value="United Kingdom" />UK
   ...
</select>

if(isset($_POST['country']) && ($_POST['country'] == 'United Kingdom')) {
    ...
}
于 2013-05-22T15:52:28.490 回答