我有一个表单,我试图在不刷新页面的情况下提交,据我所知,jQuery 端的一切都正常(我的意思是代码末尾的警报通过了,所以我假设一切正常运行)但由于它实际上并未显示在 WAMPserver 数据库中,因此我的 php 代码一定有问题。
无论如何,这里是 jquery 代码的重要部分,它们显示了提交到 php 页面的内容 - 然后是 php 页面的代码,所有内容都应该发送到数据库。
//set form data to variable (including website)
if(undefined != projectInfo && typeof website != 'undefined' && (website != 'http://' || website != '') && null != website) {
var dataString = 'name='+ name + '&email=' + email + '&website=' + website + '&info=' + projectInfo;
var radioType = $("input.radio1").val();
}
//set form data to variable (excludes website)
else {
var dataString = "name=" + name + "&email=" + email + "&info=" + projectInfo;
var radioType = $("input.radio1").val();
}
//set form data to variable (including chat box)
if(undefined != chitChat && null != chitChat && (chitChat !="what's on your mind?")) {
var dataString = 'name='+ name + '&email=' + email + '&info=' + chitChat;
var radioType = $("input.radio1").val();
}
$.ajax ({
type: "POST",
url: "process.php",
data: dataString,
success: function() {
alert('success!');
}
});
return false;
然后是php代码:
<?php
// Create connection
$con=mysqli_connect("localhost:3306","root","admin","test");
// Check connection
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else {
echo "Connection Successful!";
}
?>
<?php
# Variables for field names.
$_name = $_POST['name'];
$_email = $_POST['email'];
$_request = $_POST['radioType'];
$_website = $_POST['website'];
if(empty $_POST['projectInfo']) {
$_info = $_POST['chitChat'];
}
else {
$_info = $_POST['projectInfo'];
}
# Inserting information into table.
$sql = "INSERT INTO `contactform` (`name`,`email`,'request_type`,`website`,`info`) values (".$_name.",'".$_email.",'".$_request.",'".$_website.",'".$_info.")";
$query = mysql_query($sql);
if (!$query) {
echo "Failed " .mysql_error();
}
else {
echo "Data entered ";
}
?>
现在我对 php 代码并不完全确定(诚然,自从我使用 php 以来已经有一段时间了,所以我很生疏)但我认为我的主要问题是 php 代码中的 if 语句 - 我是不确定我是否被允许这样做,当我检查 php 页面本身(不提交任何内容)时,我收到以下两个错误:
( ! ) SCREAM: 忽略错误抑制
( ! ) 解析错误:语法错误,意外的 '$_POST' (T_VARIABLE),在第 22 行的 process.php 中期待 '('
我不完全确定第一个是什么意思,但我猜第二个确实与 if statmeent 有关 - 尽管我一生都无法弄清楚它想说什么。
我知道这有点需要接受,所以我不希望很快得到答案,但任何帮助将不胜感激,我愿意提供尽可能多的额外代码。
(为了完成,这里是一个包含页面本身所有代码的jsfiddle )