gpt4 book ai didi

php - 使用 AJAX 将数据发送到数据库查询

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:19 25 4
gpt4 key购买 nike

我想使用 AJAX 将表单内容从我的 HTML 页面发送到 PHP 页面。看起来 AJAX 表单正在工作,我可以看到它在按下按钮时使用react。然而,PHP 页面并没有接收到表单的内容,因为查询没有发生。你能告诉我我做错了什么吗?它是在 PHP 页面中还是在 AJAX 代码中?

HTML 页面:jQuery-ajax.html

表格:

<form action='AjaxDifferentBids.php' method='post' id="form1">
<input type='text' id="name" name='name'/><br>
<input type='text' id="email" name='email'/><br>
<input type='button' name='submit' value='Submit' id="submit" />
</form>

AJAX代码:

$(function(){
$('#submit').click(function(){
$.ajax({
type:'POST',
url: 'AjaxDifferentBids.php',
data: $('#form1').serialize(),
success: function(response) {
$('.MyJobsResultsRight').hide();
$('.MyJobsResultsRightOtherBid').show();
$('.MyJobsResultsRightOtherBid').find('.form_result').html(response);
}
});
});
});

PHP 页面:AjaxDifferentBids.php

<?php
//set connection variables
$host = "";
$username = "";
$password = "";
$db_name = ""; //database name


$mysqli = new mysqli($host, $username, $password, $db_name);

//check if any connection error was encountered
if(mysqli_connect_errno()) {
echo "Error: Could not connect to database.";
exit;
}


if(isset($_POST['Submit'])){ //the the user submitted the form

//include database connection
include 'Connection.php';



$query = "SELECT * FROM firms WHERE email = '".$_POST['email']."'";

//execute the query
if( $mysqli ->query($query) ) {
//if saving success
echo "Succes";
}else{
//if unable to create new record
echo "Database Error: Unable to create record.";
}
//close database connection
$mysqli->close();
} ?>

非常感谢!!

最佳答案

如果 PHP 没有收到表单内容,这将在 JS 错误控制台中得到确认。在 chrome 中它会这样说:

POST http://yourdomain.tld/AjaxDifferentBids.php 404 (Not Found)

如果是这种情况,请检查 PHP 与 HTML 位于同一目录中,并且您正在使用 Web 服务器加载 HTML,而不仅仅是使用 file:///协议(protocol)打开它。

如果 PHP 正在接收 ajax 调用 - 显示如下:

XHR finished loading: POST "http://yourdomain.tld/AjaxDifferentBids.php"

那么你的 PHP 中的第一个问题是:

if(isset($_POST['Submit'])){

$_POST['Submit'] 不存在,因为你没有真正通过发布HTML页面提交表单,你使用了ajax。 $_POST 数组实际上是这样的:

array (
'name' => 'thisname',
'email' => 'thisemail',
)

因此,如果您检查这些值之一而不是“提交”,那么您应该能够执行您的 mysql 查询。

最后,如果使用 error logging,您会发现调试 PHP 会容易得多。 .

关于php - 使用 AJAX 将数据发送到数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27530153/

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