亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

如何使用php中session

時間:2024-08-27 02:57:56 php語言 我要投稿
  • 相關(guān)推薦

如何使用php中session

  學(xué)會php session可以在很多地方使用,比如做一個后臺登錄的功能,要讓程序記住用戶的session,其實很簡單,看了下面的文章你就明白了。

  P session用法其實很簡單它可以把用戶提交的數(shù)據(jù)以全局變量形式保存在一個session中并且會生成一個唯一的session_id,這樣就是為了多了不會產(chǎn)生混亂了,并且session中同一瀏覽器同一站點只能有一個session_id,下面我們一起來看看關(guān)于session使用方法。

  如何使用session,凡是與session有關(guān)的,之前必須調(diào)用函數(shù)session_start();

  為session賦值很簡單,如:

  復(fù)制代碼 代碼如下:

  <?php

  Session_start();

  $Name = "這是一個Session例子";

  Session_Register("Name");//注意,不要寫成:Session_Register("$Name");

  Echo $_SESSION["Name"];

  //之后$_SESSION["Name"]為"這是一個Session例子"

  ?>

  在php4.2之后,可以為session直接賦值:

  復(fù)制代碼 代碼如下:

  <?PHP

  Session_Start();

  $_SESSION["name"]="value";

  ?>

  取消session可以這樣:

  復(fù)制代碼 代碼如下:

  <?php

  session_start();

  session_unset();

  session_destroy();

  ?>

  讀取 session

  PHP 內(nèi)置的 $_SESSION 變量可以很方便的訪問設(shè)置的 session 變量。

  復(fù)制代碼 代碼如下:

  <?php

  session_start();

  echo "登記的用戶名為:".$_SESSION["username"];    //輸出 登記的用戶名為:nostop

  ?>

  檢查變量是否被登記為會話變量 session_is_registered

  語法:boobean session_is_registered(string name);

  這個函數(shù)可檢查當(dāng)前的session之中是否已有指定的變量注冊,參數(shù)name就是要檢查的變量名。成功則返回邏輯值true。

  復(fù)制代碼 代碼如下:

  <?php

  session_start();

  if(!session_is_registered("gender")){ //判斷當(dāng)前會話變量是否注冊

  session_register("gender");    //注冊變量

  }

  $gender="女";

  echo $_SESSION['gender'];  //女

  ?>

  存取當(dāng)前會話名稱  session_name

  語法:boolean session_name(string [name]);

  這個函數(shù)可取得或重新設(shè)置當(dāng)前session的名稱。若無參數(shù)name則表示獲取當(dāng)前session名稱,加上參數(shù)則表示將session名稱設(shè)為參數(shù)name。

  復(fù)制代碼 代碼如下:

  <?php

  $sessionName = session_name();   //取得當(dāng)前 Session 名,默認(rèn)為 PHPSESSID

  $sessionID = $_GET[$sessionName];   //取得 Session ID

  session_id($sessionID);      //使用 session_id() 設(shè)置獲得的 Session ID

  ?>

  存取當(dāng)前會話標(biāo)識號session_id

  語法:boolean session_id(string [id]);

  這個函數(shù)可取得或重新設(shè)置當(dāng)前存放session的標(biāo)識號。若無參數(shù)id則表示只獲取當(dāng)前session的標(biāo)識號,加上參數(shù)則表示將session的標(biāo)識號設(shè)成新指定的id。

  設(shè)置 Session 的生存期

  復(fù)制代碼 代碼如下:

  <?php

  session_start

  // 保存一天

  $lifeTime = 24 * 3600;

  setcookie(session_name(), session_id(), time() + $lifeTime, "/");

  ?>

  session_set_cookie_params:設(shè)置 Session 的生存期的,該函數(shù)必須在 session_start() 函數(shù)調(diào)用之前調(diào)用。

  如果客戶端使用 IE 6.0 , session_set_cookie_params(); 函數(shù)設(shè)置 Cookie 會有些問題,所以我們還是手動調(diào)用 setcookie 函數(shù)來創(chuàng)建 cookie。

  復(fù)制代碼 代碼如下:

  <?php

  // 保存一天

  $lifeTime = 24 * 3600;

  session_set_cookie_params($lifeTime);

  session_start();

  $_session["admin"] = true;

  ?>

  設(shè)置 Session 文件的保存路徑

  session_save_path() :必須在 session_start() 函數(shù)調(diào)用之前調(diào)用。

  復(fù)制代碼 代碼如下:

  <?php

  // 設(shè)置一個存放目錄

  $savePath = "./session_save_dir/";

  // 保存一天

  $lifeTime = 24 * 3600;

  session_save_path($savePath);

  session_set_cookie_params($lifeTime);

  session_start();

  $_session["admin"] = true;

  ?>

  <?php

  session_start();    //啟動Session

  $username='nostop';

  session_register('username');    //注冊一個名為username變量

  echo '登記的用戶:'.$_SESSION['username'];    //登記的用戶:nostop   讀取Session變量

  $_SESSION['age']=23;    //聲明一個名為age的變量,并賦值

  echo '年齡:'.$_SESSION['age']; //年齡:23

  session_unregister('username'); //注銷Session變量

  echo $_SESSION['username'];  //空

  echo $_SESSION['age'];//23

  unset($_SESSION['age']); //注銷Session變量

  echo '登記的用戶:'.$_SESSION['username']; //空

  echo '年齡:'.$_SESSION['age']; //空

  ?>

  注意:

  1:在調(diào)用Session_Start()之前不能有任何輸出.例如下面是錯誤的.

  1行

  2行 <?PHP

  3行 Session_Start();//之前在第一行已經(jīng)有輸出

  4行 .....

  5行 ?>

  提示1:

  凡是出現(xiàn)"........headers already sent..........",就是Session_Start()之前向瀏覽器輸出信息.

  去掉輸出就正常,(COOKIE也會出現(xiàn)這種錯誤,錯誤原因一樣)

  提示2:

  如果你的Session_Start()放在循環(huán)語句里,并且很難確定之前哪里向瀏覽器輸出信息,可以用下面這種方法:

  1行 <?PHP Ob_Start(); ?>

  ........這里是你的程序......

  2:這是什么錯誤

  Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....

  因為你沒有指定session文件的存放路徑.

  解決方法:

  (1)在c盤建立文件夾tmp

  (2)打開php.ini,找到session.save_path,修改為session.save_path= "c:/tmp"

【如何使用php中session】相關(guān)文章:

Session在PHP中的使用07-24

教你如何使用php的session07-13

PHP創(chuàng)建和使用session cookie變量05-16

php中session的基礎(chǔ)知識09-11

PHP會話session 時間設(shè)定使用入門10-04

php中Session存儲到Redis的方法09-23

如何使用PHP框架09-12

PHP語言中Session的概念08-03

php語言中session用法07-02

php實現(xiàn)Session存儲到Redis08-17