How to use php session? session usage_PHP tutorial
WBOYOriginal
2016-07-13 10:49:241052browse
Session usage is actually very simple. It can save the data submitted by the user in a session in the form of a global variable and generate a unique session_id. This is to avoid confusion if there are too many, and the same browser in the session has the same A site can only have one session_id. Let's take a look at how to use session.
How to use session
For anything related to session, the function session_start() must be called before;
PHP’s built-in $_SESSION variable can easily access the set session variables.
Example:
The code is as follows
Copy code
session_start();<🎜>
echo "Registered user name:".$_SESSION["username"]; //Output Registered user name: nostop<🎜>
?>
Check whether the variable is registered as a session variable
session_is_registered
Syntax: boobean session_is_registered(string name);
This function can check whether the specified variable has been registered in the current session. The parameter name is the variable name to be checked. If successful, the logical value true is returned.
Example:
The code is as follows
Copy code
Session_start();<🎜>
If(!session_is_registered("gender")){ //Determine whether the current session variable is registered<🎜>
session_register("gender"); //Register variable<🎜>
}<🎜>
$gender="female";<🎜>
echo $_SESSION['gender']; //Female<🎜>
?>
Access current session name
session_name
Syntax: boolean session_name(string [name]);
This function can get or reset the name of the current session. If there is no parameter name, it means to get the current session name, and adding the parameter means setting the session name to the parameter name.
Example:
The code is as follows
Copy code
代码如下
复制代码
$sessionName = session_name(); //取得当前 Session 名,默认为 PHPSESSID
$sessionID = $_GET[$sessionName]; //取得 Session ID
session_id($sessionID); //使用 session_id() 设置获得的 Session ID
?>
$sessionName = session_name(); //Get the current Session name, the default is PHPSESSID
$sessionID = $_GET[$sessionName]; //Get Session ID
session_id($sessionID); //Use session_id() to set the obtained Session ID
This function can obtain or reset the identification number of the currently stored session. If there is no parameter id, it means that only the identification number of the current session is obtained. If the parameter is added, it means that the identification number of the session is set to the newly specified id.
// Save for one day
$lifeTime = 24 * 3600;
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
?>
session_set_cookie_params: Sets the lifetime of the Session. This function must be called before the session_start() function is called.
If the client uses IE 6.0, the session_set_cookie_params(); function will have some problems setting cookies, so we still call the setcookie function manually to create cookies.
The code is as follows
Copy code
// Save for one day
$lifeTime = 24 * 3600;<🎜>
session_set_cookie_params($lifeTime);<🎜>
session_start();<🎜>
$_session["admin"] = true;<🎜>
?>
Set the saving path of Session files
session_save_path(): Must be called before the session_start() function is called.
The code is as follows
Copy code
//Set a storage directory<🎜>
$savePath = "./session_save_dir/";<🎜>
//Save for one day<🎜>
$lifeTime = 24 * 3600;<🎜>
session_save_path($savePath);<🎜>
session_set_cookie_params($lifeTime);<🎜>
session_start();<🎜>
$_session["admin"] = true;<🎜>
?>
session_start(); //Start Session<🎜>
$username='nostop';<🎜>
session_register('username'); //Register a variable named username<🎜>
echo 'Registered user:'.$_SESSION['username']; //Registered user: nostop Read Session variable<🎜>
<🎜>$_SESSION['age']=23; //Declare a variable named age and assign a value<🎜>
echo 'Age:'.$_SESSION['age']; //Age: 23<🎜>
<🎜>session_unregister('username'); //Unregister the Session variable<🎜>
echo $_SESSION['username']; //Empty<🎜>
echo $_SESSION['age'];//23<🎜>
<🎜>unset($_SESSION['age']); //Unregister the Session variable<🎜>
echo 'Registered user:'.$_SESSION['username']; //Empty<🎜>
echo 'Age:'.$_SESSION['age']; //Empty<🎜>
?>
Note:
1: There cannot be any output before calling Session_Start(). For example, the following is wrong.
1 line
Line 2
Line 3 Session_Start();//There was already output in the first line
4 lines....
5 lines ?>
==========================================
Tip 1:
Any time ".....headers already sent.........." appears, it means that information is output to the browser before Session_Start().
Remove the output and it will be normal. (This error will also occur in COOKIE, and the cause of the error is the same)
Tip 2:
If your Session_Start() is placed in a loop statement and it is difficult to determine where the information was output to the browser before, you can use the following method:
Line 1
........here is your program......
2: What is this error
Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....
Because you did not specify the storage path of the session file.
Solution:
(1) Create the folder tmp on the c drive
(2) Open php.ini, find session.save_path, and change it to session.save_path= "c:/tmp"
http://www.bkjia.com/PHPjc/632707.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632707.htmlTechArticleSession usage is actually very simple. It can save the data submitted by the user in a session in the form of global variables and generate A unique session_id, so that if there are too many, it will not produce...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn