php+html实现用户登录退出
随着渗透学习,逐渐意识到了学会开发也是非常重要的,仅仅是看懂感觉还是差了一些,所以写一写php的开发,这套程序目前并未有较完整的功能,之后会不断进行完善
登录页面.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test1</title>
</head>
<body background="http://img4.imgtn.bdimg.com/it/u=1806795254,1936125128">
<form action="login.php" method="post">
<fieldset>
<!--fieldest 组合表单中的相关元素 其中legend是该表中的标题-->
<legend>用户登录</legend>
<ul>
<li>
<label>username:</label>
<input type="text" name="username">
</li>
<li>
<label>password:</label>
<input type="password" name="password">
</li>
<li>
<label></label>
<input type="checkbox" name="rem" value="yes">in the next week ,auto login
</li>
<li>
<label> </label>
<input type="submit" name="login" value="登录">
</li>
</ul>
</fieldset>
</form>
<!--鼠标特效-->
<script src="https://blog-static.cnblogs.com/files/ophxc/shubiao.js"></script>
<canvas width="1777" height="841" style="position: fixed; left: 0px; top: 0px; z-index: 2147483647; pointer-events: none;"></canvas>
<!--鼠标特效 end-->
<!-- Music-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.0/dist/APlayer.min.css">
<script src="https://blog-static.cnblogs.com/files/zouwangblog/APlayer.min.js"></script>
<script src="https://unpkg.com/meting@1.2/dist/Meting.min.js"></script>
<div id="player" class="aplayer aplayer-withlist aplayer-fixed" data-id="2878443703" data-server="netease" data-type="playlist" data-order="random" data-fixed="true" data-listfolded="true" data-theme="orange"></div>
<!-- Music end -->
<img src="http://www.4kbizhi.com/d/file/2020/01/12/small00383295ltt1578760712.jpg" class="desc_img">
</body>
</html>
logout.php
<?php
header('Content-type:text/html; charset=utf-8');
session_start();
$username = $_SESSION['username'];
$_SESSION = array();
session_destroy();
setcookie('username', '', time() - 99);
setcookie('code', '', time() - 99);
echo "欢迎下次光临, " . $username . '<br>';
echo "<a href='登录页面.html'>重新登录</a>";
login.php
<?php
header('Content-type:text/html; charset=utf-8');
session_start();
highlight_file(login.php);
if(isset($_POST['username'])) {
$username = trim($_POST['username']);
#移除字符串两侧的空格
$password = trim($_POST['password']);
if (($username == "") || ($password == '')) {
header('refresh:5; url=login.html'); # 若为空,视为未填写,提示错误,并3秒后返回登录界面
echo "密码或用户名不能为空";
exit;
} else if (($username != 'username') && ($password != 'password')) {
header('refresh:3;url=login.html');
echo "用户名或密码错误";
exit;
} else if (($username = 'username') && ($password = 'password')) {
#session存取
$_SESSION['username'] = $username;
$_SESSION['login'] = 1;
if ($_POST['remember'] == "yes") {
setcookie('username', $username, time() + 7 * 24 * 60 * 60); #设置cookie存在时间
setcookie('code', md5($username . md5($password)), time() + 7 * 24 * 60 * 60);
} else {
setcookie('username', time() - 999);
setcookie('code', time() - 999);
}
header('location:index.php');
}
}
?>
index.php
<?php
header('Content-type:text/html; charset=utf-8');
session_start();
// 判断Cookie
if (isset($_COOKIE['username'])) {
# 若记住了用户信息,则直接传给Session
$_SESSION['username'] = $_COOKIE['username'];
$_SESSION['islogin'] = 1;
}
if (isset($_SESSION['islogin'])) {
// 若已经登录
echo "welcome " . $_SESSION['username'] . '!<br>';
echo "<a href='logout.php'>注销</a>";
} else {
// 若没有登录
echo "fail!<a href='登录页面.html'>登录</a>";
}
?>
php+html实现用户登录退出的更多相关文章
- 登录-退出,在T分钟实现BC次用户登录退出,单次登录-退出%90用户时间t,需要的并发用户(线程)
聚合报告%90响应时间:%90用户响应时小于该值 2种理解方式: 一. 1s可完成的用户1/t: T分钟完成的用户T *(1/t); BC次用户需要的线程数Thread= BC/(T*(1/t)) = ...
- 36 Flutter仿京东商城项目 用户登录 退出登录 事件广播更新状态
Login.dart import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter/material.da ...
- linux下怎么查看ssh的用户登录日志
linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生 ...
- linux查看ssh用户登录日志与操作日志
linux查看ssh用户登录日志与操作日志 2013-11-01转载 ssh用户登录日志 linux下登录日志在下面的目录里: 代码如下 复制代码 cd /var/log 查看ssh用户的登录日 ...
- PHP注册与登录【3】 用户登录与退出
登录页面 login.html 负责收集用户填写的登录信息. <fieldset> <legend>用户登录</legend> <form name=&quo ...
- PHP 用户登录与退出
PHP 用户登录与退出 登录页面 login.html 负责收集用户填写的登录信息. <fieldset> <legend>用户登录</legend> <fo ...
- ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间
ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间
- mysql基础:登录退出,修改用户密码,添加删除用户
今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...
- Atitit.用户权限服务 登录退出功能
Atitit.用户权限服务 登录退出功能 参数说明 /com.attilax/user/loginOut.jsp?url="+url Utype=mer 作者:: ★(attilax)&g ...
随机推荐
- consul、eureka、nacos对比
consul.eureka.nacos对比 配置中心 eureka 不支持 consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新 nacos 支持 用起来简单, ...
- python numpy数组操作
数组的创建 import numpy as np arr1 = np.array([3,10,8,7,34,11,28,72]) arr2 = np.array(((8.5,6,4.1,2,0.7), ...
- SPSSAU数据分析思维培养系列3:分析思路
本文章为SPSSAU数据分析思维培养的第3期文章. 上文讲解如何选择正确的分析方法,除了有正确的分析方法外,还需要把分析方法进行灵活运用.拿到一份数据,应该如何进行分析,总共有几个步骤,第一步第二步应 ...
- MacOS开发环境搭建
1 Java 安装jdk 下载安装即可,没什么可说的,着重说一下配置mac下的环境变量 $ /usr/libexec/java_home -V #查看安装的jdk版本和路径 $ vim ~/.bash ...
- zero:如何找到SEO流量的突破口
http://www.wocaoseo.com/thread-326-1-1.html 之前一篇文章已有提到过,SEO可以分为两个阶段: 一个阶段是了解点SEO知识,然后就到网站上去找页面,看哪些招式 ...
- day41:MYSQL:select查询练习题
目录 1.表结构 2.创建表和插入数据 3.习题 1.表结构 2.建表和插入数据 # 创建班级表 create table class( cid int primary key auto_increm ...
- tars 问题汇总
1. 节点 ip地址变了如何解决.后台不可以改. 2. [ok] 服务如何在本地运行../HelloGo --config.conf
- Easy Game(记忆化搜索)
You are playing a two player game. Initially there are n integer numbers in an array and player A an ...
- C++——自然数求和
代码如下: #include <iostream> using namespace std; int main() { int a,sum=; for(int i=;i<=;i++) ...
- Java的String.matches不区分大小写正则表达式匹配示例
需求:输入的cmd符合create,listall,delete三种形式,不用区分大小写 写成函数: public static boolean isAllowed3Cmd(String cmd) { ...