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 ...
随机推荐
- 算法-deque双端队列
Python的deque模块,它是collections库的一部分.deque实现了双端队列,意味着你可以从队列的两端加入和删除元素 1.基本介绍 # 实例化一个deque对象d = deque()d ...
- Eligibility Traces and Plasticity on Behavioral Time Scales: Experimental Support of neoHebbian Three-Factor Learning Rules
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 大多数基本行为,如移动手臂抓住物体或走进隔壁房间探索博物馆,都是在几秒钟的时间尺度上进化的:相反,神经元动作电位则是在几 ...
- 牛客网PAT练习场-有几个PAT
题目地址:https://www.nowcoder.com/pat/6/problem/4066 题意:求pat->求pa->求p /** * *作者:YCute *时间:2019-12- ...
- 作为一个Java程序员连简单的分页功能都会写,你好意思嘛!
今天想说的就是能够在我们操作数据库的时候更简单的更高效的实现,现成的CRUD接口直接调用,方便快捷,不用再写复杂的sql,带吗简单易懂,话不多说上方法 1.Utils.java工具类中的方法 1 /* ...
- Windows servers 2008 环境下,CA证书服务器搭建。
CA证书这个东西好像是很久之前的东西了,现在已经不大用了,不过还是作为一种服务,搭建一下. 环境:Windows servers 2008 (虚拟机环境) 1.配置IP地址. 2.添加角色. 选择Ac ...
- 从零开始的SpringBoot项目 ( 三 ) 项目打包( jar包篇 )
一.准备工作 1.工具:Idea , maven 2.首先得保证 pom 有 maven 插件 二.开始打包 找到最右边的Maven Projects,点击进去,选择需要打包的项目,并点击 insta ...
- springboot-ssm的pom.xml
springboot-ssm的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...
- python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词
1. 无空隙回声输出 描述 获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出. ...
- Cortex-M4的快速memcpy,根据数据对齐情况自动优化,速度为普通memcpy的1.3到5.2倍
代码:https://github.com/gamesun/memcpy_fast memcpy_fast与memcpy速度比较 测试方法 memcpy_fast(dest + a, src + b, ...
- 【Spring注解驱动开发】二狗子让我给他讲讲@EnableAspectJAutoProxy注解
写在前面 最近,二狗子入职了新公司,新入职的那几天确实有点飘.不过慢慢的,他发现他身边的人各个身怀绝技啊,有Spring源码的贡献者,有Dubbo源码的贡献者,有MyBatis源码的贡献者,还有研究A ...