2014-07-14 106 views
-2

我有一個下拉列表,如下所示。如果用戶從列表中選擇某個項目,我想將其捕獲到我的php代碼中並打印出來。以下代碼無法捕獲該值,並始終打印出「無法使用」。我是新來的HTML/PHP和任何幫助,將不勝感激。如何從HTML中的下拉菜單中獲取值到php

<select id="selectype" name="cards"> 
<option value="WorkOrder">Work Order</option> 
<option value="FirstName">First Name</option> 
</select> 

<?php 
if (cards.value == "WorkOrder") 
    echo "WorkOrder selected"; 
else if (card.value == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+0

請在這裏提問之前瞭解php的基礎知識。 *您缺少變量的$符號 *選擇somthing不能觸發php代碼,除非您提交表單並使用$ _GET和$ _POST的值 – gries

+0

您可能想要從PHP入門教程開始。 'cards'和'card'是不同的標識符,它們不是PHP變量(PHP變量以'$'開始),並且你沒有在任何地方定義它們或者將它們初始化爲從'$ _POST' 。老實說,它甚至不應該打印出「不工作」,因爲你編寫的代碼甚至不可解析。 – David

+0

你可以從字面上谷歌搜索你的標題,你會得到答案。相反,你浪費了你生命中潛在的5分鐘等待你在幾秒鐘內完成的事情:D谷歌,先生。谷歌福。 –

回答

1

嘗試在自提交表單包裹你的HTML ..

<form action="" method="POST"> 

    <select id="selectype" name="cards"> 
     <option value="WorkOrder">Work Order</option> 
     <option value="FirstName">First Name</option> 
    </select> 

    <input type="submit" /> 

</form> 

<?php 

    $cards = $_POST['cards']; 

    if ($cards == "WorkOrder") 
     echo "WorkOrder selected"; 

    else if ($cards == "FirstName") 
     echo "FirstName selected"; 

    else 
     echo "Doesn't work"; 
?> 
+0

您有2個語法錯誤。 –

+0

剛剛更正,謝謝。 – OllyBarca

+1

謝謝你給我舉一個例子。現在我理解了POST概念以及如何通過php訪問它。 –

0

您必須在您的PHP代碼中使用您的元素名稱。首先,你必須創建一個表單,它將把你的變量發送到你的PHP代碼中。或者,如果您不想使用表單,您可以通過jQuery執行此操作,但更困難。

你有下拉,這被稱爲cards,它只能包含1個值,所以我編輯你的代碼下面。現在,您將從名爲cards的元素中獲得價值,然後與您的IF(切換會更好,也許),您可以識別,設置爲值。

<form action="" method="POST"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

<?php 
$cards = $_POST['cards']; 
if ($cards == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($cards == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+3

你甚至是PHP嗎? –

+0

是的,我的代碼有什麼問題? – pes502

+0

預先刪除和預編輯它不會工作。 – rlemon

-1

試試這個:

<?php 
if ($_REQUEST['cards'] == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($_REQUEST['cards'] == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+1

如果表單方法是明確定義的,就像這樣使用它。當您不知道將要傳入的請求類型時,最好使用「$ _REQUEST」。 –

0

你不能在你的PHP這樣的一個HTML的字段的值辦法。當你看到該網站出現時,PHP早已消失。 PHP正在服務器上執行,並在執行後,頁面呈現並「放」在瀏覽器上。

所以,如果你想擁有一個字段的值,你必須將這個值「放回」到服務器。你至少需要這樣的:

<form action="yourphpcode.php" method="post"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

和一個提交按鈕,也會有所幫助。

在你的「yourphpcode.php」就可以訪問這些值是這樣的:

<?php 
    $cards = $_POST['cards'] 
?> 

...你真的應該讀一個初學者教程。 ;-)

相關問題