Php 使用ajax提交表单:以前有效,现在无效?
我在signup.php中有以下HTML表单:Php 使用ajax提交表单:以前有效,现在无效?,php,ajax,Php,Ajax,我在signup.php中有以下HTML表单: <form id="signup" action="" method="POST" autocomplete="off" autocomplete="false"> <div class="signup_row action"> <input type="text" placeholder="What's your Name?" name="name" id="name" class="signup
<form id="signup" action="" method="POST" autocomplete="off" autocomplete="false">
<div class="signup_row action">
<input type="text" placeholder="What's your Name?" name="name" id="name" class="signup" autocomplete="new-password" autocomplete="off" autocomplete="false" required />
<input type="text" placeholder="Got an Email?" name="email" id="email" class="signup" autocomplete="new-password" autocomplete="off" autocomplete="false" required />
<div class="g-recaptcha" style="margin-top:30px;" data-sitekey="6LeCkZkUAAAAAOeokX86JWQxuS6E7jWHEC61tS9T"></div>
<input type="submit" class="signup_bt" name="submit" id="submt" value="Create My Account">
</div>
</form>
我正在尝试使用ajax提交表单,无需刷新页面:
<!-- include files -->
<?php include 'assets/config.php';?>
<?php if(isset($_SESSION["CUSTOMER_ID"])){
header('Location: myaccount.php'); } ?>
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'do_signup_check.php',
data:{"name":name,"email":email},
success: function () {
if(result == 0){
$('.signup_side').fadeOut(500).promise().done(function() {
$('.signup_side').load('do_signup.php',function(){}).hide().fadeIn(500);
});
}else{
$('.signup_side').fadeOut(500).promise().done(function() {
$('.signup_side').load('assets/login.php',function(){}).hide().fadeIn(500);
}
});
});
});
</script>
$(函数(){
$('form')。在('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:“do_signup_check.php”,
数据:{“name”:name,“email”:email},
成功:函数(){
如果(结果==0){
$('.signup_-side').fadeOut(500.promise().done(函数()){
$('.signup_side').load('do_signup.php',function(){}.hide().fadeIn(500);
});
}否则{
$('.signup_-side').fadeOut(500.promise().done(函数()){
$('.signup_-side').load('assets/login.php',function(){}.hide().fadeIn(500);
}
});
});
});
我正在将表单发布到do_signup_check.php,并运行一个查询以查看用户是否已注册。回送1表示肯定结果,回送0表示否定结果:
Do_Signup_Check.php:
<?php
session_start();
require 'assets/connect.php';
$myName=$_POST["name"];
$myEmail=$_POST["email"];
$check = mysqli_query($conn, "SELECT * FROM user_verification WHERE email='".$myEmail."'");
if (!$check) {
die('Error: ' . mysqli_error($conn)); }
if(mysqli_num_rows($check) > 0){
echo '1';
}else{
echo '0';
}
?>
如果结果为0,那么ajax应该加载我的页面do_signup.php。
但是,唉,它还没走到这一步。它正在工作,然后我关掉电脑,回到它身边,现在它不工作了
有人能告诉我哪里出错了吗?如果(result==0){
这里的result没有在success函数中使用:
您必须在此处传递结果变量:
success: function () {
作为:
现在,如果(result==0){
其次,我建议您在ajax请求中传递数据类型:“html”
编辑:
您正在使用
那么您更改了什么?浏览器控制台中是否有错误?您做错的一件事是直接将值插入SQL语句,使用准备好的语句。您没有为javascript中的名称
和电子邮件
变量赋值。更改数据:{“name”:名称,“email”:email},
到数据:{name:name,email:email},
此外,第一个PHP脚本的整个过程都依赖于会话变量CUSTOMER\u ID;如果不存在,请返回一些内容以检查此情况。
success: function (result) {