誰かが私を助けてくれるのではないかと思います。
しばらくの間、フォームをセットアップし、AJAX を使用してユーザー入力を mySQL データベースに送信する方法を示すチュートリアル/記事を探していました。
これはデータベースにデータを送信する方法を示すものではありませんが、この記事は良い出発点を提供してくれました。また、フォームに組み込みたいオンライン メッセージに関する「ルック アンド フィール」も提供してくれました。 .
サンプル スクリプトの調整を開始しましたが、データをデータベースに送信するのが困難です。
このセクションを変更したフォームでは:
$.ajax( {
url: contactForm.attr( 'action' ) + "?ajax=true",
type: contactForm.attr( 'method' ),
data: contactForm.serialize(),
success: submitFinished
} );
}
に
$.ajax( {
url: contactForm.attr( 'savecontact.php' ) + "?ajax=true",
type: contactForm.attr( 'post' ),
data: contactForm.serialize(),
success: submitFinished
} );
}
PHP スクリプトでは、これを次のように変更しました。
<?php
// Read the form values
$success = false;
$senderName = isset( $_POST['senderName']);
$senderEmail = isset( $_POST['senderEmail']);
$message = isset( $_POST['message']);
if ( $senderName && $senderEmail && $message ) {
$query = "INSERT INTO `contact` (senderName, senderEmail, message) VALUES ('$senderName', '$senderEmail', '$message')";
mysql_query($query) or die(mysql_error());
}
// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
echo $success ? "success" : "error";
} else {
?>
<html>
<head>
<title>Thanks!</title>
</head>
<body>
<?php if ( $success ) echo "<p>Thanks for sending your message! We'll get back to you shortly.</p>" ?>
<?php if ( !$success ) echo "<p>There was a problem sending your message. Please try again.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
<?php
}
?>
私が抱えている問題は、フォームを送信すると、sending
メッセージが画面に表示され、このメッセージにスタックし続け、データがデータベースに送信されないことです。理由は本当にわかりません。
私の経験不足のため、私が望む結果を達成するためのより簡単な方法があるかもしれませんし、これを単純化しすぎているかもしれません.私が間違っているところ。
多くの感謝と親切な敬意