に変数として名を取得し、私はDBを持って、このDBに私はテーブルと呼ばれる質問があり、その後、別のテーブルと呼ばq_options。私のコードでは、各質問の質問とオプションが表示されます。オプションは常にラジオのBTNです。ラジオのBTNの名前にquestionIdを割り当てます。POST
私のDBには届かない部分があります。私はprint_r私のPOST私は割り当てられた番号のフィールドが表示されていることがわかりますが投稿後に$qAnswer = $_POST[$optionsQID];
から取得できません。
私は引用符で試してみましたし、引用符なしで、私はまた、変数と一緒にラジオBTN名に追加すると識別子を試みたが、私はまだそのフィールドの値を得ることはありません。
私はまた、ループの間に、第2の内側全体
if (isset($_POST["answerQuestion"])){
$question = $_POST["questionID"];
$qAnswer = $_POST[$optionsQID];
$sql = "INSERT INTO answers (id, q_id, answer)
VALUES (NULL, '$question', '$qAnswer')";
echo "Thanks for your input";
if(!mysqli_query($link, $sql)) {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
}
を移動し、これは$ qAnswerの正しい値を送信しますが、その後も質問のそれぞれのレコードを作成します。
これは私のコード
<?php
if (isset($_POST["answerQuestion"])){
$question = $_POST["questionID"];
$qAnswer = $_POST[$optionsQID];
$sql = "INSERT INTO answers (id, q_id, answer)
VALUES (NULL, '$question', '$qAnswer')";
echo "Thanks for your input";
if(!mysqli_query($link, $sql)) {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
}
?>
<?php $questionsResult = $link->query("SELECT * FROM questions");
while($row = mysqli_fetch_array($questionsResult)){
$questionID = $row['id'];
$question = $row['question'];
?>
<div style = "margin: 20px 10%; padding: 50px 10%; width: 60%; border: 1px solid #444444;">
<form role="form" action = "" method="post" id="answerForm" name = "answerForm">
<h3><?php echo $question; ?></h3>
<input type = "hidden" name = "questionID" value = "<?php echo $questionID; ?>">
<?php
$optionsResult = $link->query("SELECT * FROM q_options WHERE q_id = $questionID");
while($optionsRow = mysqli_fetch_array($optionsResult)){
$optionsID = $optionsRow['id'];
$optionsQID = $optionsRow['q_id'];
$option = $optionsRow['options'];
?>
<div style = "padding: 5px 0;">
<input type = "radio" name = "<?php echo $optionsQID; ?>" value = "<?php echo $optionsID; ?>"> <?php echo $option; ?>
</div>
<?php
}
?>
<button type="submit" name = "answerQuestion">Send Answer</button>
</form>
</div>
<?php
}
?>
。引用符のポイントは何ですか? –
変数 '$ optionsQID'がISSET内で定義されていません($ _ POST [「answerQuestion」])あなたは後でゴマそれを宣言していないため、セクション。 'error_reporting(E_ALL);でファイルの先頭にエラー報告を有効にします。 ini_set( 'はdisplay_errors' が、1); ' – drew010
I追加しなければならないこと私が移動した場合、全体IF(ISSET($ _ POST [ "answerQuestion"])){]が$ qAnswerの値をポストするループ間に、第2内部ここでの問題は、それがこれらの余分なレコードがNULL値を持つことになりますにもかかわらず、それぞれの質問 – Alex