2014-11-05 52 views
1

初學者在這裏。我希望我的用戶從選擇菜單中選擇要記住的選項。我有這個部分。但現在,它沒有正確驗證(之前是這樣)。我該如何解決?您如何記住使用PHP的選擇菜單中的用戶選擇?

這裏是我的代碼用於驗證:

<?php 
    $color = $_POST["color"]; 

    if(isset($_POST["submit"])) { 

    if($_POST["color"] == 0) { 
     $errors[] = "Select a color option."; 
    } 

下面是HTML形式的選擇列表並記住選擇PHP:

<h3>MP5 Information</h3> 
<span>Color:</span> 
<select name="color"id="color"> 
    <option value="">- Select color -</option> 
    <option value="sapphire"<?php echo $color == 'sapphire' ? 'selected="selected"' : ''; ? 
    >>Sapphire</option> 
    <option value="amethyst"<?php echo $color == 'amethyst' ? 'selected="selected"' : ''; ? 
    >>Amethyst</option> 
    <option value="rose"<?php echo $color == 'rose' ? 'selected="selected"' : ''; ? 
    >>Rose</option> 
    <option value="topaz"<?php echo $color == 'topaz' ? 'selected="selected"' : ''; ? 
    >>Topaz</option> 
</select> 
<br/><br/> 

回答

4

我不知道它是如何工作之前,但你的病情將無法正常工作:

'sapphire' == 0 

例如evaluates to true

你可能想是這樣的:

if (empty($_POST["color"])) { 

還要注意@ PLEASEWAIT的有關結束標記答案。

10

您的代碼包含語法錯誤。 PHP關閉標記應爲?>。您有一個新的行?>之間。先修復它,然後用括號括起來。

<select name="color" id="color"> 
    <option value="">- Select color -</option> 
    <option value="sapphire"<?php echo ($color == 'sapphire') ? 'selected="selected"' : ''; ?>>Sapphire</option> 
    <option value="amethyst"<?php echo ($color == 'amethyst') ? 'selected="selected"' : ''; ?>>Amethyst</option> 
    <option value="rose"<?php echo ($color == 'rose') ? 'selected="selected"' : ''; ?>>Rose</option> 
    <option value="topaz"<?php echo ($color == 'topaz') ? 'selected="selected"' : ''; ?>>Topaz</option> 
</select> 
+0

該OP確實收到'?>',他們只是分手。注意''藍寶石'和其他人'''在他們的最後? ':''; ?' - 編輯:就像你說的。對不起,漫長的一天 – 2014-11-05 02:52:49

2
 
//First make sure its not empty. 



> 123 
Etc... 

然後加入條件,每一個選項

等了所有選項。請記住,每個選項的xahge條件都是相同的。

請不要這麼說,即使在我們的php.INI中禁用php短暫開啓,也啓用<?=

乾杯

相關問題