ページを更新せずに送信しようとしているフォームがありますが、私が知る限り、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ページ自体を(何も送信せずに)確認すると、次の2つのエラーが表示されます。
( ! ) SCREAM: エラー抑制は無視されました
( ! ) 解析エラー: 構文エラー、予期しない '$_POST' (T_VARIABLE)、22 行目の process.php に '(' が必要です
最初の意味が完全にはわかりませんが、2 番目のステートメントは if ステートメントに関係しているのではないかと推測しています。
私はこれを理解するのが少し難しいことを知っているので、すぐに答えられるとは思っていませんが、何か助けていただければ幸いです.余分なコードが必要なだけ喜んで提供します.
(完成のために、ページ自体のすべてのコードを含むjsfiddleを次に示します)