PHP会话控制
会话控制的思想是指能够在网站中根据一个会话跟踪用户。
1 cookie
1.1 什么是cookie
You are logged in as " Member only content goes here You are not logged in. session_start() 初始化session,生命周期的开始。
:如果失效日期不设置,cookie将永远有效,如果不手动将其删除的话)。path和domain域合起来指定URL或与cookie相关的URL。secure关键字的意思是在普通的HTTP链接中不发送cookie。
1.2 通过PHP设置cookie
使用setcookie()函数在PHP中手动设置cookie。函数原型如下:
Set-Cookie: NAME = VALUE; [expires = DATE;] [path = PATH;] [domain = DOMAIN_NAME;] [secure]
:cookie标题头必须,否则就无效(这是cookie的限制,而不是PHP的限制)。
1.3 在会话中使用cookie
1.4 存储会话ID
2 实现简单的会话
2.1 开始一个会话
2.2 注册一个会话变量
2.3 使用会话变量
2.4 注销变量与销毁会话
ID。
3一个简单的会话(实例)
auto-main.php
bool setcookie(string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
3.2 members_only.php
session_start();
if(isset ($_POST['userid' ]) && isset($_POST['password'])){
$userid = $_POST[ 'userid'];
$password = $_POST[ 'password'];
$db_conn = new mysqli('localhost' , 'root' , '' , 'test' );
if(mysqli_connect_error()){
echo "Connection to database failed:" . mysqli_connect_errno();
exit();
}
$query = "select * from authorized_users" . " where name = '$userid'" . "and password = ' $password'" ;
$result = $db_conn -> query($query);
if($result -> num_rows > 0){
$_SESSION[ 'valid_user'] = $userid;
}
$db_conn -> close();
}
?>
html>
body >
h1 >Home Page h1 >
if( isset($_SESSION[ 'valid_user'])){
echo 'You are logged in as: ' . $_SESSION['valid_user'] . '
' ;
echo 'Log out
';
} else {
if( isset($userid)){ //失败
echo 'Could not log you in.
';
} else {
echo 'You are not logged in.
';
}
}
echo '
' ;
?>
br />
a href ="members-only.php"> Members section a>
body >
html>
Userid:
Password:
3.3 logout.php
session_start();
echo "
Members only
";
if(isset ($_SESSION['valid_user' ])){
echo "
4 session
4.1 影响session数据的PHP函数或事件
session_start();
$old_user = $_SESSION['valid_user'];
unset($old_user);
session_destroy();
?>
html>
body >
h1 >Log out h1 >
if(! empty($old_user)){
echo 'Logged out.
';
} else {
echo 'You were not logged in, and so have not been logged out.
';
}
?>
a href ="auto-main.php"> Back to main page a>
body >
html>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. With the rapid development of web applications, performance optimization has become an indispensable and important task for developers. As a popular front-end framework, Vue.js combined with ASP.NET can help us achieve better performance optimization and expansion. This article will introduce some tips and suggestions, and provide some code examples. 1. Reduce HTTP requests The number of HTTP requests directly affects the loading speed of web applications. pass

Translator | Reviewed by Chen Jun | Chonglou In the 1990s, when people mentioned software programming, it usually meant choosing an editor, checking the code into the CVS or SVN code base, and then compiling the code into an executable file. Corresponding integrated development environments (IDEs) such as Eclipse and Visual Studio can integrate programming, development, documentation, construction, testing, deployment and other steps into a complete software development life cycle (SDLC), thus improving the work of developers. efficiency. In recent years, popular cloud computing and DevSecOps automation tools have improved developers' comprehensive capabilities, making it easier for more enterprises to develop, deploy and maintain software applications. Today, generative AI is the next generation development

How to correctly use and optimize the MySQL connection pool in ASP.NET programs? Introduction: MySQL is a widely used database management system that features high performance, reliability, and ease of use. In ASP.NET development, using MySQL database for data storage is a common requirement. In order to improve the efficiency and performance of database connections, we need to correctly use and optimize the MySQL connection pool. This article will introduce how to correctly use and optimize the MySQL connection pool in ASP.NET programs.

How to reconnect to MySQL in ASP.NET program? In ASP.NET development, it is very common to use the MySQL database. However, due to network or database server reasons, the database connection may sometimes be interrupted or time out. In this case, in order to ensure the stability and reliability of the program, we need to re-establish the connection after the connection is disconnected. This article will introduce how to reconnect MySQL connections in ASP.NET programs. To reference the necessary namespaces first, reference them at the head of the code file

The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications. In today's rapidly developing Internet technology field, the development and deployment of enterprise-level applications has become more and more important. Vue.js and ASP.NET are two technologies widely used in front-end and back-end development. Combining them can bring many advantages to the development and deployment of enterprise-level applications. This article will introduce how to use Vue.js and ASP.NET to develop and deploy enterprise-level applications through code examples. First, we need to install

How to correctly configure and use MySQL connection pool in ASP.NET program? With the development of the Internet and the increase in data volume, the demand for database access and connections is also increasing. In order to improve the performance and stability of the database, connection pooling has become an essential technology. This article mainly introduces how to correctly configure and use the MySQL connection pool in ASP.NET programs to improve the efficiency and response speed of the database. 1. The concept and function of connection pooling. Connection pooling is a technology that reuses database connections. At the beginning of the program,

How to correctly use and optimize the transaction performance of MySQL connection pool in ASP.NET programs? In ASP.NET programs, database transactions are a very important part. Transactions ensure the consistency and integrity of the database while also providing better performance. When using a MySQL database, it is essential to use connection pools to manage connection resources and optimize performance. First, let us briefly understand the concept of MySQL connection pool. The connection pool is a buffer pool of a group of connections. By pre-initializing a certain number of

Overview of the recommended configuration for using Visual Studio for ASP.NET development on Linux: With the development of open source software and the popularity of the Linux operating system, more and more developers are beginning to develop ASP.NET on Linux. As a powerful development tool, Visual Studio has always occupied a dominant position on the Windows platform. This article will introduce how to configure VisualStudio for ASP.NE on Linux
