商城的登录与退出

登录时,根据用户名从数据库中搜寻出该行结果,然后再将密码加密与数据库中的密码进行比较,如果正确,则将用户名写入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');

?>
原文地址:https://www.cnblogs.com/lzzhuany/p/4806757.html