cookie
header.php
实例
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title> <?php echo isset($page_title)?$page_title:'默认标题'; ?> </title> </head> <body> <h1>我是页面的头部</h1> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
footer.php
function.php
实例
<?php /** * 公共函数库 * */ //用户登陆成功之后的跳转 function redirect_user($page='index.php') { //默认url $url='http://'.$_SERVER['HTPP_HOST'].dirname($_SERVER['PHP_SELF']); } //如果有,去掉url右侧的斜线 $url = rtrim($url, '/\\'); //添加上当前脚本名称 $url .= '/'.$page; //跳转到指定地址 header('Location:' .$url); exit(); //验证用户登录 function check_login($dbc,$email='',$password) { //初始一个保存错误信息的数组 $error=[]; //非空验证 if (empty($email)){ $error[]='邮箱不能为空'; }else{ $e=mysqli_real_escape_string($dbc,trim($email)); } //非空验证 if(empty($password)){ $error[]='密码不能为空'; }else{ $p= mysqli_real_escape_string($dbc,trim($password)); } //到表中进行数据验证 if(empty($error)){ //根据邮箱和密码进行验证,并返回id,name $sql="SELECT `id`,`name`FROM`user` WHERE `email`='$e'AND`password`=sha1('$p')"; //返回查询结果 return [true, $row]; }else{ $errors[]='邮箱或密码不正确,请重新输入'; } return[false,$error]; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
connect.php
实例
<?php /** * 连接数据库 */ $dbc=mysqli_connect('127.0.0.1','root','root','php'); //判断是否成功 if(mysqli_connect_errno()){ die('连接失败'.mysqli_connect_error()); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
demo1.php
实例
<?php // cookie //1.设置cookie //setcookie('username','admin',time()+3600); //2.查看cookie: 超全局系统变量[数组]: $_COOKIE //echo '<br>',$_COOKIE['username']; //3.删除cookie setcookie('username','admin',time()-3600); echo '<br>',$_COOKIE['username'];
运行实例 »
点击 "运行实例" 按钮查看在线实例
index.php
实例
<?php $page_title='首页'; //加载公共头部 include'inc/header.php'; echo '<h2 style="color:red">我是首页</h2>'; //判断当前用户状态:是否登录 if(isset($_COOKIE['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 //登录成功页面 //判断用户是否登录? if (!isset($_COOKIE['id'])) { require 'inc/function.php'; redirect_user(); } $page_title = '登录成功'; //导入页面的公共头部 include 'inc/header.php'; //heredoc echo <<< "WELCOME" <h2 style="color:red">登录成功</h2> <p>欢迎您: 亲爱的 {$_COOKIE['name']}</p> <p><a href="logout.php">退出</a></p> WELCOME; //导入页面的公共底部 include 'inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
login.php
实例
<?php if($_SERVER['REQUEST_METHOD']=='POST'){ //加载函数库 require 'inc/function.php'; //连接数据库 require 'inc/connect.php'; //验证登录 list($check,$data) =check_login($dbc,$_POST['email'],$_POST['password']); //检测是否验证通过 if($check){ //设置cookie setcookie('id',$data['id']); setcookie('name',$data['name']); //跳转 redirect_user('loggedin.php'); }else{ $error=$data; } //关闭 mysqli_close($dbc); } include 'login_page.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
login_page.php
实例
<?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="...">用户登录</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="email">密码:</label> <input type="password" name="password" id="password" value="<?php echo isset($_POST['password'])?$_POST['password']:''?>"> </p> <p> <button type="submit" name="submit" id="sumbit">登录</button> </p> </form> <?php include 'inc/footer.php'?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
logout.php
实例
<?php //登出成功页面 //判断用户是否登录? if (!isset($_COOKIE['id'])) { require 'inc/function.php'; redirect_user(); }else{ //退出登录,删除cookie setcookie('id','',time()-3600); setcookie('name','',time()-3600); } $page_title='退出登录'; //导入页面的公共头部 include'inc/header.php'; //heredoc echo <<< "WELCOME" <h2 style="color:red">退出成功</h2> <p><a href="login.php">登录</a></p> WELCOME; //导入页面的公共底部 include 'inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
手写