2009-12-08 51 views
0

無線框代碼:PHP語法和結構的單選按鈕,它的價值

<input 
    type = "radio" 
    name = "choice" 
    value = "A" />Apples /> 

<input 
    type = "radio" 
    name = "choice" 
    value = "B" />Oranges<br /> 

$choice=array("A"=>1.00, "B"=>0.80); 
echo $choice["A"]; // will give me the value of 1.00 
echo $choice["B"]; // will give me the value of 0.80 

鑑於上面的代碼段,有什麼不對無論是在HTML單選框中的陣列或選擇的條款?

回答

3

不,看起來非常好。
除蘋果文本後的隨機/>,但我懷疑這是一個錯字?

你可能也想考慮這個。可能你正在走向什麼? :)

<?php 
$choices = array("A"=>1.00, "B"=>0.80); 
if(in_array($_REQUEST['choice'], array_keys($choices))) { 
    echo $choices[$_REQUEST['choice']]; 
} 
else { 
    echo "Invalid choice received!"; 
} 
?> 

這將是接收您的無線電選擇的代碼。它確保選擇是有效的,然後打印它。

+0

單選按鈕不會提交數組,除非您在名稱中指定[],即使如此,我認爲單選按鈕也不會提交數組,因爲單選按鈕是單個選項輸入。 – dfilkovi 2009-12-08 08:43:32

+1

@dfilkovi沒有人使用單選按鈕的值作爲數組...如果您將多個按鈕命名爲相同,您將只能選擇其中的一個,其中的值將傳遞給PHP。如果您將按鈕的名稱指定爲數組*(通過添加[])*,則所選按鈕的值將僅作爲以該框命名的數組的第一個元素進行傳遞。 – Atli 2009-12-08 09:23:54

+0

令人驚歎的,啓發性的,和高超的,謝謝你,Atli – Newb 2009-12-08 10:24:00

1

據我瞭解你的問題,PHP代碼似乎是錯的。你還沒有在你的html代碼中指定一個數組,使用[]

這是你在你做什麼PHP代碼回聲電臺的選擇:

echo $_REQUEST['choice']; 

這將呼應選擇單選按鈕值A或B.

0

我不知道是什麼你是否想要實現,但有幾件事需要你的關注。

首先,檢查<input>語法:http://www.w3schools.com/html/html_forms.asp

所以我會改變你的HTML代碼:

<form ... > 
<input type="radio" name="choice" value="1.00" /> Apples 
<br /> 
<input type="radio" name="choice" value="0.80" /> Oranges 
</form> 

而在服務器端,後實際提交表單,只是看$_POST[ "choice" ]爲您的期望值(1.00或0.80)。