3ページありAjaxリクエスト後にセッションデータが失われています。私はbutton1をクリックしないと以下のような単純なフォームがあり、フォームを送信しても問題ありません。ページ3のセッション値ですが、ボタン1をクリックしてAjaxをリクエストすると、ページ3にセッションデータがありません。あなたはjqueryのを通してそれをやっているときajaxリクエスト後のセッションデータがありません
page1.phpコード
<?php
session_start();
if(isset($_POST['firstname'])){
$_SESSION['firstname']= $_POST['firstname'];
}
if(isset($_POST['lastname'])){
$_SESSION['lastname']= $_POST['lastname'];
}
?>
<form id="form1" action="page3.php">
First name:<br>
<input type="text" id="firstname" name="firstname" value="">
<br>
Last name:<br>
<input type="text" id="lastname" name="lastname" value="">
<br><br>
<input type="submit" value="Submit">
<br><br>
<input type="button" id="button1" value="save">
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#button1').on("click",function(){
jQuery.ajax({
type: "POST",
data: $('#form1').serialize(),
url:page2.php,
dataType : 'json',
encode : true,
success: function(data){
console.log(data);
}
});
});
});
</script>
page2.phpコード
<?php
session_start();
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
//some code here
?>
page3.phpコード
<?php
session_start();
$firstname=$_SESSION['firstname'];
$lastname=$_SESSION['lastname'];
//some code here
?>
であるあなたが持っていますこれをpage2.phpに書き込むには:-'if(isset($ _ POST ['firstname'])){ $ firstname = $ _ POST ['firstname']; $ _SESSION ['firstname'] = $ firstname; } if(isset($ _ POST ['lastname'])){ $ lastname = $ _ POST ['lastname']; $ _SESSION ['lastname'] = $ lastname; } ' –