酷!學園
技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: dark 於 2014-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 做過特別手法的傳遞數值 ?
還請多多指教 , 謝謝!!
-
就 session 使用上的「靈異現象」,我大概只能疑惑的猜,是瀏覽器暫存的問題,
重新測試之前將所有的離線檔案和 cookie 刪除,然後重新開啟瀏覽器吧。
因為 a2.php 沒有 session_start() 是不可能傳遞 session 的 ...
---------
兩個 cookie 傳遞也沒必要,我坐在電腦前面,打開瀏覽器,取得一個 cookie 身份,
如果有「兩個以上的資訊」要傳遞,就類似 a=xxx&b=yyy 或是使用字串拆解就可以
實在沒有也無法搞出兩個 cookie 這種神奇的東西,除非你是 MIB 的雙頭人 ??
-
不好意思 , 漏打了
a2.php 中有 session_start()
昨天有測試一下
因懷疑 httpd 目前機制是 :
"先 check cookies 的存在 --> 才決定是否為同一 session"
所以試驗使用 http 導向 https
結果就沒出現分別開啟的兩視窗 , 有著相同 $_SESSION 變數
目前仍假定 httpd 的行為如上述
-
現在瀏覽器都開頁籤而不是新開視窗
可能是這個關係