PHP实现一个简陋的注册登录页面

今天来水一篇没有**用的 /滑稽脸,代码简陋臃肿考虑不全,各位大佬轻喷,还望不吝赐教。

首先考虑了一下需要至少四个页面:register.htmlregister.phplogin.htmllogin.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实现一个简陋的注册登录页面的更多相关文章

  1. 原生js验证简洁美观注册登录页面

    序 一个以js验证表单的简洁的注册登录页面,不多说直接上图 效果 主要文件 完整代码 sign_up.html 注册表单 <!DOCTYPE html> <html lang=&qu ...

  2. Node.js基于Express框架搭建一个简单的注册登录Web功能

    这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...

  3. 如何设计一个 App 的注册登录流程?

    移 动设备发力之前的登录方式很简单:用户名/邮箱+密码+确认密码,所有的用户登录注册都是围绕着邮箱来做.随着移动设备和社交网络的普及,邮箱不再是唯 一,渐渐的出现了微博,QQ,微信等第三方登录方式,手 ...

  4. 一个最简单的登录页面测试case

    具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮. 请针对这个页面设计30个以上的testcase.) 此题的考察目的:面试者是否熟悉各种测试方法,是否有丰富的Web测试经 ...

  5. HTML5实战教程———开发一个简单漂亮的登录页面

    最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...

  6. PHP实践项目【1】:注册登录页面

    在我们这个项目里面,一共用到了5个php文件,他们分别是: login.php 登录页面 logincheck.php 登录检测php文件 register.php 新用户注册页面 regcheck. ...

  7. 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证

    登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...

  8. 用java语言写一个简易版本的登录页面,包含用户注册、用户登录、用户注销、修改密码等功能

    package com.Summer_0421.cn; import java.util.Arrays; import java.util.Scanner; /** * @author Summer ...

  9. 分享一个酷炫动态登录页面html

    话不多说,如下图: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...

随机推荐

  1. jq通过对象获取其ID值,再简单ajax传到后台改值

    <tbody> <tr> <#if scopes?exists> <#list scopes as scopes> <td id='${(scop ...

  2. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十七):登录验证码实现(Captcha)

    登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等. 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验 ...

  3. 读vue-0.6-utils.js源码

    typeOf typeOf: function (obj) { return toString.call(obj).slice(8, -1) } 每个对象都有一个 toString() 方法,当对象被 ...

  4. Spring Boot初识(2)- Spring Boot整合Mybaties

    一.本文介绍 首先读这篇文章之前如果没有接触过Spring Boot可以看一下之前的文章,并且读这篇文章还需要你至少能写基本的sql语句.我在写这篇文章之前也想过到底是选择JPA还是Mybaties作 ...

  5. SpringBoot 三种方式配置 Druid(包括纯配置文件配置)

    记录一下在项目中用纯 YML(application.yml 或者 application.properties)文件.Java 代码配置 Bean 和注解三种方式配置 Alibaba Druid 用 ...

  6. 阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)

    阿里云申请免费SSL证书并下载(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三个文件) 用https是自己的网站收到保护,不易被攻克,所以保护自己的网站 ...

  7. 发布webservice之后调用不通

    在websrvice发布文件的webconfig中加入 <httpRuntime maxRequestLength="102400" />  <webServic ...

  8. [转载] C# 调用C++ DLL 的类型转换

    //C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byt ...

  9. HighCharts使用更多图表HighChartsMore

    添加highcharts-moreimport HighCharts from 'highcharts'import highchartsMore from 'highcharts/highchart ...

  10. 【github&&git】2、github入门到上传本地项目

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...