登录时,根据用户名从数据库中搜寻出该行结果,然后再将密码加密与数据库中的密码进行比较,如果正确,则将用户名写入session,将凭证用cookie的方式存入浏览器,在各个页面查看session是否有user字段,如果有,然后显示,你好,用户名,否则,显示登录注册菜单,当登录时还会出现退出超链接,如果点击退出,将session中的用户名字段删除,就不会检测到用户名的存在。
login.php 登录接收页面
<?php define('ACC',true); require('./include/init.php'); if(isset($_POST['act'])){ //这说明时点击登录按钮过来的 $u=$_POST['username']; $p=$_POST['passwd']; $user=new UserModel(); //核对用户名和密码 $row=$user->checkUser($u,$p); if(!empty($row)){ //用户名和密码都正确 session_start(); $_SESSION['username']=$row['username']; $msg='登录成功'."<a href='index.php'>返回首页</a>"; }else{ $msg='登录失败,用户名和密码不匹配'."<a href='login.php'>重新登录</a>"; } include(ROOT . 'view/front/msg.html'); }else{ //准备登录 include(ROOT.'view/front/denglu.html'); } ?>
在index.html中检测session的语句
<?php session_start(); if(isset($_SESSION['username'])&& !empty($_SESSION['username'])){?> 您好,<font class="f_orange_bold"><?php echo $_SESSION['username'];?></font>, 欢迎您回来! <a href="#">用户中心</a>| <a href="logout.php">退出</a> <?php }else{ ?> 欢迎光临中意斯! <a href="login.php">登录</a> | <a href="reg.php">注册</a> <?php }?>
logout.php 退出接收页面
<?php define('ACC',true); require('./include/init.php'); session_start(); if(isset($_SESSION['username'])&&!empty($_SESSION['username'])){ unset($_SESSION['username']); $msg='退出完成'; }else{ $msg='没有登录,不需要退出'; } $msg=$msg."<a href='index.php'>返回主页</a>"; include(ROOT.'view/front/msg.html'); ?>