login_page.php
实例
$page_title = '用户登陆页';
?>
当前页: 登陆页
邮箱
密码
登陆
运行实例 »
点击 "运行实例" 按钮查看在线实例
login.php
实例
// 判断是否post提交
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 加载公共函数库
require 'lib/function.php';
// 连接数据库
require 'lib/connect.php';
// 验证登陆
$email = $_POST['email'];
$pass = $_POST['pass'];
list($check,$data) = check_login($dbc,$email,$pass);
// 验证通过
if ($check) {
setcookie('user_id',$data['user_id']);
setcookie('user_name',$data['user_name']);
redirect_user('../success.php');
} else {
$error = $data;
}
mysqli_close($dbc);
}
运行实例 »
点击 "运行实例" 按钮查看在线实例
\lib\connect.php
实例
$dbc = @mysqli_connect('localhost','root','root');
if (mysqli_connect_errno($dbc)) {
echo '连接失败' . mysqli_connect_error();
} else {
// echo '成功';
}
mysqli_select_db($dbc,'php');
mysqli_set_charset($dbc,'utf8');
运行实例 »
点击 "运行实例" 按钮查看在线实例
function.php
实例
/医院
*用户自定义跳转
* @param string $page
*/
function redirect_user($page = 'index.php')
{
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
// 去掉右侧的 /,\
$url = rtrim($url, '/\\');
// 生成跳转地址
$url .= '/' . $page;
// 跳转到指定定址
header('Location:' . $url);
exit();
}
function check_login($dbc, $email, $pass)
{
// 创建错误信息数组
$errors = [];
// 验证邮箱
if (empty($email)) {
$errors[] = '邮箱不能为空';
} else {
$e = mysqli_real_escape_string($dbc,trim($email));
}
// 验证密码
if (empty($pass)) {
$errors[] = '密码不能为空';
} else {
$p = mysqli_real_escape_string($dbc,trim($pass));
}
// 验证成功
if (empty($errors)) {
$sql = "select user_id,user_name from user where email = '$e' and password = sha1('$p') ";
$res = mysqli_query($dbc,$sql);
if (mysqli_num_rows($res) == 1) {
$row = mysqli_fetch_assoc($res);
return [true,$row];
} else {
$errors[] = '邮箱或密码不正确,请重新输入';
}
}
return [false,$errors];
}
运行实例 »
点击 "运行实例" 按钮查看在线实例
\lib\header.php
实例
html>
<?php echo isset($page_title) ? $page_title : '' ;?>头部公共页
运行实例 »
点击 "运行实例" 按钮查看在线实例
\lib\footer.php
实例
底部公共页
运行实例 »
点击 "运行实例" 按钮查看在线实例
success.php
实例
html>
Document// 用户没有登陆跳转到登陆页
if (!isset($_COOKIE['user_id'])) {
require 'lib/function.php';
redirect_user('login_page.php');
}
?>
登陆成功!!! 欢迎 <?php echo !empty($_COOKIE['user_name']) ? $_COOKIE['user_name'] : '' ?> 的来到! 注销
运行实例 »
点击 "运行实例" 按钮查看在线实例
logout.php
实例
// 用户没有登陆跳转到登陆页
if (!isset($_COOKIE['user_id'])) {
require 'lib/function.php';
redirect_user('login_page.php');
}
setcookie('user_id', '', time() - 3600);
setcookie('user_name', '', time() - 3600);
echo "点击登陆";
?>
运行实例 »
点击 "运行实例" 按钮查看在线实例