从php中的<select>标签中选择选项以使用if </select>

时间:2014-06-03 13:33:00

标签: php html select post if-statement

我试过这段代码:

<select name="selectedOption">
    <option value="select">  Select  </option>
    <option value="option1">  option 1  </option>
    <option value="option2">  option 2  </option>
</select>
<?php $selectedOption = $_POST['selectedOption']; ?>
<?php if($selectedOption == "option1") : ?>
    <a href="#">This will only display if option 1 selected</a>
<?php elseif($selectedOption == "option2") : ?>
    <a href="#">This will only display if option 2 selected</a>
<?php endif; ?>

但是当我在网上测试它时,我会遇到错误。 apears的错误是&#34;注意:未定义的索引:第40行&#34的C:\ wamp \ www \ vilaLuz \ index.php中的selectedOption;

我想要做的是从选择中获取选项,如果选择了选项1,则在下面放置一个文本,如果选择选项2,则选择不同的文本,这可能吗?

4 个答案:

答案 0 :(得分:1)

<form action="" method="POST">
<select name="selectedOption">
    <option value="select">  Select  </option>
    <option value="option1">  option 1  </option>
    <option value="option2">  option 2  </option>
</select>
<input type="submit" value="post"/>
</form>
<?php if(isset($_POST['selectedOption'])) : ?>
<?php $selectedOption = $_POST['selectedOption']; ?>
<?php if($selectedOption == "option1") : ?>
    <a href="#">This will only display if option 1 selected</a>
<?php elseif($selectedOption == "option2") : ?>
    <a href="#">This will only display if option 2 selected</a>
<?php endif; ?>
<?php endif; ?>

答案 1 :(得分:0)

如果您尚未发送表单,则$ _POST [&#39; selectedOption&#39;]将不会设置为空!

因此;

<?php $selectedOption = (!empty($_POST['selectedOption']) ? $_POST['selectedOption'] : ''); ?>

答案 2 :(得分:0)

您需要先使用$_POST['selectedOption']检查isset是否存在:

<?php
    $selectedOption = isset($_POST['selectedOption'])
                    ? $_POST['selectedOption']
                    : false;
?>

这是一个三元if语句,如果设置了$selectedOption,则设置为$_POST['selectedOption']的值,如果不是false,则设置为{{1}}。吨。

答案 3 :(得分:0)

您应该检查$ _POST [&#39; selectedOption&#39;]是否设置且不为空。 Empty()为你做这些测试。

<?php
if (!empty($_POST['selectedOption'])) {
    $selectedOption = $_POST['selectedOption'];
    if($selectedOption == "option1") {
        echo('<a href="#">This will only display if option 1 selected</a>');
    }
    elseif($selectedOption == "option2"){
        echo('<a href="#">This will only display if option 2 selected</a>');
    }
}
?>