下記のようにoriginal.phpのURLを$_SESSION['original_URL']に保持して、遷移後のページで利用したいと考えており、直接main.phpへと遷移してきた時には当然、$_SESSION['original_URL']に保持されていることが確認できております。
しかしながら、main.php上のajax(非同期処理)を経てその結果、window.location.href="main.php"でもう一度自分に戻ってきた時には$_SESSION['original_URL']がNULLになっており、保持した値が失われてしまっています。ajaxの処理の結果、自分自身に改めてリダイレクトすると言う点は一旦、そういうものであると受け入れていただきたいのですが、ここで$_SESSIONの値がクリアされてしまうのはなぜでしょうか?また、それがJS上のwindows.location.hrefと関連があるとすれば、これを解決する方法(クリアさせない)はあるのでしょうか?
よろしくお願い申し上げます。
php
1//original.php 2<?php 3session_start(); 4$_SESSION['original_URL']=$_SERVER['REQUEST_URI'] 5?> 6<a href="main.php">jump</a>
php
1//main.php 2<?php 3session_start(); 4var_dump($_SESSION) 5//original.phpからリンクしたきた時は$_SESSION['original_URL']が格納されている 6//下記のajaxで非同期で他の処理をした結果、windows.location.href="main.php"で戻ってきた時には 7$_SESSION['original_URL']がNULLになっている 8?> 9 10<script type="text/javascript"> 11$(function(){ 12$.ajax({ 13 type:'POST', 14 url:'check.php', 15 datatype:'json', 16 data:{ 17 name:username, 18 email:mail 19 } 20 }) 21.then(fucntion(){ 22windows.location.href="main.php" 23}) 24 25})
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/19 03:42