PHP-如何根据选择显示特定表单?

时间:2017-06-08 11:46:58

标签: php html forms

我是html和PHP的新词,所以我想问一个问题:在HTMl代码中有一个表单,里面有两个选项可供选择:课程或主题。 我希望在用户选择“课程”时显示表单,如果用户选择“主题”则显示另一个表单。 我该怎么办?

<!DOCTYPE html>
<html>
<head>
    <title>Create a lesson</title>
</head>
<body>

    <?php

    if($_SERVER["REQUEST_METHOD"] == "POST")
    {

        if($_POST["argumetOrLesson"] == "topic")
        {
            //form to input a topic
        }
        else
        {
            //form to input a lesson

        }

    ?>

    <form method="post" action= "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
    <label for="argumetOrLesson">Topic or Lesson?</label>
    <select id="argumetOrLesson" name="argumetOrLesson">
      <option value="topic">Topic</option>
      <option value="lesson">Lesson</option>
    </select>
    <input type="submit" value="Submit">
  </form>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

我们可以使用多个php语句将HTML与PHP分开,但仍然使用PHP条件语句。

我会做的一个好的,快速的,简单的方法是:

<?php if($_POST["argumetOrLesson"] == "topic") { ?>
<form>
    ..your topic form html here...
</form>
<?php } else { ?>
<form>
    ..your topic form html here...
</form>
<? } ?>

显然,将它放在一边并使代码格式化得很漂亮,但它会做到这一点! :)

答案 1 :(得分:0)

以下是代码中的语法错误。你忘记了第一个if语句的结束。用这个替换你的PHP代码:     

if($_SERVER["REQUEST_METHOD"] == "POST")
{

    if($_POST["argumetOrLesson"] == "topic")
    {
        //form to input a topic
    }
    else
    {
        //form to input a lesson

    }
}
?>