2014-01-14 13 views
0

我需要做的是讓用戶在下拉列表中選擇。然後,當用戶點擊提交時,我將有一個if..else語句,根據用戶在下拉列表中選擇的內容執行不同的代碼。如何在下拉列表中保存和使用用戶選擇的選項作爲變量?

Shipping Provider: <select id='ship' name='ship'> 
<option value="val1">Value1</option> 
<option value="val2">Value2</option> 
<option value="val3">Value3</option> 
<option value="val4">Value4</option> 
</select> 

然後在那之後,我不知道如何保存它。我在想的是這樣的:

if(isset($_POST['extract'])){ 

$dropdownvalue = $_POST['ship']; 

if($dropdownvalue == 'Value1'){ 
     EXECUTE CODE HERE 
} 
else if($dropdownvalue == 'Value2'){ 
     EXECUTE CODE HERE 
} 
else if($dropdownvalue == 'Value3'){ 
     EXECUTE CODE HERE 
} 
else{ 
     EXECUTE CODE HERE 
} 
} 

但不知何故,它不工作。任何人都可以告訴我什麼是錯的?

回答

1

由於你已經設置在下拉選項這將是價值

改變你的代碼,這個值:

if(isset($_POST['extract'])){ 

$dropdownvalue = $_POST['ship']; 

if($dropdownvalue === 'val1'){ 
    EXECUTE CODE HERE 
} 
else if($dropdownvalue === 'val2'){ 
    EXECUTE CODE HERE 
} 
else if($dropdownvalue === 'val3'){ 
    EXECUTE CODE HERE 
} 
else{ 
    EXECUTE CODE HERE 
} 
} 

小explantion

當你使用一個選項元素的值attribtute將使用的價值屬性,這也是happing在你的代碼。如果不使用值屬性,則將使用選項元素之間的字符串。

所以你的HTML看起來像這樣:

<option>string</option> 

在PHP中,您將獲得價值爲string。但是,當你使用的屬性值,你將能夠顯示一個字符串,它是不一樣的,你會被髮送值

你的HTML看起來像這樣:

<option value="1">String</option> 

現在的價值,你會得到在PHP中是1,這是非常有用的,在我的opion中,你應該總是使用值屬性。

+0

好的。非常感謝! :d – nicole101

1

林不知道,但犯規,你需要檢查選項值一樣

if($dropdownvalue == 'val1'){ 
    .... 
} 

還可以,調試,呼應$ dropdownvalue值,看看有什麼價值,它實際上具有

1

您也可以考慮使用開關的情況下在這種情況下

if(isset($_POST['extract'])){ 
    if(isset($_POST['ship'] and !empty($_POST['ship'])){ 
     $dropdownvalue = $_POST['ship']; 
     switch($dropdownvalue){ 
      case 'val1' : 
       // Code here 
       break; 
      case 'val2' : 
       // Code here 
       break;     
      case 'val3' : 
       // Code here 
       break;    
      case 'val4' : 
       // Code here 
       break;    
      default : 
       // Code here    
     }   
    } 
} 
1

您將有選擇的選項不是文本的價值。

if(isset($_POST['extract'])){ 

    $dropdownvalue = $_POST['ship']; 

    if($dropdownvalue == 'val1'){ 
      EXECUTE CODE HERE 
    } 
    else if($dropdownvalue == 'val2'){ 
      EXECUTE CODE HERE 
    } 
    else if($dropdownvalue == 'val3'){ 
      EXECUTE CODE HERE 
    } 
    else{ 
      EXECUTE CODE HERE 
    } 
    } 
相關問題