博主信息
jackallen的博客
博文
30
粉丝
2
评论
3
访问量
9879
积分:1
P豆:255

cookie/session用户登录案例——2018年4月20日

2018年04月26日 14:15:51阅读数:393博客 / jackallen的博客/ 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');

运行实例 »

点击 "运行实例" 按钮查看在线实例

index.php实例

<?php
$page_title = '首页';
include ('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>';
}
include ('inc/footer.php');

运行实例 »

点击 "运行实例" 按钮查看在线实例

loginpage.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'); //加载底部 ?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

loginout.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');

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论