よろしくお願い致します。
前提・実現したいこと
更新などをしてもセッションがきちんと破棄できるようになる。
ログイン機能をつくっております。パスワードが違ったら、エラーメッセージを表示させる関数error()が動く流れです。
発生している問題・エラーメッセージ
var_dumpでセッション破棄をした後に出力をするときちんと処理されているのですが、
更新ボタンを押すと再びセッションが戻り、
echo ($_SESSION['redirect']);
で表示されていたり
print "<script language = javascript>error()</script>";
でも関数が作動してしまします。
1つ目のvar_dump($_SESSION);
array(5) { ["submit"]=> string(0) "" ["pass"]=> string(2) "11" ["OK"]=> string(2) "OK" ["last_operation"]=> int(1531108771) ["redirect"]=> string(8) "redirect" }
2つ目のvar_dump($_SESSION);
array(0) { }
該当のソースコード
php
1 <?php 2session_start(); 3 if (isset($_SESSION['redirect'])) { 4 echo ($_SESSION['redirect']); 5 print "<script language = javascript>error()</script>"; 6 var_dump($_SESSION); 7 8 $_SESSION = array(); 9 10 if (isset($_COOKIE[session_name()])) { 11 setcookie(session_name(), '', time()-40000, '/'); 12 } 13 session_destroy(); 14 echo "<br>"; 15 var_dump($_SESSION); 16 } 17 18 ?> 19 20
試したこと
session_destroy();のあとリダイレクトをするときちんとセッション破棄はされますが、そうすると
print "<script language = javascript>error()</script>";が処理されません。