2012-12-04 145 views
1

我在頁面上有一個按鈕,當用戶按下它時,它會在頁面上創建另一個「無線電元素」。但問題是,在表單提交後,我很難用PHP檢索值。無法獲取Radio元素的值

這裏是我的HTML代碼:

<input type="radio" checked="checked" id="rad-3" title="member-section" name="use_name[0]" value="Test!" /> 

這是我的PHP代碼:

if ($_POST['use_name[0]'] == 'Test!') { 
    echo 'It Worked!' ; 
} else { 
    echo 'Nope!' ; 
} 

每當我的表單提交,都能跟得上!總是迴應出來。任何幫助表示讚賞!

回答

0

PHP將收到$_POST['use_name']作爲數組,您在HTML中指定的密鑰爲[0]。所以你想測試:

if ($_POST['use_name'][0] == 'Test') { 
// .... 
} 

print_r($_POST)調試看看數組的結構。

請注意,如果您不需要在HTML中發送特定的數組密鑰,則可以將輸入命名爲name='use_name[]',PHP將以數字索引數組的形式接收它們。如果需要,您可以更具體,具有字符串鍵太:name='use_name[first_value]'和PHP將獲得字符串鍵作爲然而$_POST['use_name']['first_value']

請注意,這是不使用單選按鈕一個典型方式。由於通常只選擇一個,除非您列出多個單選按鈕(我們沒有看到您的HTML),所有名稱都是name='use_name[0],這些按鈕不會被綁定爲收音機組。它們必須全部具有相同的名稱,並且不同的陣列鍵將它們變成不同的無線電組。這是更常用於複選框。

+0

非常感謝您!最後一個問題。我如何使用HTML名稱訪問該值:member [0] [fname] – three3

+0

使用'print_r($ _ POST)'檢查'$ _POST'。它會是'$ _POST ['member'] [0] ['fname']' –

+0

非常感謝 – three3

0

你的POST變量是PHP中的數組,這樣你就可以訪問它想:

$_POST['use_name'][0]