2014-09-01 39 views
3

test.php的PHP - 單選按鈕,無需提交按鈕

<form action="test2.php" method="post"> 
Q1: <br /> 
<input type="radio" name="q1" value="true" />T<br />(Correct Answer) 
<input type="radio" name="q1" value="false" />F<br /> 

Q2: <br /> 
<input type="radio" name="q2" value="true" />T<br /> 
<input type="radio" name="q2" value="false" />F<br />(Correct Answer) 

<input type="submit" value="Score" /> 
</form> 

test2.php

<?php 
    //process code from test.php 
?> 

我想從每題的單選按鈕的值,並檢查是否是真還是假。我嘗試這test2.php:
(1)if($_POST['name']) - >收到錯誤(未定義指數:名)
(2)if($_POST['submit']) - >收到錯誤(未定義指數:提交)
(3)if(isset($_POST['name']) - >沒有錯誤,但什麼都沒發生

我該如何解決?

回答

0

您已將單選按鈕命名爲q1q2,但試圖以名稱name訪問它。取而代之的if($_POST['name'])你也必須檢查是否提交表單或沒有,你可以試試這個代碼不喜歡

if($_POST['q1']) 

if($_POST['q2']) 

if(isset($_POST)) 

在情況下,如果你正在使用if($_POST['submit'])檢查表單是否提交與否,submit將提交按鈕的名稱。所以你必須設置name屬性來提交按鈕。

<input name="submit" type="submit" value="Score" /> 
+0

謝謝Jenz。我終於明白了。使用單選按鈕的值,而不是單選按鈕的名稱。 – user3905044 2014-09-01 09:22:06

+0

沒有價值。在提交表單時使用輸入元素的名稱。 – Jenz 2014-09-01 09:22:56

0

你試過嗎?

$_POST['q1']; 
$_POST['q2']; 
+0

提交時沒有名字! – user2068793 2014-09-01 09:26:33

+0

dem downvotez對這篇文章的幾乎所有答案,哈哈。 – 2014-09-01 09:27:53

+0

@Alex質量低的問題的答案可以得到更多的讚賞,更多的如果你甚至不想解釋任何東西 – Sugar 2014-09-01 09:46:14

2

您需要設置

<input name="submit" type="submit" value="Score" /> 

,並得到這樣的價值:

$_POST['q1']; 
$_POST['q2']; 

屬性是什麼,你在POST/GET發送到PHP腳本。

if(isset($_POST['submit']))//don't forget to check using isset() 
    { 
    /*other variables*/ 
    $radio_value1 = $_POST['q1']; 
    $radio_value2 = $_POST['q2']; 
    } 
+0

謝謝,一個人的船員。 – user3905044 2014-09-01 09:26:05

0

如果($ _ POST [ '名'])

if($_POST['q1']) { 

} 

if($_POST['q2']) { 

} 

如果(isset($ _ POST [ '名'])

if(isset($_POST['q1']) 
if(isset($_POST['q2']) 

And,

<input type="submit" value="Score" /> to <input type="submit" name="submit" value="Score" />