Javascript 数据未插入DB-PHP MYSQL
尝试将注册验证与PHP和Ajax结合起来。不确定哪里出错,但提交没有发生。如果我不添加验证部分,一切看起来都很好,我可以将数据插入mysqlJavascript 数据未插入DB-PHP MYSQL,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,尝试将注册验证与PHP和Ajax结合起来。不确定哪里出错,但提交没有发生。如果我不添加验证部分,一切看起来都很好,我可以将数据插入mysql <script type="application/javascript"> $("#submit").submit(function (event) { event.preventDefault(); var datatopost = $(this).serializeArray();
<script type="application/javascript">
$("#submit").submit(function (event) {
event.preventDefault();
var datatopost = $(this).serializeArray();
console.log(datatopost);
$.ajax({
url: "signupregister.php",
type: "POST",
data: datatopost,
success: function (data) {
if (data) {
$("#signupmessage".html(data));
}
},
error: function () {
$("#signupmessage").html("<div class = 'alert alert-danger'></div>")
}
});
});
</script>
$(“#提交”).submit(函数(事件){
event.preventDefault();
var datatopost=$(this.serializeArray();
console.log(datatopost);
$.ajax({
url:“signupregister.php”,
类型:“POST”,
数据:datatopost,
成功:功能(数据){
如果(数据){
$(#signupmessage.html(数据));
}
},
错误:函数(){
$(“#注册信息”).html(“”)
}
});
});
_
首先,在验证PHP脚本中,不需要包含'index.PHP'
在为遇到的第一个错误设置会话变量时,尝试将表单重定向到只包含验证数据的空白页
在验证结束时,如果错误变量包含错误,则可以重定向到表单并在方便的位置显示所述错误。请记住,如果要保留所有用户输入,则必须将表单数据保存在会话变量中(从而消除反复重新填充表单的麻烦)。
如果没有,您可以继续在数据库中插入数据,然后重定向到所需的登录页
以下是基于您的输入的示例代码:
<?php
session_start();
if(isset($_POST['submit'])){
$_SESSION['fname'] = $_POST['fname'];
//so on for your other variables
if($_SESSION['fname'] == ""){
$_SESSION['err'] = "First Name Required";
}
if(//insert your format validation for first name){
$_SESSION['err'] = "First Name Invalid";}
}
//end of validation
if isset($_SESSION['err']){
header('Location: myform.php');
}
else{
//save all your variables into normal ones, i.e $fname-$_POST['fname'];
//insert into database;
//check correct insertion;
//redirect to landing page;
}
}
?>
立即发布PHP插入代码。我只列出了名字,但还有许多其他字段。请使用任何nrew代码更新问题(不要将其作为注释发布),您是说它是js\ajax问题还是php问题?我实际上不确定问题在哪里。日志文件也没有给我任何错误。此外,我无法在注册框上方显示错误消息。您的代码乱七八糟。我会处理格式化(对于初学者来说是缩进)。这将使您更容易维护自己的代码,也使我们更容易理解它。另一个具体点是,不要像在同一个文件中一样通过javascript和PHP攻击我们。或者这就是你的问题,你忘记了你的,这很容易检查php是否真的被点击了,以及发布了什么,这将缩小问题的范围。(f12-浏览器开发人员工具,网络选项卡)
<?php
session_start();
if(isset($_POST['submit'])){
$_SESSION['fname'] = $_POST['fname'];
//so on for your other variables
if($_SESSION['fname'] == ""){
$_SESSION['err'] = "First Name Required";
}
if(//insert your format validation for first name){
$_SESSION['err'] = "First Name Invalid";}
}
//end of validation
if isset($_SESSION['err']){
header('Location: myform.php');
}
else{
//save all your variables into normal ones, i.e $fname-$_POST['fname'];
//insert into database;
//check correct insertion;
//redirect to landing page;
}
}
?>