繁体   English   中英

从标签中获取选择的选项 <select>在PHP中使用如果

[英]Get selected option from the tag <select> in php to use on if

我尝试了这段代码:

<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; ?>

但是,当我在网络上对其进行测试时,会出现错误。 出现的错误是“第40行上的C:\\ wamp \\ www \\ vilaLuz \\ index.php中的注意:未定义索引:selectedOption”

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

<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; ?>

如果您尚未发送表单,则$ _POST ['selectedOption']不会设置为空!

所以;

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

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

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

这是一个三元if语句,将$selectedOption的值设置为$_POST['selectedOption']的值(如果设置),否则将其设置为false

您应该检查$ _POST ['selectedOption']是否已设置并且不为空。 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>');
    }
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM