我已經開始使用PHP和HTML,並希望使用三個下拉列表(選擇標記)執行簡單的代碼。但是當我從一個選擇,其他兩個選定的值消失。我應該在提交時保存值,然後回顯。如果是,我該怎麼做。示例代碼將不勝感激。PHP和HTML選擇標記
<?php // formtest_2.php
$name_vid = $name_type = $name_model = "";
if (isset($_POST['vid']))$name_vid=($_POST['vid']);
else $name_vid="no";
if (isset($_POST['type']))$name_type=sanitizeString($_POST['type']);
else $name_type="no";
if (isset($_POST['model']))$name_model=sanitizeString($_POST['model']);
else $name_model="no";
echo <<<_END
<html>
<head>
<title>Form Test Two</title>
</head>
<body>
Make your selection:
<form action="formtest_2.php" method="post">
<select name="vid" size="1">
<option value="" selected>Product</option>
<option value = "apple">apple</option>
<option value = "cherry">cherry</option>
<option value = "orange">orange</option>
</select>
<input type="submit"/><br />
<select name="type" size="1">
<option value="" selected>Color</option>
<option value = "green">green</option>
<option value = "red">red</option>
<option value = "orange">orange</option>
</select>
<input type="submit"/><br />
<select name="model" size="1">
<option value="" selected>Model</option>
<option value = "1-a">1-a</option>
<option value = "2-b">2-b</option>
<option value = "3-c">3-c</option>
</select>
<input type="submit"/><br />
</form>
</body>
</html>
_END;
echo "Your selection is: $name_vid and $name_type and $name_model";
function sanitizeString($var)
{
$var = stripslashes($var);
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
}
?>
如果我理解您的問題是正確的,您的選擇將在您提交後消失。如果您希望保持選定狀態,則應過濾
我有3個下拉列表。每個都有單一的選擇。當我從第一個列表中選擇蘋果。它看起來像「你的選擇是:蘋果和(沒有)和(沒有)」。接下來我從第二個紅色列表中選擇。它會像「你的選擇是:(無),紅色和(無)」。我想要的是「你的選擇是:蘋果,紅色和3-C」。 – user1706819
我選擇蘋果,綠色,1-c並提交,結果如下: 您的選擇是:蘋果,綠色和1-a。所以不明白是什麼問題? – MJoraid