php設置session
A. php Session 設置問題
使用到session時,取值還是賦值都要開啟session_start()的
time()>$_SESSION['name'] + 1200這是什麼意思,是想要當時間超過session保存的數據的時間嗎,
不用了吧 如果只是文件session寫入的話可以在伺服器配置的session.gc_probability = 1
session.gc_divisor = 1
session.gc_maxlifetime = 10
這幾個參改寫中
你的session_id 是通過cookie傳遞的吧 如果打開一新頁面沒有得到已注冊的值,session賦值失敗,還有一種可能就是session.cookie_lifetime = 0問題 這值為0的話瀏覽器被重啟cookie保存的session_id丟失
B. php a標簽設置session
a標簽是HTML里的,而session是PHP里的。如果你的意思是點擊後把session賦值,就做個ajax到一個PHP文件。
在PHP里寫上:
<?php
session_start();
$_SESSION["test"] = $_POST["data"]
求採納么么噠
C. php 當瀏覽器禁用cookie怎麼設置session
我們可以拋開cookie使用session,即假定用戶關閉cookie的情況下使用session,其實現途徑有以下幾種:
1、設置php.ini中的session.use_trans_sid = 1或者編譯時打開打開了--enable-trans-sid選項,讓PHP自動跨頁傳遞session id。
2、手動通過URL傳值、隱藏表單傳遞session id。
3、用文件、資料庫等形式保存session_id,在跨頁過程中手動調用。
途徑1舉例說明:
s1.php
<?php
session_start();
$_SESSION[』var1』]="中華人民共和國";
$url="<a href=".""s2.php">下一頁</a>";
echo $url;
?>
s2.php
<?php
session_start();
echo "傳遞的session變數var1的值為:".$_SESSION[』var1』];
?>
D. php.ini中的session如何設置
php.ini設置參考項:
//處理session存取的模式
session.save_handler = files
//session檔案存放路徑
session.save_path = /tmp
//session使用cookie的功能,啟動: 1
session.use_cookies = 1
//session名字
session.name = PHPSESSID
//自動啟動;0:關;1:開啟
session.auto_start = 0
//session使用cookie的生存期,以秒為單位
session.cookie_lifetime = 0
E. php 怎麼設置session 的值永不過期
把sessionID存到客戶端cookie里試試呢
<?php
session_start();//啟動Session
$_SESSION['count'];//注冊Session變數Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID=session_id();
//如果設置了$PHPSESSID,就將SessionID賦值為$PHPSESSID,否則生成SessionID
$_SESSION['count']++;//變數count加1
setcookie('PHPSESSID',$PHPSESSID,time()+3156000);//儲存SessionID到Cookie中
//echo$count;//顯示Session變數count的值
?>
F. session PHP設置
修改php.ini文件指定session.save_path ="c:/tmp"
在C盤再建立個 tmp 文件夾
G. 如何嚴格設置php中session過期時間
第一種方法即設置php.ini配置文件,設置session.gc_maxlifetime和session.cookie_lifetime節
點屬性值,當然也可以使用ini_set函數改變當前上下文環境的屬性值:
ini_set('session.gc_maxlifetime', "3600"); // 秒
ini_set("session.cookie_lifetime","3600"); // 秒
第二種方法即設置Session時間戳,比如下面的辦法。
在登錄成功時設置時間戳為當前時間推後1小時,$_SESSION['expiretime'] = time() + 3600;。在
檢查用戶登錄情況使用如下代碼:
if(isset($_SESSION['expiretime'])) {
if($_SESSION['expiretime'] < time()) {
unset($_SESSION['expiretime']);
header('Location: logout.php?TIMEOUT'); // 登出
exit(0);
} else {
$_SESSION['expiretime'] = time() + 3600; // 刷新時間戳
}
}
兩種方法可以結合使用。
H. php的CI框架,如何使用session
裡面有兩種session的使用方法:
1是php的原始的session使用方法,這個很簡單,$_SESSION['name']="name",然後在需要的地方顯示:echo $_SESSION['name'];
2是codeigniter這個框架的一個方法:
下面就詳細講解如何使用這個有點點復雜的方法:
首先,在\ci\application\config下面的config.php文件中找到:$config['encryption_key'] = '';這個裡面隨便填什麼值都可以,但是不能為空。一般是英文啊,不要鑽牛角尖。
接著在\ci\application\config下面的auto.php文件中找到:$autoload['libraries'] = array('');裡面要填寫:$autoload['libraries'] = array('session');或者在適當的地方如control文件夾裡面的相應文件中(一般是在構造方法中)寫:$this->load->library('session');這樣也行。
現在環境配置好了,現在就是寫代碼了:
在需要放入session的地方寫:
$this->session->set_userdata('name','yang');
這樣session裡面就有了值了。
顯示值:
echo $this->session->userdata('name');
如果是array,則:
$newdata = array(
'username' => 'johndoe',
'email' => '[email protected]',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
以下是轉載的別人的詳細的有點廢話的相關知識:
Sessions會在每個頁面載入後開始運行,所以session類必須首先被初始化。
1、您可以在控制器中初始化,也可以在系統中自動載入(譯者註:在autoload.php設定)$autoload['libraries'] = array('session');
2、要在您的控制器構造函數中初始化session類,您可以使用 $this->load->library 函數:$this->load->library('session');一旦被載入, session就可以這樣使用: $this->session。
session類的絕大部分都會在後台運行,所以初始化session時,它session數據會被自動讀取、創建和更新。
Sessions 是怎樣工作的?
需要知道的非常重要的一點就是,session類一旦被初始化,它就會自動運行。對於後面的事情,您可以完全不作理會。正如您將會在下面看到的一樣,您可以正常使用session來工作,甚至還可以添加自己的session數據,而在這一切的過程中,讀、寫和更新的操作都是自動完成的。
當頁面載入後,session類就會檢查用戶的cookie中是否存在有效的session數據。如果session數據不存在(或者已經過期),那麼就會創建一個新的session並把他保存在cookie中。如果session數據存在,那麼他的信息就會被更新,同時cookie也會被同時更新。每次更新都會重新生成session_id的值。
默認情況下, Session Cookie 每隔 5 分鍾才會更新一次,這樣會減少對處理器的負荷。如果你重復的裝載頁面, 你會發現"上次活動"的時間在五分鍾,或多餘五分鍾的時候才會變化,也就是 cookie上次被寫入的時間。 這個時間可以通過設置 application/config/config.php 文件里的 $config['sess_time_to_update'] 行來改變。
I. php怎麼設置某個session的過期時間
可以在PHP中,設置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默認24分鍾) 這里你可以隨便設置一下過期時間.但是有人說設置以後,好象不起作用! 其實不是不起作用,而是因為系統默認: session.gc_probability = 1 session.gc_divisor = 1000...
樓主去後盾人看看,那的學習視頻應該可以幫助你解決問題,以及你其他的不太懂的問題