PHP 记住密码自动登陆
PHP在登录的时候记住用户输入的密码在某些情况下是很有必要的,下面是一个小例子,希望对你有所帮助。
PHP setcookie() 函数
setcookie() 函数向客户端发送一个 HTTP cookie。
cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。
每当计算机通过浏览器请求一个页面,就会发送这个 cookie。
cookie 的名称指定为相同名称的变量。
例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。
必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。
语法
setcookie(name,value,expire,path,domain,secure)
参数 | 描述 |
---|---|
name | 必需。规定 cookie 的名称。 |
value | 必需。规定 cookie 的值。 |
expire | 可选。规定 cookie 的有效期。 |
path | 可选。规定 cookie 的服务器路径。 |
domain | 可选。规定 cookie 的域名。 |
secure | 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 |
登陆主页面 (form.php)
<form action="login.php" method="post">
<label>用户名 <input type="text" name="username"></label>
<label>密 码 <input type="text" name="password"></label></br>
<label>记住密码 <input type="checkbox" name="jizhu" value="1"></label></br>
<input type="submit">
</form>
<a href="userinfo.php">用户信息</a>
<?php
session_start();
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
p($_SESSION);
p($_COOKIE);
?>
登录检查页面 (login.php)
<?php
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
session_start();
//p($_POST);
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
if($_POST['remember']){
setcookie('username',$_POST['username'],time()+60);
setcookie('password',$_POST['password'],time()+60);
}
header("location:form.php");
用户信息页面 (userinfo.php)
<?php
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
session_start();
echo "先关闭浏览器,在访问form.php 试试,然后 点推出在关闭浏览器试试";
p($_SESSION);
p($_COOKIE);
if(empty($_SESSION['username'])){
if(empty($_COOKIE['username'])){
echo "<a href='form.php'>请先登录</a>";exit;
}else{
$_SESSION['username'] = $_COOKIE['username'];
}
}
?>
<a href="updateuserinfo.php">修改信息</a>
<a href="logout.php">退出登陆</a>
退出登陆页面 (logout.php)
session_start();
unset($_SESSION['username']);
unset($_SESSION['password']);
setcookie('username','',0);
setcookie('password','',0);
header("location:form.php");
?>
修改用户信息页面 (updateuserinfo.php)
session_start();
if(empty($_SESSION['username'])){
echo "请先登录";
}else{
echo "这里是信息";
}
?>
自动登陆注意点
1. setcookie 设置cookie只在当前文件夹及子文件夹有效,父文件夹是无效的,因此登陆记录登陆用户和密码,一定要在根目录下记住cookie,这也是网上很对反应无法记住cookie的原因所在!
2. cookie在关闭浏览器后,再登陆时仍然记住;session在关闭浏览器后,保存值自动丢失。
3. 自动登陆,安全做法是cookie记住用户和密码的登陆信息,并查询数据库进行校验,session记住登陆后的用户信息,切记对信息加密。
自动登陆网站实例
米扑代理: http://proxy.mimvp.com
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2015-08-10 02:07:43
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: PHP 记住密码自动登陆 (米扑博客)