Home > Article > Backend Development > How to set session id in php
How to set session ID in php: First create a PHP sample file; then set the Session ID through the "session_id("...");session_start();" statement.
The operating environment of this article: Windows7 system, PHP7.1 version, DELL G3 computer
php session_id() gets or sets the Session Session ID
php session_id() function can obtain or reconfigure the ID of the currently stored Session. This article introduces the Session generation process and the content of session_id to restore the session. Friends in need can refer to it.
session_id() function introduction
session_id() gets or sets the Session ID
Syntax:
string session_id(string [id]);
If there is no parameter id, it means that only the current Session code can be obtained. Adding the parameter means setting the Session code to the newly specified id. Input and return are both strings.
If the parameter ID is not set, it means to obtain the Session ID, otherwise it means to set the Session to the newly specified ID.
Note: IDs are all in string form.
session_id() instance
Get Session ID
<?php session_start(); echo session_id(); // 输出 urles147jbrq3u50b0l6f8hvf0 ?>
Set Session ID
<?php session_id("ilovemanongjc.com"); session_start(); /* http://www.manongjc.com/article/1260.html */ echo session_id(); // 输出 ilovemanongjc.com ?>
Session generation process introduction
A visitor who visits your web site will be assigned a unique id, which is the so-called session id. This id can be stored in the user In a cookie on the end, it can also be passed through the URL. The Session session is used to track each user's session and is identified by the SessionID generated by the server to distinguish the user. Session is stored in the server's memory, and SessionID is stored in the server's memory and the client's Cookie. In this way, when the user makes a request, the server compares the SessionID recorded in the user's cookie with the SessionID in the server's memory to find the Session corresponding to the user for operation. Therefore, if the client disables cookies, the Session cannot be used.
How is the php session ID generated? Introduction to PHP's default session id generation algorithm
Take the source code of php5.3.6 as an example. Enter the /ext/session directory. The function that generates the session id is located in line 345 of the session.c file. The C language function prototype is as follows:
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);
[Recommended learning: PHP video tutorial]
session_id How to restore the session content
PHP session can be restored programmatically, which is different from java. The session recovery mechanism can realize the sharing of multiple application sessions, because PHP sessions are stored in the form of files or databases. First, the session_id is obtained through the session_id() function, and this value can be passed.
When the program restores a session, you must first know the session_id. You can know from the manual that the session is restored through session_id($id); but when restoring, you must pay attention to the order. To get the content of the previous session, you must start it in session_start. () before executing session_id($id), so that the previous content can be restored when initializing the session when session_start is executed. Otherwise, you will get an empty session and you will get nothing. The session was reinitialized before. This is closely related to the function of session_start(), because session_start tells PHP that the session needs to be initialized and the session content needs to be deserialized from the session file, so the function of session_start is to deserialize the previously stored file content. You must know the session_id before session_start serialization. If not, generate a new session_id. If so, deserialize the contents of the corresponding file.
The above is the detailed content of How to set session id in php. For more information, please follow other related articles on the PHP Chinese website!