国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home php教程 php手冊(cè) php中實(shí)現(xiàn)記住密碼下次自動(dòng)登錄的例子

php中實(shí)現(xiàn)記住密碼下次自動(dòng)登錄的例子

Jun 06, 2016 pm 08:18 PM
php

這篇文章主要介紹了php中實(shí)現(xiàn)記住密碼下次自動(dòng)登錄的例子,本文使用cookie實(shí)現(xiàn)記住密碼和自動(dòng)登錄功能,需要的朋友可以參考下

做網(wǎng)站的時(shí)候經(jīng)常會(huì)碰到要實(shí)現(xiàn)記住密碼,下次自動(dòng)登錄,,一周內(nèi)免登陸,一個(gè)月內(nèi)免登陸這種需求。這種功能一般都是通過cookie來實(shí)現(xiàn)的。本篇文章將簡(jiǎn)單說一下如何使用php實(shí)現(xiàn)該需求的。當(dāng)然實(shí)現(xiàn)該需求的方法有N多種。

整個(gè)過程就是用戶在登陸的時(shí)候,如果選擇了記住密碼或者一周內(nèi)免登陸等這個(gè)選項(xiàng)的時(shí)候,則在用戶成功登陸操作完成之后,存儲(chǔ)一個(gè)實(shí)現(xiàn)自動(dòng)登錄的cookie的數(shù)據(jù)到數(shù)據(jù)庫的用戶表里面,作為下次自動(dòng)登錄時(shí)驗(yàn)證用。驗(yàn)證通過則自動(dòng)登錄,否則需要輸入用戶名,密碼進(jìn)行登錄。保存的這個(gè)cookie值則可以取一個(gè)隨機(jī)碼。

具體示例代碼如下:

復(fù)制代碼 代碼如下:


$username=trim($_POST['username']);
$password=md5(trim($_POST['password']));
$ref_url=$_GET['req_url'];
$remember=$_POST['remember'];//是否自動(dòng)登錄標(biāo)示
$err_msg='';
if($username==''||$password==''){
?$err_msg="用戶名和密碼都不能為空";
}else{
?$row=getUserInfo($username,$password);
?if(empty($row)){
??$err_msg="用戶名和密碼都不正確";
?}else{
??$_SESSION['user_info']=$row;
??if(!empty($remember)){//如果用戶選擇了,記錄登錄狀態(tài)就把用戶名和加了密的密碼放到cookie里面
???setcookie("username",$username,time()+3600*24*365);
???setcookie("password",$password,time()+3600*24*365);
??}
??if(strpos($ref_url,"login.php")===false){
???header("location:".$ref_url);
??}else{
???header("location:main_user.php");
??}
?}
}

另外在訪問網(wǎng)站的每個(gè)頁面時(shí),都要先進(jìn)行一遍如下函數(shù)的檢查。

復(fù)制代碼 代碼如下:


//檢查用戶是否登錄
function checklogin(){
?if(empty($_SESSION['user_info'])){//檢查一下session是不是為空
??if(empty($_COOKIE['username'])||empty($_COOKIE['password'])){//如果session為空,并且用戶沒有選擇記錄登錄狀
???header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);//轉(zhuǎn)到登錄頁面,記錄請(qǐng)求的url,登錄后跳轉(zhuǎn)過去,用戶體驗(yàn)好。
??}else{//用戶選擇了記住登錄狀態(tài)
???$user=getUserInfo($_COOKIE['username'],$_COOKIE['password']);//去取用戶的個(gè)人資料
??if(empty($user)){//用戶名密碼不對(duì)沒到取到信息,轉(zhuǎn)到登錄頁面
???header("location:login.php?req_url=".$_SERVER['REQUEST_URI']);
??}else{
???$_SESSION['user_info']=$user;//用戶名和密碼對(duì)了,把用戶的個(gè)人資料放到session里面
??}
??}
?}
}

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

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to get the current session ID in PHP? How to get the current session ID in PHP? Jul 13, 2025 am 03:02 AM

