サイト (ワードプレスで構築) にフォームがあり、作業中です。これは、私が達成しようとしていることの段階的な図です。
訪問者 :
- 送信ボタンを押します。
- 送信が成功すると、別のページにリダイレクトされます。
- 戻るボタンを押します (理由は何であれ)。
- 彼は「ドキュメントの期限切れ」ページを取得します (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']
、この状況でどのように使用しますか。よろしくお願いします。