使用PHP插入数据AJAX而不使用PDO
如何使用AJAX和PHP脚本添加数据 HTML })) 使用PDO的PHP脚本使用PHP插入数据AJAX而不使用PDO,php,jquery,Php,Jquery,如何使用AJAX和PHP脚本添加数据 HTML })) 使用PDO的PHP脚本 <?php if (isset($_POST['add-question'])) { include 'db.php'; $question = $_POST['question']; $query = ""; $stmt = $dbh->prepare("INSERT INTO question (name, choices1, choices2, choices3, c
<?php
if (isset($_POST['add-question'])) {
include 'db.php';
$question = $_POST['question'];
$query = "";
$stmt = $dbh->prepare("INSERT INTO question (name, choices1, choices2, choices3, choices4, answer) VALUES (:name, ':choices1', ':choices2', ':choices3', ':choices4', ':answer')");
$stmt->bindParam(':name', $question);
if ($stmt->execute()) {
echo "Quiz has been added";
} else {
echo "Error adding quiz";
}
}
您没有名为“添加问题”的POST属性,因此此行将失败
if(isset($\u POST['add-question']){
换成
if(isset($\u POST['question']){
您没有名为“add question”的POST属性,因此此行将失败
if(isset($\u POST['add-question']){
换成
if(isset($\u POST['question'])){
你检查过浏览器开发人员控制台的“网络”选项卡吗?你确定你正在发布你认为正在发布的内容吗?它现在可以工作了吗?谢谢:)你检查过浏览器开发人员控制台的“网络”选项卡吗?你确定你正在发布你认为正在发布的内容吗?它现在可以工作了吗有name=“添加问题”
哇,它现在开始工作了,我不知道它是怎么发生的,但我认为如果单击或不单击,isset会触发按钮添加问题。谢谢你介意分享isset吗?:)谢谢:)是的,但是包含该按钮的表单没有提交,它是通过一个自定义处理程序处理的,该处理程序不提交“添加问题”。您可以将.ajax数据属性更改为使用$('form').serialize()
,而不是假设页面上只有一个表单。但这里只需检查$\u POST['question']
就足够了。为了进一步解释,该ajax调用发送的唯一POST变量都是在该“数据”中定义的属性,因此您只发送“问题”。在常规表单post中,将发送包括按钮在内的所有变量。您还可以使用我之前评论中的方法更改ajax调用以发送表单中的所有变量。@Raptor按钮会发送,但他使用ajax来执行实际post。按钮的类型不是=submit,因此不会实际提交表单(懒得去检查)嗯,
确实有name=“add question”
哇,它现在工作了,我不知道它是怎么发生的,但我想如果它点击与否,isset会触发按钮add_question。谢谢你介意分享isset吗?:)谢谢:)是的,但是包含该按钮的表单没有被提交,而是通过一个自定义处理程序进行处理,该处理程序不提交“添加问题”。您可以将.ajax数据属性更改为使用$('form')。serialize()
而不是假设页面上只有一个表单。但是只需检查$\u POST['question']
在这里就足够了。再解释一下,该ajax调用发送的唯一POST变量是在“data”属性中定义的,因此您只发送“question”。在常规表单post中,将发送包括按钮在内的所有变量。您还可以使用我之前评论中的方法更改ajax调用以发送表单中的所有变量。@Raptor按钮会发送,但他使用ajax来执行实际post。按钮的类型不是=submit,因此不会实际提交表单(懒得去检查)
$(document).ready(function () {
$('#add-question').click(function (e) {
var question = $('#question').val();
var dataString = "question="+question;
$.ajax({
type: "POST",
url: "add-question.php",
data: dataString,
success: function (data) {
alert(data);
}
});
});
<?php
if (isset($_POST['add-question'])) {
include 'db.php';
$question = $_POST['question'];
$query = "";
$stmt = $dbh->prepare("INSERT INTO question (name, choices1, choices2, choices3, choices4, answer) VALUES (:name, ':choices1', ':choices2', ':choices3', ':choices4', ':answer')");
$stmt->bindParam(':name', $question);
if ($stmt->execute()) {
echo "Quiz has been added";
} else {
echo "Error adding quiz";
}
}