The method to get the current session ID in PHP is to use the session_id() function, but you must call session_start() to successfully obtain it. 1. Call session_start() to start the session; 2. Use session_id() to read the session ID and output a string similar to abc123def456ghi789; 3. If the return is empty, check whether session_start() is missing, whether the user accesses for the first time, or whether the session is destroyed; 4. The session ID can be used for logging, security verification and cross-request communication, but security needs to be paid attention to. Make sure that the session is correctly enabled and the ID can be obtained successfully.

PHP get substring from a string PHP get substring from a string Jul 13, 2025 am 02:59 AM

To extract substrings from PHP strings, you can use the substr() function, which is syntax substr(string$string,int$start,?int$length=null), and if the length is not specified, it will be intercepted to the end; when processing multi-byte characters such as Chinese, you should use the mb_substr() function to avoid garbled code; if you need to intercept the string according to a specific separator, you can use exploit() or combine strpos() and substr() to implement it, such as extracting file name extensions or domain names.

How to split a string into an array in PHP How to split a string into an array in PHP Jul 13, 2025 am 02:59 AM

In PHP, the most common method is to split the string into an array using the exploit() function. This function divides the string into multiple parts through the specified delimiter and returns an array. The syntax is exploit(separator, string, limit), where separator is the separator, string is the original string, and limit is an optional parameter to control the maximum number of segments. For example $str="apple,banana,orange";$arr=explode(",",$str); The result is ["apple","bana

Using std::chrono in C Using std::chrono in C Jul 15, 2025 am 01:30 AM

std::chrono is used in C to process time, including obtaining the current time, measuring execution time, operation time point and duration, and formatting analysis time. 1. Use std::chrono::system_clock::now() to obtain the current time, which can be converted into a readable string, but the system clock may not be monotonous; 2. Use std::chrono::steady_clock to measure the execution time to ensure monotony, and convert it into milliseconds, seconds and other units through duration_cast; 3. Time point (time_point) and duration (duration) can be interoperable, but attention should be paid to unit compatibility and clock epoch (epoch)

How does PHP handle Environment Variables? How does PHP handle Environment Variables? Jul 14, 2025 am 03:01 AM

ToaccessenvironmentvariablesinPHP,usegetenv()orthe$_ENVsuperglobal.1.getenv('VAR_NAME')retrievesaspecificvariable.2.$_ENV['VAR_NAME']accessesvariablesifvariables_orderinphp.iniincludes"E".SetvariablesviaCLIwithVAR=valuephpscript.php,inApach

Why We Comment: A PHP Guide Why We Comment: A PHP Guide Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

PHP header redirect not working PHP header redirect not working Jul 14, 2025 am 01:59 AM

Reasons and solutions for the header function jump failure: 1. There is output before the header, and all pre-outputs need to be checked and removed or ob_start() buffer is used; 2. The failure to add exit causes subsequent code interference, and exit or die should be added immediately after the jump; 3. The path error should be used to ensure correctness by using absolute paths or dynamic splicing; 4. Server configuration or cache interference can be tried to clear the cache or replace the environment test.

PHP prepared statement get result PHP prepared statement get result Jul 14, 2025 am 02:12 AM

The method of using preprocessing statements to obtain database query results in PHP varies from extension. 1. When using mysqli, you can obtain the associative array through get_result() and fetch_assoc(), which is suitable for modern environments; 2. You can also use bind_result() to bind variables, which is suitable for situations where there are few fields and fixed structures, and it is good compatibility but there are many fields when there are many fields; 3. When using PDO, you can obtain the associative array through fetch (PDO::FETCH_ASSOC), or use fetchAll() to obtain all data at once, so the interface is unified and the error handling is clearer; in addition, you need to pay attention to parameter type matching, execution of execute(), timely release of resources and enable error reports.

See all articles