gpt4 book ai didi

php - 在 POST 上检索名称作为变量

转载 作者:行者123 更新时间:2023-11-29 20:21:18 24 4
gpt4 key购买 nike

我有一个数据库,在这个数据库中我有一个名为 Question 的表,然后是另一个名为 q_options 的表。我的代码带来了问题,然后是每个问题的选项。选项始终是 radio BTN,我将 QuestionId 分配给 radio BTN 的名称。

<input type = "radio" name = "<?php echo $optionsQID; ?>" value = "<?php echo $optionsID; ?>">

那部分是我无法访问我的数据库的部分。当我 print_r 我的 POST 时,我可以看到指定编号的字段已发布,但提交后我无法从 $qAnswer = $_POST[$optionsQID]; 检索它。

我尝试过使用引号和不使用引号,我还尝试将标识符与变量一起添加到 radio BTN 名称,但我仍然没有获得该字段的值。

我也移动了整个

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);
}
}

在第二个 while 循环内,这会发送 $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
}

?>

最佳答案

确保您在本地服务器(使用 XAMPP)或在线主机上运行脚本。几天前,我在将 Ajax 请求的 POST 数据发送到 PHP 文件时遇到了类似的问题,经过几个小时的谷歌搜索后解决了这个问题。我可能是错的,但只要确保您在服务器上运行它(如果您想尝试免费的实时主机,您可以使用 000webhost)

链接 https://www.000webhost.com/ https://www.apachefriends.org/index.html

关于php - 在 POST 上检索名称作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39499097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com