私はAJAXを使って提出することが非常に新しく、多くのチュートリアルを続けてきましたが、現在のシナリオではうまくいかないようです。フォームを送信するときにAJAXを使用する
私は、その内部にPHPスクリプトといくつかのJQuery AJAXにリンクされたフォームを持つモーダルを持っています。
フォームを送信すると、ページが白く表示されますが、これはPHPスクリプトの条件付きロジックが原因であると確信しています。
私は$stmt->rowCount()
を持っていますが、条件付きロジックの場合、この時点でスクリプトは何もしませんので、何も返しません。
このロジックをAJAXの成功または失敗にリンクすることはできますか、スクリプトからブール値を返す必要がありますか?
私はこれがおそらく愚かな質問と考えられていることは知っていますが、いくらかの明確さは大いに役立つでしょう。 AJAX要求を送信する前に
if (empty($_POST["forename"]) ||
empty($_POST["surname"]) ||
empty($_POST["email"]) ||
empty($_POST["company"]))
{
}
else{
$forename = $_POST['forename'];
$surname = $_POST['surname'];
$email_address = $_POST['email'];
$company_name = $_POST['company'];
$id = rand();
$date_time = date('Y-m-d');
try
{
// Construct the SQL to add a book to the database
$sql = "INSERT INTO user_data (forename, surname, email_address, company_name, id, date_time)
VALUES (:forename, :surname, :email_address, :company_name, :id, :date_time)";
// Prepare the SQL and bind parameters
$stmt = $conn->prepare($sql);
$stmt->bindParam(':forename', $forename);
$stmt->bindParam(':surname', $surname);
$stmt->bindParam(':email_address', $email_address);
$stmt->bindParam(':company_name', $company_name);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':date_time', $date_time);
$stmt->execute();
// If the statement affected the database
if ($stmt->rowCount() > 0)
{
}
else{
}
} catch(PDOException $e){
echo "Error: " . $e->getMessage();
}
}
フォームまたはAJAXを使用しますが、両方を併用しないでください。 –
@ScottMarcus何ですか?なぜ誰かがAJAXを使ってフォームを送信できなかったのですか? –
あなたの入力は送信後に空ですか? –