Home  >  Article  >  Backend Development  >  How to pass Session ID in php

How to pass Session ID in php

伊谢尔伦
伊谢尔伦Original
2017-04-27 13:35:545326browse

How to pass Session ID in php

Generally, the unique Session ID passed between each page is used, and the Session variable# saved by this user in the server is extracted through the Session ID. ##, to track a user. There are two main methods for transmitting session IDs.

The first method is to pass the Session ID based on Cookie. This method is more optimized, but it cannot be used frequently because the user can block

Cookie

on the client. The second method is to pass it through URL parameters and embed the session ID directly into the URL.

Related topic recommendations: php session (including pictures, texts, videos, cases)

In the implementation of Session Usually a cookie-based approach is adopted, and the Session ID saved by the client is a Cookie. When the client disables cookies, the Session ID cannot be saved in the cookie and cannot be passed between pages. At this time, the Session becomes invalid. However, on the

Linux platform, the cookie status can be automatically checked. If the client disables it, the system automatically appends the Session ID to the URL and transmits it. This feature is not available on Windows systems.

1. Pass Session ID through Cookie

If the client does not prohibit Cookie, proceed through session_start()

function in the PHP script After initialization, the server automatically sends an HTTP header to save the Session ID to the client computer's Cookie. The setting method is similar to the following:

The process of setting the Session ID to the cookie virtually

setcookie(session_name(), session_id(), 0, '/')

The first parameter calls the session_name() function and returns the name of the current Session as the identification name of the Cookie. You can change the name of the current Session by providing parameters when calling the session_name() function.

The second parameter calls the session_id() function and returns the current Session ID as the value of the Cookie. You can also set the current Session ID by providing parameters when calling the

session_id() function.

The third parameter value is 0, passed by the value set by the

session.cookie_lifetime option in the php.ini file. The default is 0, which means that the Session ID will continue in the client's cookie until the browser is closed.

The fourth parameter "/" is also the value specified through the PHP configuration file, and the value set by the s

ession.cookie_path option in php.ini. The default is "/", which means that the path to be set in the cookie is valid in the entire domain.

2. Pass the Session ID through the URL

If the client browser supports Cookie, the Session ID is saved in the browser as a Cookie. However, if the user disables the use of cookies, the Session ID as a cookie does not exist in the browser, so the cookie information is not included in the client request. If the Session ID as a Cookie cannot be obtained from the client browser when the session_start() function is called, a new Session ID will be created, and the user status cannot be tracked. Therefore, every time the user requests a PHP script that supports Session, the session_start() function will create a new Session when opening the Session, thus losing the ability to track the user's status.

Another mechanism for tracking Session is provided in PHP. If the client browser does not support Cookie, PHP can rewrite the client request URL and add the

Session ID to the URL. middle. You can manually add a Session ID to the URL of each hyperlink. This method requires a lot of work and is generally not recommended. The code of the example is as follows:

<?php
//开启 session
session_start();
// 在 URL 后面附加参数,变量名为session_name()获取的名称,值为session_id()获取
echo &#39;<a href="test.php?&#39;.session_name().&#39;=&#39;.session_id().&#39;">演示</a>&#39;;
?>

Related learning recommendations:

PHP programming from entry to proficiency

The above is the detailed content of How to pass Session ID in php. For more information, please follow other related articles on the PHP Chinese website!

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