phpjssession
『壹』 在php頁面中的js代碼,如何獲取其他頁面的session傳過來的值,求詳解,最好有代碼,謝謝。
session是存在伺服器上的,js沒法獲取,但可以將值保存在js變數
var id = '<?=$_SESSION["id"] ?>';
我猜你大概是遇到類似下面的情況:
有一個用戶登陸了網站之後,伺服器端把用戶信息(比如用戶名)保存在了伺服器端的session中,然後在一個頁面中,js腳本可能調用到這些用戶信息,於是你就問怎樣才能用js訪問session.
如果是上面的情況,那麼很好解決.
由於session是保存在伺服器端的,客戶端無法更改或者讀取到session,你想想,要是客戶端能更改了,那我把我的session許可權更改為管理員或者自己想要的,不是可以為所欲為了嗎?
不過,僅僅是傳遞給js讓js來使用是可以的.那麼如何將session信息傳遞給js呢?答案就是在php頁面中直接為js變數賦值.比如我想讓js腳本中的一個變數 a 等於 $_SESSION['user']中的值,那麼就可以這么寫php代碼:
echo "<script>var a = '".$_SESSION['user']."';</script>";
簡單地說,直接把這個值列印出來賦值到js腳本的變數中去就行了.
這樣就簡單地實現了php(伺服器端)向js(客戶端)傳值.
『叄』 不用ajax,在js中如何獲取PHP中的session值
我可不可這么理解你的要求: 1.默認是需要驗證的:2.php驗證; 2.符合條件的就不需要驗證了,直接看到了主體內容:index.php 即然要判斷用戶需不需要驗證,那麼在index.php之前是不是還有一個頁面呢?在這個頁面里POST 隱藏控制項傳參到index.php, if($_POST('hidden') == "OK") { ... } else { header("Location: 2.php"); } 設SESSION很簡單了,跟定義變數一樣:$_SESSION['變數名'] = 「值」; 銷毀變數:unset($_SESSION['變數名'])www.10086zg.com回答
『肆』 PHP 與 NodeJS 如何共用 Session
PHP 與 NodeJS共用 Session的方法是PHP暴露一個Service,向Node提供Session數據。php_session.php?SID=xxxx
1、php代碼:
<?php
function getSessionByID($SID) {
if (session_id()) {
// 關閉當前session
session_destroy();
}
// 初始化指定session
session_id($SID);
session_start();
// 返回操作介面更友好的JSON
// 必要的FLAG看這里 http://www.php.net/manual/en/json.constants.php
return json_encode($_SESSION);
}
header('Content-Type:application/json');
echo getSessionByID($_GET['SID']);
?>
2、node實現代碼:
var request = require('request');
request('http://localhost/php_session.php?SID=xxxx', function(err, res, body) {
if (!err && res.statusCode == 200) {
// 根據需要使用body(json)
}
});
『伍』 php關閉瀏覽器如何使session失效
獲取關閉瀏覽器的事件需要在瀏覽器打開這個頁面的時候,點擊關閉瀏覽器,這個難度有點大
很多安全類的網站是給session設置較短的生存時間,或者在關閉標簽頁的情況下,銷毀session信息,設置sessiom生存期php可以設置,關閉標簽頁通過一個js獲取關閉事件,然後同時ajax發一個標識到php端,銷毀當前session就可以的
『陸』 php利用session怎麼判斷用戶已離線
方法有好多種,但應該都跟心跳請求類似。
首先用戶打開一個頁面後,頁面裡面會有段js腳本來反復請求一個地址,即判斷用戶是否在線的地址(跟新浪微博隔一段時間請求一個地址查看是否有新消息類似)
比如判斷頁面為A,打開的頁面為B ,則B 內的js腳本以ajax請求的方式每隔1分鍾來訪問A,A可以記錄下最後一次的請求時間,然後你就可以拿這個最後一次請求的時間來判斷用戶是否離線,比如B每隔1分鍾發送一次請求,如果最後活動時間與當前時間相差兩分鍾,就可以認為用戶已離線。
還有一種方法,就是利用js的onunload事件
當用戶關閉瀏覽器的時候,可以用onunload發送一個請求,注銷掉session,或者將用戶狀態置為離線,都可以,不過沒有上面靠譜就是,因為F5刷新頁面也同樣觸onunload事件
方法還有很多,結合你需要實現的功能和業務,多想想就出來了
『柒』 PHP中 cookies和SEssion的詳細用法
一、sesion 是一個常用的方法,在不同的編程語言中的用法不一樣。
下面就把如何在php中用session和大家分享一下。
page1:session.php
<?php
session_start();
session_register("username");
$_SESSION[''username'']=''user'';
?>
這個頁面是給session變數附值,與資料庫結結合方法也是一樣的。
我們可以根據需要設置session的屬性。
page2:session1.php
<?php session_start();
echo $_SESSION[''username''];
?>
這個頁面主要是輸出session的值,但是我們要注意。session_start();
一定要在每次使用之前打開。
好了,這是使用session的一般方法。希望對你有用。
二、Cookies的使用。
例子 1. setcookie() 發送例子 $value = ''something from somewhere'';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value,time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
注意 cookie 中值的部分在發送的時候會被自動用 urlencode 編碼並在接收到的時候被自動解碼並把值賦給與自己同名的 cookie 變數。如果不想這樣並且在使用 PHP 5 的話,可以用 setrawcookie() 來代替。下面這個簡單的例子可以得到剛才所設定的 cookie 的值:
<?php
// 輸出單獨的 cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];
// 另一個調試的方法就是輸出所有的 cookie
print_r($_COOKIE);
?>
要刪除 cookie 需要確保它的失效期是在過去,才能觸發瀏覽器的刪除機制。下面的例子說明了如何刪除剛才設置的 cookie:
例子 2. setcookie() 刪除例子 // 將過期時間設為一小時前
setcookie("TestCookie", "", time() - 3600);
setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);
也可以通過在 cookie 名稱中使用數組符號來設定數組 cookie,可以設定多個 cookie 作為數組單元,在腳本提取 cookie 時所有的值都放在一個數組種: 例子 3. setcookie() 中使用數組的例子 <?php
// 設定 cookie
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// 刷新頁面後,顯示出來
if (isset($_COOKIE[''cookie''])) {
foreach ($_COOKIE[''cookie''] as $name => $value) {
echo "$name : $value <br />\n";
}
}
?>
這就是session 和cookie 的使用方法。
『捌』 php怎麼把session值傳到html
session的key-value都是存在server的,瀏覽器沒法直接獲取。
在html里能通過js拿到jesessionid之類的東西。
1、數據量如果小,可以考慮放到cookie里,傳到客戶端,html里用js就可以拿到。
2、如果數據量大,可以考慮單獨做一個jsp或servlet,根據傳來的session的key,返回序列化的session的值,比如json之類的。html里用js通過ajax獲取。這種方式復雜了點,多一次遠程訪問,但是靈活方便。
『玖』 關於php里session在跳轉頁面後失效的問題
php 中的session是有時間的,在存儲session的時候,要把當前時間也存入,然後你判斷的時候,要用當前時間剪去你存儲的時間,如果沒超時,則繼續,超時,則銷毀session,退出
『拾』 當php session被釋放時觸發的事件不太懂,有什麼可以觸發的事件嗎
首先,session如果存在文本文件中,當瀏覽器關閉session就被釋放了,其次,session有專門的函數session_destroy()清空session,如果非要說觸發事件,那就調用釋放函數時去判斷或者瀏覽器關閉時js請求php去做事件