私がやっているウェブサイトは、4つの異なるパネルを備えたフルスクリーンスライダーで構成されています。
4番目のパネルには、phpの連絡フォームが含まれています。フォームを送信すると、最初のスライダーからページが再読み込みされるため、ユーザーは4番目のパネルにある結果(送信されたメッセージまたはエラー)をフォームで確認できません。
送信ボタンをフォームを含むdivにリダイレクトさせる方法はありますか?
phpスクリプトを使用した基本的なマークアップは次のとおりです。
<div id="container">
<div id="div1">
<div class="content">...</div>
</div>
<div id="div2">
<div class="content">...</div>
</div>
<div id="div3">
<div class="content">...</div>
</div>
<div id="div4">
<div class="content">
<form method="post" action="index.php">
<label>Nom</label>
<input class="small" name="name" placeholder="Name">
<label>Email</label>
<input class="small" name="email" type="email" placeholder="Email">
<label>Message</label>
<textarea class="small" name="message" placeholder="Message"></textarea>
<label>What's the best burger ever (antispam)</label>
<input class="small" name="human" placeholder="type the right answer">
<input id="submit" name="submit" type="submit" value="send">
</form>
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: ...';
$to = 'johndoe@gmail.com';
$subject = 'New message';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if ($name != '' && $email != '') {
if ($human == 'bacon burger') {
if (mail ($to, $subject, $body, $from)) {
echo '<div class="alert green"><p>Message sent!</p></div>';
} else {
echo '<div class="alert red"><p>An error occured. Go back and try again.</p></div>';
}
} else if ($_POST['submit'] && $human != 'bacon burger') {
echo '<div class="alert red"><p>You answered wrong to the antispam question.</p></div>';
}
} else {
echo '<div class="alert red"><p>You have to fill in all fields !</p></div>';
}
}
?>
</div>
</div>
</div>