2012-08-14 60 views
0

我是新来的PHP和HTML,我需要做一个下拉列表连同其他输入来创建将用于perl脚本的参数。需要设置变量=下拉选择在PHP/HTML

我需要下拉到提交后设置一个变量=以用户选择。

我迄今为止代码:

<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中变量=给下拉列表中选择的值。帮帮我!!

+0

该操作不在提交按钮中,而是在窗体的开始标记中。窗体开始标签在哪里? – irrelephant 2012-08-14 05:59:59

+0

顺便说一句,你可以缩短回声的形式为'' – irrelephant 2012-08-14 06:01:34

回答

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和添加一些功能来检查提交的值

+0

哦,是的..这是正确的。我误解了他的问题 – asprin 2012-08-14 06:05:03

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

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