Home > PHP, Program > 當session遇上header location儲存問題

當session遇上header location儲存問題

由於看到網上很多錯誤資訊, 所以自己寫下對session的行動, 研究在於function session_set_save_handler 所得出來的結論, 如有問題, 請指教

由session_start();開始, session只會做普通variable的動作

action.php

session_start();
$_SESSION[‘user’] = ‘abc’;
$_SESSION[‘user’] = ‘ddd’;

直到讀到file完結才會真正儲存session file

所以當action.php session有修改的時候, 最後加了

session_start();
$_SESSION[‘user’] = ‘abc’;
$_SESSION[‘user’] = ‘ddd’;
header(‘Location: index.php’);
exit();

就會即時跳到index.php, 這暫時不會儲存action.php的session, 也當沒有做過東西將他放了一個黑洞(無人不知的地方),直到index.php行完, 才會返回action.php儲存action.php的session
所以當index.php讀取$_SESSION[‘user’], 只會拿回沒有被修改的$_SESSION[‘user’]

PHP, Program , ,

  1. No comments yet.
  1. No trackbacks yet.
*