2014-10-02 122 views
0

我有一個單選按鈕的形式,我想要一些代碼來運行,這取決於選擇哪個單選按鈕。最初我是通過使每個選項的「名稱」不同而做到這一點,但由於每個單選按鈕的名稱應該相同,所以會導致問題。單選按鈕和IF語句

下面是一個形式的代碼示例

<li><label for="vsat">YES</label><input type="radio" name="camp" id="vsat" value="vsat" ></li> 
<li><label for="vsat2">NO</label><input type="radio" name="camp" id="vsat2"  value="vsat2" ></li> 

因此,有兩個選項,是或否。如果選擇了「是」,我希望它回顯「您選擇了YES」,如果選擇「否,則選擇否」。

以下是我正在努力做到這一點

if(isset($_POST['vsat'])){ 
    echo "You chose YES"; 
}elseif(isset($_POST['vsat2'])){ 
    echo "You chose NO"; 
} 

有意義嗎?我甚至不知道,如果有可能我想

+1

你有沒有嘗試過,看看有什麼是'的var_dump($ _ POST)'或'的print_r($ _ POST)'的輸出? – Pred 2014-10-02 13:02:02

+2

檢查'$ _POST ['camp']' – GNi33 2014-10-02 13:03:01

+1

的值試試吧!你有什麼損失呢?你會在這個過程中學到一些東西。 – 2014-10-02 13:03:03

回答

3

你應該檢查$ _ POST [「陣營」]變量的值:

if ($_POST['camp']) == 'vsat') { 
    echo "You chose YES"; 
} elseif ($_POST['camp'] == 'vsat2') { 
    echo "You chose NO"; 
} 

名稱的變量的爲$ _POST變量傳遞,當你提交表單,而不是標識。

+0

啊,我認爲這是名字,身份證和價值觀,謝謝! – 2014-10-02 13:08:06

2

的方式,我認爲你需要改變你的代碼是這樣的:

if ($_POST['camp'] == 'vsat') { 
    echo "You chose YES"; 
} 
elseif ($_POST['camp'] == 'vsat2') { 
    echo "You chose NO"; 
} 

Becouse您將在單選按鈕組檢查值會在變量$_POST['camp']('camp'是單選按鈕的名稱參數)中發送到您的PHP腳本。它將包含值'vsat'或'vsat2'。

+1

我會upvote,如果你想解釋*爲什麼*他需要改變他的代碼,因爲他似乎不知道表單提交做什麼或如何形式需要結構化和通過什麼 – GNi33 2014-10-02 13:04:43

+0

@ GNi33,好的。我會做。 – mochalygin 2014-10-02 13:12:55

3

所述選中的單選按鈕('vsat''vsat2')的值將被分配給$_POST['camp'],而'camp'是無線電按鈕的name

if (isset($_POST['camp']) && $_POST['camp']=='vsat') { 
    echo "You chose YES"; 
} elseif (isset($_POST['camp']) && $_POST['camp']=='vsat2') { 
    echo "You chose NO"; 
} 

PS:所述isset(),以防止有一NOTICE如果沒有選中兩個單選按鈕,則彈出。在這種情況下,$_POST['camp']將不確定。

1

這個PHP代碼

<?php 
    if(isset($_POST['submit_btn'])){ 
    echo $_POST['camp']; 

    if($_POST['camp']=='vsat'){ 

    echo "You chose YES"; 

    }else{ 
    echo "You chose NO"; 

    } 

} 
?> 

這是形式

<form method="post" action=""> 
<li><label for="vsat">YES</label><input type="radio" name="camp" id="vsat" value="vsat" ></li> 
<li><label for="vsat2">NO</label><input type="radio" name="camp" id="vsat2"  value="vsat2" ></li> 
<li><input type="submit" name="submit_btn" /></li> 
</form> 
+0

它工作很好 – 2014-10-02 13:15:34