session的用法php
❶ php中$_session[]是什麼意思
用戶會話保存變數
1.php文件
<?php
session_start();
$_SESSION["str"]="我是中國人!!!";
?>
2.php文件
<?php
session_start();
echo $_SESSION["str"];
?>
先執行1.php,,再執行2.php,,會看到在1.php裡面設置的變數被輸出了,,就這作用,,用來保存跨域的變數
樓上說的不對,,session雖說是保存在伺服器端,,但對客戶端仍有數據發送,並且是以cookie的方式,,如果客戶端禁用了cookie,,session也是用不了的.....還有,,session也是可以造假的...並不一定百分之一百安全
❷ PHP中SESSION 怎麼用呢
在需要用到session的頁面都開啟session功能
在每個腳本的最開始處添加代碼
<?php
session_start();
然後注冊session變數,比如,比如某個用戶登錄成功了
$_SESSION['valiabled_user'] = $username;
然後在所有開啟session的頁面都可以訪問 $_SESSION['valiabled_user']這個變數了
❸ 怎麼理解PHP Session的用法 生命周期 過期時間
session簡介
Session直接翻譯成中文比較困難,一般都譯成時域。在計算機專業術語中,Session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從注冊進入系統到注銷退出系統之間所經過的時間以及如果需要的話,可能還有一定的操作空間。
具體到Web中的Session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。因此從上述的定義中我們可以看到,Session實際上是一個特定的時間概念。
需要注意的是,一個Session的概念需要包括特定的客戶端,特定的伺服器端以及不中斷的操作時間。A用戶和C伺服器建立連接時所處的Session同B用戶和C伺服器建立連接時所處的Session是兩個不同的Session。
❹ php怎麼使用session session
使用session
<?php
session_start();//啟動會話這一句最好再最開始,
$_SESSION['user']="usename";//給session賦值
使用時
<?php
session_start();//啟動會話
$name=$_SESSION['user'];//取出session裡面的值
❺ 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'] 行來改變。
❻ php中的原生session怎麼用
session_start();//放在第一行
登錄以後各session賦值
$_SESSION['login']=='ok';
在需要登錄的頁面做判斷
session_start();
if(empty($_SESSION['login'])||$_SESSION['login']!='ok';)
{
redirect('login.html');
}
❼ PHP中session怎麼樣使用
前後兩個頁面都要session_start();並且session_start();必須是第行程序,前邊不能有PHP語句。
或者
在php.ini中打開session_autostart配置
❽ 關於php里session的應用
首先說句題外話:除了用戶名和密碼,盡量不要用session,因為龐大的session會大大的增加伺服器壓力(session保存在伺服器上),而一般的東西,跟安全性沒關的,用cookie,cookie保存在服務端,且cookie可以設置失效的周期。
下面正式回答你的問題:如果必須保存在session中,我常用2個方法:
方法一:如果可以通過某個事件判斷此session已經無用了,則將此session變數賦值NULL,則此session銷毀
方法二:資料庫中創建一個存放session的表,記錄每一個session變數的創建事件,每隔多久判斷session變數創建的時間距離現在多久則領該session變數=NULL,則可銷毀(此方法有點類似社區計算當前在線人數)
❾ 編程語言php中,session的意思以及詳細的介紹(望語言直白些)謝謝啦!
Session,中文譯為「會話」,它的主要用途在於實現對客戶端調用狀態的保持。
要理解這個意思,可以考慮以下的情況:
你訪問某個網站,然後這個網站是需要以會員身份登錄的,那麼當你輸入用戶名、密碼正確登錄後,這個信息怎麼讓下面的網頁得知這個呢?
我們知道,網頁是無狀態的,這句話的意思是:如果你訪問 a 網頁,再訪問 b 網頁,從實質上說,兩個網頁之間如果沒有特別的手段是完全互不相乾的(唯一的聯系可能是這兩個文件都存在一個伺服器上)。
php里的session是超全局數組(php 5以上版本),從這個角度來說,你可以把session看成是保存在內存里,供所有php腳本的訪問的數據塊。
請參看以下相關資料:
關於session
我們知道,用戶訪問一個網站時往往需要瀏覽許多網頁。對於一個通過PHP構築的網站來說,用戶在訪問的過程中需要執行許多的PHP腳本。然而由於HTTP協議自身的特點,用戶每執行一個PHP腳本都需要和Web伺服器重新建立連接。
又由於無狀態記憶的特點,此次連接無法得到上次連接的狀態。這樣,用戶在一個PHP腳本中對一個變數進行了賦值操作,而在另外一個PHP腳本中卻無法得到這個變數的值。例如,用戶在負責登錄的PHP腳本中設置了$user="wind",卻無法在另一個PHP腳本中通過調用$user來獲得「wind」這個值。也就是說,在PHP中無法設置全局變數。每個PHP腳本中所定義的變數都是只在這個腳本內有效的局部變數。
Session解決方案,就是要提供在PHP腳本中定義全局變數的方法,使得這個全局變數在同一個Session中對於所有的PHP腳本都有效。上面我們提到了,Session不是一個簡單的時間概念,一個Session中還包括了特定的用戶和伺服器。因此更詳細地講,在一個Session定義的全局變數的作用范圍,是指這個Session所對應的用戶所訪問的所有PHP。
例如A用戶通過Session定義了一個全局變數$user=「wind」中,而B用戶通過Session定義的全局變數$user=「jane」。那麼在A用戶所訪問的PHP腳本中,$user的值就是wind。
php中的Session與Cookie
在PHP開發中對比起Cookie,session 是存儲在伺服器端的會話,相對安全,並且不像 Cookie 那樣有存儲長度限制,本文簡單介紹 session 的使用。
由於 Session 是以文本文件形式存儲在伺服器端的,所以不怕客戶端修改 Session 內容。實際上在伺服器端的 Session 文件,PHP 自動修改 session 文件的許可權,只保留了系統讀和寫許可權,而且不能通過 ftp 修改,所以安全得多。
對於 Cookie 來說,假設我們要驗證用戶是否登陸,就必須在 Cookie 中保存用戶名和密碼(可能是 md5 加密後字元串),並在每次請求頁面的時候進行驗證。如果用戶名和密碼存儲在資料庫,每次都要執行一次資料庫查詢,給資料庫造成多餘的負擔。因為我們並不能只做一次驗證。為什麼呢?因為客戶端 Cookie 中的信息是有可能被修改的。假如你存儲 $admin 變數來表示用戶是否登陸,$admin 為 true 的時候表示登陸,為 false 的時候表示未登錄,在第一次通過驗證後將 $admin 等於 true 存儲在 Cookie,下次就不用驗證了,這樣對么?錯了,假如有人偽造一個值為 true 的 $admin 變數那不是就立即取的了管理許可權么?非常的不安全。
而 Session 就不同了,Session 是存儲在伺服器端的,遠程用戶沒辦法修改 session 文件的內容,因此我們可以單純存儲一個 $admin 變數來判斷是否登陸,首次驗證通過後設置 $admin 值為 true,以後判斷該值是否為 true,假如不是,轉入登陸界面,這樣就可以減少很多資料庫操作了。而且可以減少每次為了驗證 Cookie 而傳遞密碼的不安全性了(session 驗證只需要傳遞一次,假如你沒有使用 SSL 安全協議的話)。即使密碼進行了 md5 加密,也是很容易被截獲的。
當然使用 session 還有很多優點,比如控制容易,可以按照用戶自定義存儲等(存儲於資料庫)。我這里就不多說了。
❿ 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 的使用方法。