2017-07-04 87 views
-1

對不起,如果這是一個非常愚蠢的錯誤,但我感謝任何可以給予的幫助。爲什麼我的Post方法不起作用?

這是在表單中初始化該數據的代碼。它們是通過SQL數據庫填充的單選按鈕。

echo "<form method='post' action='home.php'>"; 
$result = queryMySQL("SELECT Name FROM Quotees"); 
if ($result->num_rows == 0) { 
    $error = "<span class='error'>No people can be found</span><br><br>"; 
} else { 
    $numrow = $result->num_rows; 
    for ($count = 1; $count <= $numrow; $count++) { 
     $row = $result->fetch_array(MYSQLI_ASSOC); 
     $name = stripslashes($row['Name']); 
     echo '<input type="radio" name="choice" value="' . $name . '" />' . $name; 
     echo '<br>'; 
    } 
} 

後來在我嘗試訪問值使用POST方法挑選的代碼,如下所示:

$personPicked = stripslashes($_POST["choice"]); 
if ($person === $personPicked) { 
    //code 
} else { 
    echo "wrong answer"; 
} 

我收到的錯誤是「未定義指數:選擇」就行,其中POST方法被調用。

我用下面的代碼提交表單出PHP段HTML代碼的側

<div class="confirmButton"> 
<form action="home.php"> 
    <input type="submit" value="Confirm"> 
</form> 

感謝您的幫助,你可以給,爲什麼我的代碼不工作/我該怎麼去解決問題。

+0

**危險** - 'stripslashes'不適合保護要插入到HTML中的數據!使用'htmlspecialchars'! – Quentin

+0

你可以var_dump()$ _POST數組嗎?你如何提交表格? – BenRoob

+0

您需要調試數據以追蹤問題的根源。查看瀏覽器中開發人員工具中的POST請求。數據在那裏嗎?看看你正在生成的HTML。這是對的嗎?那裏的價值?你是否檢查過單選按鈕是否被檢查? – Quentin

回答

1

提交按鈕是在不同的形式。

當您單擊它時,您提交的表單不包含單選按鈕

您需要將提交按鈕和單選按鈕放在中,形式與相同。

+0

我已經完成了這個工作 - 我原來是這樣做的,但是在調試過程中,一切都變得混亂了。 – mysterykid

+0

好吧,這似乎並沒有在整體上有所作爲,因爲我的問題不是我認爲的那樣,謝謝你反正 – mysterykid

相關問題