在提交表单时,我遇到了一些运行PHP的问题。
我正在尝试通过按下哪个提交按钮来确定变量,并抓住$_POST['name']
来执行一些SQL选择。目前我的表单中有两个提交按钮,分别是YES和NO。
我遇到的问题是我不断从我的查询中得到相同的答案,但是当我在我的数据库中测试时它工作得很好。这似乎是我的if
/ else
声明中的内容。
<?php
require_once ("/includes/session.php");
require_once ("/includes/db_connection.php");
require_once ("/includes/functions.php");
require_once ("/includes/validation_functions.php");
if ($_POST['answer1']) {
$chosenAnswer = 1;
} else if ($_POST['answer2']) {
$chosenAnswer = 2;
}
$query = "SELECT questionFlow.NxtQ FROM ";
$query .= "questionFlow WHERE area = '{$_SESSION['probArea']}' ";
$query .= "AND ANSid = '{$chosenAnswer}' AND Qid = '{$_SESSION['x']}'";
$result = mysqli_query($connection, $query);
while ($row = mysqli_fetch_assoc($result)) {
print_r($row["NxtQ"]);
}
?>
<form action="Assets/ajax/questions.php" id="ajax-questionset" method="post">
<br />
<br />
<?php echo($howmany); ?>
<br />
<br />
<div><?php echo($currentquestion); ?></div>
<span>
<button class="btn btn-hero" type="submit" name="answer1" value="1"/><?php echo($answer1); ?></button>
<button class="btn btn-hero" type="submit" name="answer2" value="2"><?php echo($answer2); ?></button>
</span>
</form>
根据Bug的建议,我已经在javascript中添加了一个警报,现在正在给我正确的值,但是它搞砸了我的ajax并且它现在正在加载php页面而不是这样做'盲目' (因为缺少更好的词)
有什么建议吗?
function buttonB_clickHandler(event) {
document.getElementById('hiddenId').value = 2;
document.getElementById('ajax-questionset').submit();
}
通过取出javascript .submit并将其应用于自己阅读type="submit"
的按钮来解决此问题。
再次感谢所有宝贵的反馈人员,我喜欢这个网站,很棒的社区!
答案 0 :(得分:1)
阅读我的评论并尝试这样的事情:
<input id="buttonA" type="button" value="do something" onclick="buttonA_clickHandler(event);"/>
function buttonA_clickHandler(event) {
document.getElementById('hiddenId').value = whatever;
document.getElementById('theForm').submit();
}
重复其他按钮的代码,更改功能名称和其他代码。
答案 1 :(得分:0)
尝试将{}添加到else语句并添加isset
if(isset($_POST['answer1'])){
$chosenAnswer = 1;
}
else {
if (isset($_POST['answer2'])){
$chosenAnswer = 2;
}
}