首页 > php教程 > PHP源码 > 正文

php中利用session验证登录表单

php中文网
发布: 2016-06-08 17:20:20
原创
1646人浏览过

前段时间在做一个中奖的活了,其中就用到中奖之后把数据写入session 然后再由用户进行数据提交验证了,下面我们要介绍的不是那个例子而一个差不多例子了,具体如下。

<script>ec(2);</script>

登录页面是:





登陆



姓名:

密码:






存储session的页面:

header("Content-Type: text/html; charset=utf8");
if( !isset($_POST["submit"]) ){
die("错误执行");
}//检测是否有submit操作
 
require_once('connect.php');//链接数据库
 
if ( isset($_POST['name']) && isset($_POST['password']) ){//如果用户名和密码都不为空
 
$name = $_POST['name'];
 
$password = $_POST['password'];
 
$sql = " SELECT id, limits, message FROM user WHERE username = '$name' AND password = '$password' LIMIT 1";
 
$result = mysqli_query( $con , $sql );//执行sql 用户名和密码
 
$rows = mysqli_num_rows( $result );//返回用户名密码是否存在
 
if( $rows != 0 ){
 
session_start();
 
while( $rows_other = mysqli_fetch_assoc($result) ){
 
$_SESSION['id'] = $rows_other['id'];
$_SESSION['name'] = $name;
$_SESSION['limits'] = $rows_other['limits'];
$_SESSION['message'] = $rows_other['message'];
 
}
 
header("refresh:0;url=welcome.php");//跳转至welcome.html页面
 
exit;
 
}else{
 
echo "用户名或密码错误";
 
echo "<script><br /> alert('用户名或密码错误');<br /> setTimeout(function(){window.location.href='login.html';},1000);<br /> </script>";
 
}
 
}else{
 
echo "表单填写不完整";
 
echo "<script><br /> alert('表单填写不完整');<br /> setTimeout(function(){window.location.href='login.html';},1000);<br /> </script>";
 
}
?>

登陆后跳转的页面,根据不同的用户显示不同的权限和用户名:

 




Document


 
 
session_start();
 
if( isset($_SESSION['id']) ){
 
require_once('connect.php');
 
$id = $_SESSION['id'];
$name = $_SESSION['name'];
$limits = $_SESSION['limits'];
$message = $_SESSION['message'];
 
if( $limits == 1 ){
 
echo 'hello, 管理员' . '
';
 
}else{
 
echo 'helo, 普通用户' . '
';
}
 
echo 'hello you name is:' . $name;
 
}else{
 
echo '未登录!';
 
header("refresh:3;url=login.html");
 
}
?>
 
 


?>

使用session注意事项

1.在当前页面要使用session时我们在文件最前面没有输入内容时加上session_start();

立即学习PHP免费学习笔记(深入)”;

2.session有一个时间限制的这个我们可以进行修改的,具体如下

 其实PHP5 Session还提供了一个函数 session_set_cookie_params(); 来设置PHP5 Session的生存期的,该函数必须在 session_start() 函数调用之前调用:

    // 保存一天
    $lifeTime = 24 * 3600;
    session_set_cookie_params($lifeTime);
    session_start();
?>

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号