0

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

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

到目前为止我的代码:

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

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

4

2 回答 2

3

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

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

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

于 2012-08-14T06:03:27.270 回答
0

首先,您缺少表单操作:

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

然后您需要创建一个新脚本 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'];
?>

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

于 2012-08-14T06:14:43.427 回答