0

サイト (ワードプレスで構築) にフォームがあり、作業中です。これは、私が達成しようとしていることの段階的な図です。

訪問者 :

  1. 送信ボタンを押します。
  2. 送信が成功すると、別のページにリダイレクトされます。
  3. 戻るボタンを押します (理由は何であれ)。
  4. 彼は「ドキュメントの期限切れ」ページを取得します (Firefox の場合で、他のブラウザーごとに異なる場合があります)。

このために、私は十分に知らないセッションを使用しようとしています。session_start();ヘッダーの前にページの一番上に配置しましたが、ここで問題が発生します。どこに置いてsession_destroy();も、望ましい結果が得られません。変数を割り当てる必要がある場合、どうすればよいでしょうか。親切に助けてください。以下は私が使用するスニペットです。

HTML<form> -タグを使用せず、div 内で生成されたコンテンツを配信するため、これは少しクレイジーです。

    <div id="content-div">
    //some php generated contents
    </div>

<input type="submit" value="SUBMIT CONTENT" id="short_button" onClick="handleFormSubmit()">

AJAX - 送信とリダイレクト用

<script language="javascript" type="text/javascript">
             function handleFormSubmit(){
             var button = document.getElementById('short_button');
                button.style.display = 'none';
                    }
        </script>

        <script type="text/javascript">
            jQuery(document).ready(function($) {
               $('#short_button').click(function(){
                    $.ajax({
                    type: 'POST',
                    url: 'http://awesomeness.com/pathto/processForm.php',
                    data:{'message':$('#content-div').html(),'client': $('#some-field').val() },
                    success:function(data) {
                    window.location = "http://awesomeness.com/thanks/";
                                 }
                });
                    });
                });

        </script>

PROCESSFORM.PHP

$to = "emailto@awesomepeople.com";
  $subject  = "NEW ARTICLE";
  $message .= $_POST['message'];
  $client   = $_POST ['client'];
  $headers = "From: awesomesite <someone@website.com>" . "\r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";           
  mail($to, $subject, $message, $headers);

結論 :session_destroy();ステップ 4 に示されているように、目的の結果を得るためにコードをどこに配置すればよいでしょうか。このようなセッション変数を使用する必要がある場合$_SESSION=['input']、この状況でどのように使用しますか。よろしくお願いします。

4

0 に答える 0