0

私が構築している自分の Web サイトに、単純な PHP 連絡先フォームがあります。フォームが送信された瞬間にページが更新され、PHP を使用すると、クリアされたコンタクト フォームの下に成功メッセージが表示されます。

ページを更新せずにAjax経由でPHP成功メッセージを表示する方法はありますか?どうすればこれを行うことができますか?

私はPHPが初めてです。これが私の現在のコードの一部です...

if ($nr != $sum)
header('Location: index.php?msg=wrong#contactform');
else

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$Email>");


// redirect to success page 
if ($success){
header('Location: index.php?msg=sent#contactform');
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=index.php\">";
}
4

3 に答える 3

0

これを実現するには、2つのテクノロジーを組み合わせる必要があります。クライアント側のJavascriptとサーバー側のPHP 。

まず、HTMLフォームと成功アラートを作成します。

<span class="formSubmitted">Your form was submitted!</span>

<form>
<input type="text" id="messageInput">
<input id="submitButton" type="submit">
</form>

次に、jQuery(Javascript framwork)を使用して、このフォームを送信します。

$("#submitButton").click(function(e){
   e.preventDefault();
   $.ajax({
      url : "myphpfile.php",
      type : "POST",
      data : {
         "message" : $("#messageInput").val() 
      },
      success: function(){
          $(".formSubmitted").fadeIn();
      }
   });

});

そして最後に、myphpfileで、次のようにしてメッセージ変数を取得できます。

$message = $_POST['message'];
于 2013-01-07T23:53:04.573 に答える
0

これが役立つかもしれません。これは、フォームajaxを簡単に送信するためのクエリプラグインです。http://malsup.com/jquery/form/

于 2013-01-07T23:44:10.220 に答える
0

呼び出しページで、成功メッセージをdivに挿入してみてください(jqueryを使用)

.done(function(){
$('#somediv').html('Success yippy!!');
})
于 2013-01-07T23:44:15.230 に答える