需要将变量 = 设置为 php/html 中的下拉选择

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11946520/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 02:30:53  来源:igfitidea点击:

Need to set variable = to dropdown selection in php/html

phphtmldrop-down-menu

提问by bneigher

I am new to php and html, and I am required to make a drop down list along with other inputs to create parameters which will be used in a perl script.

我是 php 和 html 的新手,我需要制作一个下拉列表以及其他输入来创建将在 perl 脚本中使用的参数。

I need the drop down to upon submission set a variable = to what the user selected.

我需要在提交时下拉设置一个变量 = 到用户选择的内容。

My code so far:

到目前为止我的代码:

<HTML>
<?php
$value0 = "";
$value1 = "Banana";
$value2 = "Apple";
$value3 = "Orange";
$submittedValue;
?>
<select project="FruitList" id="FruitList">
 <option value = <?php echo $value0; ?>><?php echo $value0; ?></option>
 <option value = <?php echo $value1; ?>><?php echo $value1; ?></option>
 <option value = <?php echo $value2; ?>><?php echo $value2; ?></option>
 <option value = <?php echo $value3; ?>><?php echo $value3; ?></option>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
</HTML>

I am not sure how to use the submit button so that I can set the $submittedValue variable = to the selected value in the dropdown. HELP!!

我不确定如何使用提交按钮,以便我可以将 $submittedValue 变量 = 设置为下拉列表中的选定值。帮助!!

回答by Hüseyin BABAL

You can check submitted value with your existing options like below;

您可以使用现有选项检查提交的值,如下所示;

    <HTML>
        <?php
        $submittedValue = "";
        $value0 = "";
        $value1 = "Banana";
        $value2 = "Apple";
        $value3 = "Orange";
        if (isset($_POST["FruitList"])) {
            $submittedValue = $_POST["FruitList"];
        }
        ?>
        <form action="" name="fruits" method="post">
        <select project="FruitList" id="FruitList" name="FruitList">
         <option value = "<?php echo $value0; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value0; ?></option>
         <option value = "<?php echo $value1; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value1; ?></option>
         <option value = "<?php echo $value2; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value2; ?></option>
         <option value = "<?php echo $value3; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
        </select>
        <input type="submit" name="submit" id="submit" value="Submit" />
        </form>
        </HTML>

EDIT: I have corrected your html and add some functionality to check submitted value

编辑:我已经更正了您的 html 并添加了一些功能来检查提交的值

回答by Mina Abadir

First of all you are missing the form action:

首先,您缺少表单操作:

<HTML>
<?php
$value0 = "";
$value1 = "Banana";
$value2 = "Apple";
$value3 = "Orange";
$submittedValue;
?>
<form action"formProcessing.php" method="POST">

<select project="FruitList" id="FruitList">
<option value = <?php echo $value0; ?>><?php echo $value0; ?></option>
<option value = <?php echo $value1; ?>><?php echo $value1; ?></option>
<option value = <?php echo $value2; ?>><?php echo $value2; ?></option>
<option value = <?php echo $value3; ?>><?php echo $value3; ?></option>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
</HTML>

Then you need to create a new script formProcessing.php, you can access the form variables using $_POST variable.

然后你需要创建一个新的脚本 formProcessing.php,你可以使用 $_POST 变量访问表单变量。

<?php
function filter($data) {
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysql_real_escape_string($data);
return $data;
}
foreach($_POST as $key => $value) {
 $mydata[$key] = filter($value);
}
echo $mydata['FruitList'];
?>

The filter method is used to escape the $_POST variable, in order to protect your Application from MySQL and XSS attacks. This should create a new copy of your $_POST variable however accessible through $mydata array.

filter 方法用于转义 $_POST 变量,以保护您的应用程序免受 MySQL 和 XSS 攻击。这应该创建 $_POST 变量的新副本,但可以通过 $mydata 数组访问。