2016-09-21 27 views
1

ユーザーがフォームを送信した後にポップアップ/ライトボックスウィンドウを開いたままにする方法がわかりません。私はPHP初心者です。今すぐ "ありがとう"というメッセージが表示されますフォーム送信後に同じポップアップウィンドウ内に成功メッセージを表示

ライブを見るには、http://druvocals.com/dv にアクセスし、右上の封筒アイコンをクリックします。

基本的には、ユーザーが「送信」をクリックした後、ちょっとしたメッセージが表示された後、「閉じる」と表示されたボタンをクリックするとポップアップウィンドウが表示されますホームページ。フォームのための私のPHPコードです。

<?php 

$EmailFrom = "DruVocals"; 
$EmailTo = "[email protected]"; 
$Subject = "DruVocals"; 
$Name = Trim(stripslashes($_POST['name'])); 
$Email = Trim(stripslashes($_POST['email'])); 
$Message = Trim(stripslashes($_POST['text'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

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

// redirect to success page 
if ($success){ 
    print "thanks"; 
} 
else{ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?> 

答えて

-1

変数に変更してホームページにリダイレクトするだけです。 ように:

header('Location: http://druvocals.com/dv/?sended='.$success); 

そしてホームページへ:

<? if(isset($_GET['sended']) && $_GET['sended'] == true){ ?> 
Some html, like the email sender form popup, just with the message what you want. 
<?}?> 
+0

なぜ私の答えが-1になったのですか?理解できません!それは確かに動作します! –

0

フォームブラウザをsubmitingするフォームアクションURLに行く時に「ポップアップ」、実際のポップアップ(つまり、別のブラウザウィンドウ/タブ)ではありませんので、 。

一般的な解決策は、実際のフォームを提出しないで、必要なデータを収集し、javascripts ajaxコール経由でサーバーに送信するためにボタンをクリックすることです。そうすれば、エンドユーザーはすべて同じままです。 ajaxを使用してサーバーからどのような応答を受け取ったかに応じて、メッセージ、エラーメッセージ、閉じるボタンなど何かを表示することができます。

これらはすべてPHPとはほとんど関係がありません。

+0

これは私のために少し進んでいます...これを行う方法についてのチュートリアルを持っている可能性のあるリンク先のサイトはありますか? –

+0

@RichardMartinez非常に複雑ではないが、私はあなたのコード例を書くことができたが、人々はすでに他の質問のためにそれを行った。ここで受け入れられた答えを試してくださいhttp://stackoverflow.com/questions/16616250/form-submit-with-ajax-passing-form-data-to-php-without-page-refresh – Sejanus

関連する問題