PHP实现一个简陋的注册登录页面
PHP实现一个简陋的注册登录页面
今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。
首先考虑了一下需要至少四个页面:register.html、register.php、login.html、login.php。
register.html是这么写的:
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>注册界面</title>
</head>
<body>
<form action="register.php" method="post">
用户名:<input type="text" name="name"></input>
<br />
密码:<input type="password" name="password"></input>
<br />
<input type="submit" value="注册"></input>
</form>
</body>
</html>
register.php是这么写的:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('localhost','wy','000000','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
$sql="insert into new_info values('$name',$password)";
$res=$conn->query($sql);
if(!$res){
echo "注册失败!";
}else{
if($conn->affected_rows>0){
sleep(2);
header("Location:login.html");
exit;
}else{
echo "注册失败";
}
}
$conn->close();
?>
login.html是这么写的:
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<title>登录界面</title>
</head>
<body>
<p>注册成功,请登录!</p>
<form action="login.php" method="post">
用户名:<input type="text" name="name"></input>
<br />
密码:<input type="password" name="password"></input>
<br />
<input type="submit" value="登录"></input>
</form>
</body>
</html>
login.php是这么写的:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('localhost','wy','000000','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
$sql_name="select name from new_info where name='$name'";
$res_sql=$conn->query($sql_name);
if($conn->affected_rows==0){
die("账号或密码有误");
}else{
$sql_pass="select password from new_info where name='$name'";
$res_pass=$conn->query($sql_pass);
$row_pass=$res_pass->fetch_row();
if($row_pass[0]==$password){
echo "登录成功!";
}else{
echo "账号或密码有误";
}
}
$conn->close();
?>
然后来看一下效果:


看一下数据库:

可以看到已经将数据写入数据库。
接着来登录试一下:


换个错误密码试一下:


2018-09-04 问题修正:
1.用户密码加密
2.数据库编码问题
1.用户密码加密
register.php页面:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('192.168.134.128','root','123456','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
$password=md5($password); //将用户输入的密码进行md5加密
$sql="insert into test values('$name','$password')";
$res=$conn->query($sql);
if(!$res){
echo "注册失败!";
}else{
if($conn->affected_rows>0){
sleep(2);
header("Location:login.html");
}else{
echo "注册失败";
}
}
$conn->close();
?>
login.php页面:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('192.168.134.128','root','123456','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
$password=md5($password); //对用户输入的密码进行md5加密
$sql_name="select name from test where name='$name'";
$res_sql=$conn->query($sql_name);
if($conn->affected_rows==0){
die("账号或密码有误!");
}else{
$sql_pass="select password from test where name='$name'";
$res_pass=$conn->query($sql_pass);
$row_pass=$res_pass->fetch_row();
if($row_pass[0]==$password){ //将用户输入的加密密码与数据库密码进行对比
echo "登录成功!";
}else{
echo "账号或密码有误";
}
}
$conn->close();
?>
2.数据库编码问题
在数据库执行set names utf8命令,将数据库编码改为utf8。
这样就可以使用中文名注册登录。
2018-09-06 问题修正:
用户注册或者登录时输入为空的问题
register.php页面:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('192.168.134.128','root','123456','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
if(empty($name) || empty($password)){ //判断注册时账号或密码是否为空
die('账号或密码不能为空!');
}else{
$password=md5($password);
$sql="insert into test values('$name','$password')";
$res=$conn->query($sql);
if(!$res){
echo "注册失败!";
}else{
if($conn->affected_rows>0){
sleep(2);
header("Location:login.html");
}else{
echo "注册失败";
}
}
$conn->close();
}
?>
login.php页面:
<?php
header("Content-type:text/html;charset=utf-8");
$conn=new mysqli('192.168.134.128','root','123456','test');
if ($conn->connect_error){
die("服务器连接失败!");
}
$name=$_POST["name"];
$password=$_POST["password"];
if(empty($name) || empty($password)){ //判断登陆时账号或密码是否为空
die('账号或密码不能为空!');
}else{
$password=md5($password);
//var_dump($password);
$sql_name="select name from test where name='$name'";
$res_sql=$conn->query($sql_name);
if($conn->affected_rows==0){
die("账号或密码有误!");
}else{
$sql_pass="select password from test where name='$name'";
$res_pass=$conn->query($sql_pass);
$row_pass=$res_pass->fetch_row();
if($row_pass[0]==$password){
echo "登录成功!";
}else{
echo "账号或密码有误";
}
}
$conn->close();
}
?>
代码臃肿,还望见谅。
PHP实现一个简陋的注册登录页面的更多相关文章
- 原生js验证简洁美观注册登录页面
序 一个以js验证表单的简洁的注册登录页面,不多说直接上图 效果 主要文件 完整代码 sign_up.html 注册表单 <!DOCTYPE html> <html lang=&qu ...
- Node.js基于Express框架搭建一个简单的注册登录Web功能
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...
- 如何设计一个 App 的注册登录流程?
移 动设备发力之前的登录方式很简单:用户名/邮箱+密码+确认密码,所有的用户登录注册都是围绕着邮箱来做.随着移动设备和社交网络的普及,邮箱不再是唯 一,渐渐的出现了微博,QQ,微信等第三方登录方式,手 ...
- 一个最简单的登录页面测试case
具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮. 请针对这个页面设计30个以上的testcase.) 此题的考察目的:面试者是否熟悉各种测试方法,是否有丰富的Web测试经 ...
- HTML5实战教程———开发一个简单漂亮的登录页面
最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...
- PHP实践项目【1】:注册登录页面
在我们这个项目里面,一共用到了5个php文件,他们分别是: login.php 登录页面 logincheck.php 登录检测php文件 register.php 新用户注册页面 regcheck. ...
- 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证
登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...
- 用java语言写一个简易版本的登录页面,包含用户注册、用户登录、用户注销、修改密码等功能
package com.Summer_0421.cn; import java.util.Arrays; import java.util.Scanner; /** * @author Summer ...
- 分享一个酷炫动态登录页面html
话不多说,如下图: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...
随机推荐
- Firefox37.0.1+selenium 2.53+python3.6打开浏览器时报错NameError: name 'basestring' is not defined
环境:Win7 Firefox浏览器版本37.0.1 Python36 Selenium2.53.0 在Pycharm里执行以下3行脚本: from selenium i ...
- 从零开始学 Web 之 移动Web(八)Less
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Nginx/Apache之伪静态设置 - 运维小结
一.什么是伪静态伪静态即是网站本身是动态网页如.php..asp..aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做url重写操作(即re ...
- 【PyTorch深度学习60分钟快速入门 】Part4:训练一个分类器
太棒啦!到目前为止,你已经了解了如何定义神经网络.计算损失,以及更新网络权重.不过,现在你可能会思考以下几个方面: 0x01 数据集 通常,当你需要处理图像.文本.音频或视频数据时,你可以使用标准 ...
- js------数组随机排序和去重
let arr = ['g', 'b', 'c', 'd', 'e', 'a', 'g', 'b', 'c']; // 数组随机排序(原数组被修改)Array.prototype.randomSort ...
- Ado.Net实体数据模型EF,如何在代码中添加数据库连接密码
在创建EF模型的时候,VS2013提示说“在连接字符串中存储敏感数据可能有安全风险”,于是我选择了在代码中添加,可是如何通过代码添加呢? 我在网上百度了下,没有人说的清楚直观. 假设我们创建了一个名字 ...
- IIS部署wordpress4.7.4
准备环境和安装包:win7操作系统 iis php7.1.6 wordpress4.7.4 1.安装iis,需要cgi模块,一般安装建议全部勾选上. 2.安装配置php7.1.6 在官网http ...
- Java中&0xFF是什么意思?计算机的原码、补码和反码
https://blog.csdn.net/xmc281141947/article/details/74740061
- 最优-scroll事件的监听实现
1. 背景和目标 前端在监听scroll这类高频率触发事件时,常常需要一个监听函数来实现监听和回调处理.传统写法上利用setInterval或setTimeout来实现. 为了减小 CPU 开支,往往 ...
- MVC中Controller与View中间的数据传递的常用方法
这几天正在学习MVC,顺便就将自己每天的学习心得记录下来与大家分享一下吧! 在MVC中,Controller与View之间传递数据是很频繁的事情,所以在这里就总结一下我自己在学习中使用的几种常用的方法 ...