批改状态:未批改
老师批语:

index.php
<?php
$page_title = '首页';
include ('inc/header.php');
echo '<h2 style="color:red">盘点页面</h2>';
if ((isset($_COOKIE['user_id'])) && basename($_SERVER['PHP_SELF']) != 'logout.php') {
echo '<a href="logout.php">退出</a>';
} else {
echo '<a href="login.php">登录</a>';
}
inc点击 "运行实例" 按钮查看在线实例
login_page.php
<?php
/**
* 登录页面并报告错误
* 设置当前页面的标题
* 在login.php中调用
*/
$page_title = '用户登录';
//加载头部文件
include('inc/header.php');
//打印错误信息
if (isset($errors) && !empty($errors)) {
$errors_msg = '<p style="color:red">';
foreach ($errors as $msg) {
$errors_msg .= $msg.'<br>';
}
echo $errors_msg.'</p>';
}
?>
<h2 style="color:red">用户登录</h2>
<form action="login.php" method="post">
<p>
<label for="email" >邮箱:</label>
<!--使用粘性表单技术在文本框中显示用户之前输入的内容,提升用户体验-->
<input type="email" name="email" id="email" value="<?php echo isset($_POST['email'])?$_POST['email']:'' ?>">
</p>
<p>
<label for="password">密码:</label>
<input type="password" name="password" id="password" value="<?php echo isset($_POST['password'])?$_POST['password']:'' ?>">
</p>
<p><button type="submit" name="submit" id="submit" class="btn btn-lg btn-primary"">登录</button></p>
</form>
<?php include ('inc/footer.php'); //加载底部 ?>点击 "运行实例" 按钮查看在线实例
login.php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//加载公共函数库
require ('inc/function.php');
//连接数据库
require ('inc/connect.php');
//验证登录
//$check=true/false; $data=['user_id'=>$user_id, 'user_name'=>$user_name];
list($check, $data) = check_login($dbc, $_POST['email'], $_POST['password']);
//验证通过
if ($check) {
//设置cookies
setcookie('user_id', $data['user_id']);
setcookie('user_name', $data['user_name']);
//跳转页面
redirect_user('loggedin.php');
} else {
//验证失败
$errors = $data;
}
//关闭数据库连接
mysqli_close($dbc);
}
//加载
include('login_page.php');点击 "运行实例" 按钮查看在线实例
loggedin.php
<?php
if (!isset($_COOKIE['user_id'])) {
require ('inc/function.php');
//跳转到默认首页
redirect_user();
}
//如果已经登录
//设置页面标题
$page_title = '已经登录';
include ('inc/header.php');
//打印欢迎信息,并提供退出功能
echo <<< "WELCOME"
<p style="color:red" align="right" >盘点人:{$_COOKIE['user_name']}
<a href="logout.php">退出</a></p>
WELCOME;
//加载底部
include ('inc/footer.php');点击 "运行实例" 按钮查看在线实例
logout.php
<?php
if (!isset($_COOKIE['user_id'])) {
require ('inc/function.php');
//跳转到默认首页
redirect_user();
} else { //删除cookies
setcookie('user_id', '', time()-3600);
setcookie('user_name','', time()-3600);
}
//设置页面标题
$page_title = '已经登录';
include ('inc/header.php');
//打印退出信息,并提供登录功能
echo <<< "WELCOME"
<h2 style="color:red">退出成功</h2>
<p><a href="login.php">登录</a></p>
WELCOME;
include ('inc/footer.php');点击 "运行实例" 按钮查看在线实例
Session部分:
index.php
<?php
session_start(); //开启会话
$page_title = '首页';
include ('inc/header.php');
echo '<h2 style="color:red">我是首页</h2>';
//if ((isset($_COOKIE['user_id'])) && basename($_SERVER['PHP_SELF']) != 'logout.php') {
if ((isset($_SESSION['user_id'])) && basename($_SERVER['PHP_SELF']) != 'logout.php') {
echo '<a href="logout.php">退出</a>';
} else {
echo '<a href="login.php">登录</a>';
}
include ('inc/footer.php');点击 "运行实例" 按钮查看在线实例
loggedin.php
<?php
//开启会话
session_start();
//if (!isset($_COOKIE['user_id'])) {
if (!isset($_SESSION['user_id'])) {
require ('inc/function.php');
//跳转到默认首页
redirect_user();
}
//如果已经登录
//设置页面标题
$page_title = '已经登录';
include ('inc/header.php');
//打印欢迎信息,并提供退出功能
echo <<< "WELCOME"
<h2 style="color:red">登陆成功</h2>
<p>欢迎您: {$_SESSION['user_name']}</p>
<p><a href="logout.php">退出</a></p>
WELCOME;
//加载底部
include ('inc/footer.php');点击 "运行实例" 按钮查看在线实例
login.php
<?php
//开启会话
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//加载公共函数库
require ('inc/function.php');
//连接数据库
require ('inc/connect.php');
//验证登录
//$check=true/false; $data=['user_id'=>$user_id, 'user_name'=>$user_name];
list($check, $data) = check_login($dbc, $_POST['email'], $_POST['password']);
//验证通过
if ($check) {
//设置cookies
// setcookie('user_id', $data['user_id']);
// setcookie('user_name', $data['user_name']);
//设置session会话
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['user_name'] = $data['user_name'];
//跳转页面
redirect_user('loggedin.php');
} else {
//验证失败
$errors = $data;
}
//关闭数据库连接
mysqli_close($dbc);
}
//加载
include('login_page.php');点击 "运行实例" 按钮查看在线实例
login_page.php
<?php
/**
* 登录页面并报告错误
* 设置当前页面的标题
* 在login.php中调用
*/
$page_title = '用户登录';
//加载头部文件
include('inc/header.php');
//打印错误信息
if (isset($errors) && !empty($errors)) {
$errors_msg = '<p style="color:red">';
foreach ($errors as $msg) {
$errors_msg .= $msg.'<br>';
}
echo $errors_msg.'</p>';
}
?>
<h2 style="color:red">用户登录</h2>
<form action="login.php" method="post">
<p>
<label for="email">邮箱:</label>
<!--使用粘性表单技术在文本框中显示用户之前输入的内容,提升用户体验-->
<input type="email" name="email" id="email" value="<?php echo isset($_POST['email'])?$_POST['email']:'' ?>">
</p>
<p>
<label for="password">密码:</label>
<input type="password" name="password" id="password" value="<?php echo isset($_POST['password'])?$_POST['password']:'' ?>">
</p>
<p><button type="submit" name="submit" id="submit">登录</button></p>
</form>
<?php include ('inc/footer.php'); //加载底部 ?>点击 "运行实例" 按钮查看在线实例
logout.php
<?php
//开启会话
session_start();
if (!isset($_SESSION['user_id'])) {
require ('inc/function.php');
//跳转到默认首页
redirect_user();
} else {
//删除cookies
// setcookie('user_id', '', time()-3600);
// setcookie('user_name','', time()-3600);
//删除会话
$_SESSION = [];
session_destroy();
setcookie('PHPSESSID', '', time()-3600);
}
//设置页面标题
$page_title = '已经登录';
include ('inc/header.php');
//打印退出信息,并提供登录功能
echo <<< "WELCOME"
<h2 style="color:red">退出成功</h2>
<p><a href="login.php">登录</a></p>
WELCOME;
include ('inc/footer.php');点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号