酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: dark 於 2014-05-22 23:11

主題: php session 行為變了嗎?
作者: dark2014-05-22 23:11
<?php //a1.php
session_start();
$_SESSION['a']="aa";
?>
<a href="b2.php">b2</a>

<?php //a2.php
echo $_SESSION['a'];
?>

第一個視窗開 a1.php , 再進入 a2.php 會出現 echo
再另外新開第二個視窗 , 直接連 a2.php 理當不會出現 echo
理當這才是 session 觀念吧 ...

但今天怎麼試 , 第二新開視窗都像繼承了第一個視窗一樣
查詢 cookies 中的 PHPSESSID 也都沒變
(當然不同瀏覽器正常)


是 session 行為變了 , 還是 browser 行為變了 ?
(ps: 以前使用 session 的確第二視窗會不同 session id 阿)


另外 ..
以前沒使用 cookies 習慣
而以前的印象 , 一個網站可以用 5 個 cookies ?
但剛剛稍微 google 了一下 , 有人說 n 個的 ... 就是沒看到 5 個的
但也還沒找到第二個 cookies 怎麼用 ?

1.
而目前小弟想試試一個 a.php -> b.php 的變數傳遞有哪些方法
不知這樣能不能兩個以上 cookies 同時使用

2.
單就 a -> b  , 能使用兩個 session (在 server 端)
... 理當換一下 session_id() 就好吧 ?

以上 "用途" , "可行性" , "做法" 都還在思考中

不知各位是否有利用 session 或 cookies 做過特別手法的傳遞數值 ?
還請多多指教 , 謝謝!!
主題: Re: php session 行為變了嗎?
作者: hoyo2014-05-23 08:22
就 session 使用上的「靈異現象」,我大概只能疑惑的猜,是瀏覽器暫存的問題,

重新測試之前將所有的離線檔案和 cookie 刪除,然後重新開啟瀏覽器吧。

因為 a2.php 沒有 session_start() 是不可能傳遞 session 的 ...

---------

兩個 cookie 傳遞也沒必要,我坐在電腦前面,打開瀏覽器,取得一個 cookie 身份,

如果有「兩個以上的資訊」要傳遞,就類似 a=xxx&b=yyy 或是使用字串拆解就可以

實在沒有也無法搞出兩個 cookie 這種神奇的東西,除非你是 MIB 的雙頭人 ??
主題: Re: php session 行為變了嗎?
作者: dark2014-05-26 10:48
不好意思 , 漏打了
a2.php 中有 session_start()

昨天有測試一下
因懷疑 httpd 目前機制是 :
"先 check cookies 的存在 --> 才決定是否為同一 session"
所以試驗使用 http 導向 https
結果就沒出現分別開啟的兩視窗 , 有著相同 $_SESSION 變數

目前仍假定 httpd 的行為如上述
主題: Re: php session 行為變了嗎?
作者: jackmr2015-03-16 04:31
現在瀏覽器都開頁籤而不是新開視窗

可能是這個關係