创建会话,然后在ajax表单上提交

时间:2013-10-23 16:00:51

标签: jquery forms session

我在网站上有一个表单(基于wordpress构建),我正在努力。这是我想要实现的一步一步的说明。

访客:

  1. 点击提交按钮。
  2. 成功提交后,他会被重定向到另一页。
  3. 点击后退按钮(出于任何愚蠢的原因)。
  4. 他获得了“文档已过期”页面(在Firefox中,并且每个其他浏览器可能会有所不同)。
  5. 为此,我试图使用我不了解的会话。我已将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']这样的会话变量,那么在这种情况下如何使用它。非常感谢提前。

0 个答案:

没有答案