Home > Backend Development > PHP Problem > What does session_start() mean in php

What does session_start() mean in php

青灯夜游
Release: 2023-03-15 14:46:01
Original
6132 people have browsed it

In PHP, session_start() means "start session" and is a built-in function used to create a new session or reuse an existing session; the syntax is "session_start($array);", successfully started The session returns true, otherwise it returns false.

What does session_start() mean in php

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

In php, session_start() means "start a conversation".

Syntax:

session_start(array $options = array()): bool
Copy after login

The session_start() function will create a new session or reuse an existing session. If a session ID is submitted via GET or POST, or using a cookie, the existing session will be reused.

Parameters:

  • $options: This parameter is an associative array, if provided, the session will be overwritten with the items in it Configuration items in configuration instructions. The keys in this array need not contain the session. prefix.

    In addition to the regular session configuration instructions, you can also include read_and_close options in this array. If the value of this option is set to true, the session file will be closed immediately after reading, thus avoiding unnecessary file locks when the session data has not changed.

When the session starts automatically or manually through session_start(), PHP internally calls the open and read callback functions of the session manager. The session manager may be the PHP default, or it may be provided by an extension (SQLite or Memcached extension), or it may be a user-defined session manager set by session_set_save_handler(). With existing session data (stored using a special serialization format) returned by the read callback function, PHP will automatically deserialize the data and populate the $_SESSION super global variable.

To use a named session, call the session_name() function before calling the session_start() function.

If the session.use_trans_sid option is enabled, the session_start() function will register an internal output manager, which completes the URL rewriting.

If the user uses the ob_start() and ob_gzhandler functions together, the order in which the functions are called will affect the output results. For example, the ob_gzhandler function must be called to complete registration before starting a session.

  • Return value: Returns true if the session is successfully started, false otherwise.

Example 1:

<?php
// page1.php

session_start();

echo &#39;Welcome to page #1&#39;;

$_SESSION[&#39;favcolor&#39;] = &#39;green&#39;;
$_SESSION[&#39;animal&#39;]   = &#39;cat&#39;;
$_SESSION[&#39;time&#39;]     = time();

// 如果使用 cookie 方式传送会话 ID
echo &#39;<br /><a href="page2.php">page 2</a>&#39;;

// 如果不是使用 cookie 方式传送会话 ID,则使用 URL 改写的方式传送会话 ID
echo &#39;<br /><a href="page2.php?&#39; . SID . &#39;">page 2</a>&#39;;
?>
Copy after login

After requesting page1.php, the second page page2.php will contain session data. Please see the Session Reference for more information about session ID transmission, where the reference page has a detailed description of the constant SID.

Example 2: Overwriting Cookie timeout setting

<?php
// 设置 cookie 的有效时间为 1 天
session_start([
    &#39;cookie_lifetime&#39; => 86400,
]);
?>
Copy after login

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What does session_start() mean in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template