2012-08-14 61 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數組訪問。