【发布时间】:2012-01-19 21:29:13
【问题描述】:
大家好,我正在尝试在不重新加载页面的情况下提交表单,这对于 AJAX 来说似乎很简单,但我似乎无法对我的数据库进行任何更改。如果 AJAX 成功,我在我的 javascript 中设置了一个警报,它似乎每次都会触发,所以我认为变量确实是从 AJAX 发送出去的,但是当我进入 join.php 时,我不要认为它记得,因此不能正确处理。
首先,这里是相关的script.js:
$(document).ready(function () {
//----SUBMIT---//
$(".submit").click(function () {
// validate and process form here
$('.error').hide();
var studentEmail = $("input#studentEmail").val();
if (studentEmail == "") {
$("label#studentEmail_error").show();
$("input#studentEmail").focus();
return false;
}
var studentPassword = $("#studentPassword").val();
var parentEmail = $("#parentEmail").val();
var parentPassword = $("#parentPassword").val();
var studentFirstName = $("#studentFirstName").val();
var studentLastName = $("#studentLastName").val();
var studentPhone = $("#studentPhone").val();
var parentFirstName = $("#parentFirstName").val();
var parentLastName = $("#parentLastName").val();
var parentPhone = $("#parentPhone").val();
var dataString = 'studentEmail=' + studentEmail
+ '&studentPassword=' + studentPassword
+ '&parentEmail=' + parentEmail
+ '&parentPassword=' + parentPassword
+ '&studentFirstName=' + studentFirstName
+ '&studentLastName=' + studentLastName
+ '&studentPhone=' + studentPhone
+ '&parentFirstName=' + parentFirstName
+ '&parentLastName=' + parentLastName
+ '&parentPhone=' + parentPhone;
alert(dataString);
$.ajax({
type: "POST",
url: "join.php",
data: dataString,
success: function () {
alert("success");
}
});
return false;
});
});
然后加入.php
if($_POST) {
$studentEmail=$_POST['studentEmail'];
$studentPassword=$_POST['studentPassword'];
$parentEmail=$_POST['parentEmail'];
$parentPassword=$_POST['parentPassword'];
$studentFirstName=$_POST['studentFirstName'];
$studentLastName=$_POST['studentLastName'];
$studentPhone=$_POST['studentPhone'];
$parentFirstName=$_POST['parentFirstName'];
$parentLastName=$_POST['parentLastName'];
$parentPhone=$_POST['parentPhone'];
//create database connection
$connection = mysql_connect("localhost","XXXX","XXXX");
//in case database connection fails
if(!$connection) {
die("Database connection failed: ".mysql_error());
}
else{
//select database to use
$db_select = mysql_select_db("XXXX",$connection);
//in case database selection fails
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
else {
//make sql query
$sql = "INSERT INTO clients (`studentEmail`,
`studentPassword`,
`parentEmail`,
`parentPassword`,
`studentFirstName`,
`studentLastName`,
`studentPhone`,
`parentFirstName`,
`parentLastName`,
`parentPhone`)
VALUES ('".$studentEmail."',
'".$studentPassword"',
'".$parentEmail."',
'".$parentPassword."',
'".$studentFirstName."',
'".$studentLastName."',
'".$studentPhone."',
'".$parentFirstName."',
'".$parentLastName."',
'".$parentPhone."')";
//set results to variables
$result = mysql_query($sql);
//in case query fails
if (!$result) {
die("Database query failed: " . mysql_error());
}
}
}
}
else {
echo "FAIL";
}
【问题讨论】:
-
我知道这并不能回答您的问题,但是在 jQuery 中获取表单数据的一种简单方法是使用
$('yourForm').serialize()。以为我会传递小费。
标签: php javascript mysql ajax post