我一直在试图让这个工作多年,并且已经阅读了很多类似问题的其他答案(How to add AJAX Submit to PHP validation and return message?,ajax submit form why it cannot echo $_POST),但我似乎无法得到它上班。AJAX,PHP表单不提交到数据库
基本上我正在创建的是一个注册表单,它只是将某个人的电子邮件地址插入到表格的新行中,这样我就可以测量访问者的转换率了!事不宜迟,这里有我的剧本,我真诚地希望你能帮助我吧:)
HTML表单:
<!-- Signup Form -->
<form id="signup-form" name="emailform" method="post" action="send_post.php">
<input type="email" name="email" id="email" placeholder="Email Address" />
<input type="submit" value="Sign Up" />
</form>
<script src="assets/js/main.js"></script>
send_post PHP:
<?php
// Fetching Values From URL
$servername = "*****";
$username = "*****";
$password = "*****";
$dbname = "email";
$email = $_POST['email'];
//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Insert the data
mysqli_query($conn,"INSERT INTO email (email)
VALUES ('$email')");
$conn->close();
?>
JavaScript和AJAX:
//Submitting the form
$('#signup-form').submit(function() {
$.ajax({type: "POST",
url: "send_post.php",
data: $("#signup-form"),
success: function() {
alert("success");
}
});
e.preventDefault();
return false;
});
为了便于阅读,我只包含了一小部分JS代码,其中包含ajax位它。 PS。当我直接导航到send_post.php时,它会在数据库中创建一个空行。
是您的Ajax请求工作正常? '在你的PHP –
'的var_dump($ _ POST),看看它输出。 – Qirel
,如果你想使用AJAX,你必须删除的操作表单中的 –