这是一个简单的小项目,但对于我这小白来说,也是写了好几天才完成,中间心态炸裂n次,但最后还是 搞定了!!!

说了那麽多,还是分享一下吧!

目录

  • 主页面(登录页面)
  • 登录页面的后台操作
  • 注册页面
  • 注册页面的后台操作

实验环境是phpstudy2018。

在phpstudy的www目录里,创建一个新文件夹test。

文件里有:


index.php 主页面(登陆页面)
login.php 登录页面的后台操作
register.html 注册页面
register.php 注册页面的后台操作

主页面(登录页面)

先上图

有点简单了。

下面是源码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
body {background-size: cover;min-width: 1000px;background-image:url(https://s1.ax1x.com/2020/08/23/d0t8ln.jpg);font-size:14px;
}
#main {width:360px;height:320px;background:#fff;border:1px solid #ddd;position:absolute;top:50%;left:50%;margin-left:-180px;margin-top:-160px;background-size: cover;background-image:url(https://s1.ax1x.com/2020/07/31/alzGMn.jpg);
}
#main .title {height: 48px;line-height: 48px;color:#333;font-size:16px;font-weight:bold;text-indent:30px;border-bottom:1px dashed #eee;}
#main form {width:300px;margin:20px 0 0 40px;
}
#main form label {margin:20px 0 0 40px;display:block;
}
#main form label input.text {width:200px;height:25px;
}#main form label input.submit {width:200px;display:block;height:35px;cursor:pointer;margin:20px 0 0 2px;
}
</style>
</head>
<body><div id="main"><div class="title">欢迎使用,请登录</div><form  action="login.php" method="post" onsubmit="return enter()"><label><input class="text" type="text"  placeholder="用户名" name="username" /></label><label><input class="text" type="password"  placeholder="密码" name="password" /></label><label><input class="submit" type="submit" name="submit" value="登录" /></label><a href="register.html" target="_self"  style="position: absolute; bottom: 10px; right: 10px;">没有账号,先注册</a></form></div></body>
</html>

主要就是对登录页面的背景,颜色,登录框背景,颜色,字体大小等等的设置,这也没啥技术含量,都是html知识的简单运用,我就不多说了。

登录页面的后台操作

直接上源码:

<?php
error_reporting(0);
//第一次登陆的时候,通过用户输入的信息来确认用户if ( (($_POST['username']))!=NULL && (($_POST['password'])!=NULL)) {$userName = $_POST['username'];$password = $_POST['password'];//从db获取用户信息//PS:数据库连接信息改成自己的 分别为主机 数据库用户名 密码$conn = mysqli_connect('localhost:3306','root','root');mysqli_select_db($conn,'test');$sql = "select username,password from user where username = '$userName' and password='$password'";$res = mysqli_query($conn,$sql);$row = mysqli_fetch_array($res);if ($row['username']!=$userName) {echo '不能登陆!';header('Location:index.html');}else if($row['username']==$userName&&$row['password']!=$password){echo '不能登陆!!';header('Location:index.html');}else if($row['username']!=$userName&&$row['password']!=$password) {echo '不能登陆!!!';header('Location:index.html');}else if($row['username']==$userName&&$row['password'] ==$password) {//如果密码验证通过,设置一个cookies,把用户名保存在客户端setcookie('username',$userName,time()+3600);//设置一个小时//最后跳转到登录后的欢迎页面/*echo '登陆成功!';header('Location:https://y.qq.com/n/yqq/mv/v/o0013f4q6uz.html');//跳转到最后的欢迎页面*/echo "<script>alert('登陆成功!!');location.href='https://pan.baidu.com/s/1qK_KopZzMZIKfT7jkZ1FVQ';</script>";}}else {echo '登陆失败';header('Location:index.html');//跳转到失败页面}if ( (($_COOKIE['username']) != null)  && (($_COOKIE['password']) != null) ) {$userName = $_COOKIE['username'];$password = $_COOKIE['password'];//从db获取用户信息//PS:数据库连接信息改成自己的 分别为主机 数据库用户名 密码$conn = mysqli_connect('localhost','root','password','test');$res = mysqli_query($conn,"select * from user where username =  '$userName' ");$row = mysqli_fetch_assoc($res);if ($row['password'] == $password) {//验证通过后跳转到登录后的欢迎页面header('Location: https://pan.baidu.com/s/1qK_KopZzMZIKfT7jkZ1FVQ' . "?username=$userName");}
}
else {echo "<script>alert('用户名或密码错误');location.href='index.html';</script>";
}?>

代码开头的error_reporting(0);是为了关闭错误报告,如果没有error_reporting(0) 那么$userName = $_POST['username'];会报错。

还有就是sql语句的构造,我构造了n次才正常运行,到这个才能与数据库的账号,密码比对。

然后就是你输入账号,密码与数据库里已有比对,来判断你是否可以登录。

如果比对正确,那么就会先存一个时间为一小时的cookie,然后跳转到登录成功页面,我在这放了一个百度云盘链接,登陆成功可以直接访问。

cookie就是将你的信息存储在本地,下次登录到同样的页面,直接读取cookie里的信息,方便下次访问。


登录成功是一段哲理视频。

注册页面

从登录页面里,选择注册跳转到注册页面。



注册页面太简单了,本来想弄个二次密码验证和验证码注册验证,但因为是本地搭建,也没有人恶意攻击我们,就不需要了。

源码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
body {min-width: 500px;background-image:url(https://s1.ax1x.com/2020/07/31/alz3xs.jpg);font-size:14px;
}
#main {width:360px;height:320px;background:#fff;border:1px solid #ddd;position:absolute;top:50%;left:50%;margin-left:-180px;margin-top:-160px;background-size: cover;background-image:url(https://s1.ax1x.com/2020/07/31/alzGMn.jpg);
}
#main .title {height: 48px;line-height: 48px;color:#333;font-size:16px;font-weight:bold;text-indent:30px;border-bottom:1px dashed #eee;}
#main form {width:300px;margin:20px 0 0 40px;
}
#main form label {margin:20px 0 0 40px;display:block;
}
#main form label input.text {width:200px;height:25px;
}#main form label input.submit {width:200px;display:block;height:35px;cursor:pointer;margin:20px 0 0 2px;
}
error_reporting(0);
</style>
</head>
<body><div id="main"><div class="title">注册</div><form  action="register.php" method="post" onsubmit="return enter()"><label><input class="text" type="text"  placeholder="用户名" name="username" /></label><label><input class="text" type="password"  placeholder="密码" name="password" /></label><label><input class="submit" type="submit" name="submit" value="注册" /></label></form></div></body>
</html>

注册页面与登录页面相比,没有做出太大的更改。换了个图片也就没啥了。

注册页面的后台操作

源码:

<?phperror_reporting(0);$username = ($_POST['username']);$password = trim($_POST['password']);$conn = mysqli_connect('localhost', 'root', 'root');      //如果有错误,存在错误号
if (mysqli_errno($conn)) {echo mysqli_error($conn);exit;
}mysqli_select_db($conn, 'test');   //选择数据库mysqli_set_charset($conn, 'utf8');   //选择字符集$sql = "insert into user ( username,password)  values ('$username','$password' )";$result = mysqli_query($conn,$sql);//针对user这个数据库进行查询, 查询是否存在有这个用户$row = mysqli_num_rows($result);//输出查询结果,传给$rowif($_POST['username']==NULL){echo "<script>alert('用户名不能为空');location.href='register.html';</script>";
}
else if($_POST['password']== NULL){echo "<script>alert('密码不能为空');location.href='register.html';</script>";
}
else{if($row){echo "<script>alert('用户名已存在');location.href='register.html';</script>";}else{$sql1 ="insert into user(username,password) values('".$username."','" .$password."')";//PHP MySQL 插入数据$result = mysqli_query($sql1);//判断插入数据是否成功if($row){echo "<script>alert('注册失败!');location.href='register.html';</script>";}else{echo "<script>alert('注册成功!');location.href='index.html';</script>";}}
}mysqli_close($conn);?>

按照流程,先连接数据库,将你的输入的信息传到后台,判断用户名,密码不能为空,再将用户名与数据库对比,若不存在,注册成功,跳转到登陆页面;若已经存在,会报错: 用户名已经存在。

再将你的信息插入到数据库。

最难的也是sql语句的构造,起初是用户名为空,密码却可以正常传入;但是将$usename改为自己的用户名,却可以正常传入。就猜想为用户名传入过程出现了错误,就检查了注册页面的用户名提交方式,发现也没错误。

最终还是回到了register.php页面检查,修修改改才写成现在的语句。

想想太不容易了,心态炸了n次。

与团队内的其他大佬比,我可能写的太简单了,但还是要记录一下!

html+css+php+mysql 简单的页面登录与注册(数据库的交互)相关推荐

  1. Javaweb 实现简单的用户注册登录(含数据库访问功能)

    Javaweb 实现简单的用户注册登录(含数据库访问功能) 实现效果图: 登录界面: 登陆成功: 登陆失败: 注册界面: 注册成功: 1.登录界面login.jsp <%@ page langu ...

  2. mysql通过命令行登录并指定数据库

    很多安全性要求比较高的数据库都需要通过跳板机来登录数据库,但是数据库默认登录到了数据库列表页面,我们还需要通过use命令来进一步进入我们想到操作的数据库,通过下面的命令我们可以直接进入到具体的数据库层 ...

  3. [Duolingo]如何在PC版页面登录手机号注册的账号

    一.背景 最近想在PC上玩多邻国,结果发现页面登录需要账号或邮箱号.但是当时注册时使用的手机号,搜索解决方案无果后尝试自救.在一顿瞎鼓捣后,终于成功登录. 二.步骤 本方案适用于手机号注册的用户,下面 ...

  4. flask socket连接mysql_Flask连接mysql,实现页面登录

    主要代码: from flask import Flask,request,g,session,flash,redirect,url_for,render_template from flask_sq ...

  5. 只用html5与CSS做一个简单的页面,HTML+CSS基础训练之做一个简单页面的布局

    下面进入正题:布局是网页设计的基础中的基础,一个好的布局可以让人一目了然,一个失败的布局会让协同人员抓狂.所以前端开发,从布局开始. 首先分析一下图片的布局 ,分析各个色块之间的嵌套关系 如图所示:红 ...

  6. JSP实现简单的用户登录和注册

    实验环境:Tomcat 9.0,MySQL 8.0,JDBC 8.0; 实验方法,利用连接池连接MySQL进行操作 首先创建一个Dynamic Web Project 1.连接池的创建 在 WebCo ...

  7. AJAX实现页面登录及注册用户名验证

    AJAX介绍 定义:"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX 是 ...

  8. 写的一个网页登录注册模板(css+js),注册成功后把账号保存到MySQL数据库,登录时从数据库查找进行验证(jsp+javabean)

    首先是网页前端的设计,使用css美化(字体使用Google font,图标使用font awemome,颜色使用palettes|flat ui colors,谷歌可找到,个人觉得挺好用) 使用了简单 ...

  9. PHP登录与注册页面简单实现(包含数据库验证)(包含数据库)

    log.php(登录主界面) 由于是简单的页面,登录页面只做了数据库验证,其实有条件也可以加上邮箱验证和验证码验证. <!doctype html> <html> <he ...

最新文章

  1. c语言小程序解决生活中小问题,自己写的一个小程序 有问题帮帮忙
  2. kalilinux安装qt_Kali Linux安装搜狗输入法(只需5步)
  3. 深度学习 Deep Learning with MATLAB(懒人版)
  4. 1.jstl之SQL:setDataSource
  5. 事件驱动程序设计_简单的事件驱动设计
  6. ospf 环回口的路由条目_华为OSPF基础实验
  7. python内置数学函数库_在没有任何内置的求值函数或外部库的情况下用python解决数学问题...
  8. 尚硅谷面试第一季-21消息队列在项目中的应用
  9. Powershell有哪些用途
  10. java方法的重载 编程题,java面试编程题:重载方法
  11. SQL PLUS编辑器的一些常用设置
  12. java 静态变量与静态初始化块中变量的初始化顺序
  13. 人工智能如何可以思考?
  14. 我去面试没带简历,你让我走人?
  15. Mybatis 批量更新运行异常,数据库 postgres
  16. 用WPE+CCproxy+自动代理截取安卓游戏封包
  17. Android 应用在后台弹出提示相关的笔记1
  18. 7_Arya_superbeyone_新浪博客
  19. 罗杨美慧 20190919-1 每周例行报告
  20. Windows 下的一款弱网模拟工具NEWT

热门文章

  1. 基于51单片机hc-05,hc-06蓝牙传送数据到手机APP
  2. 计算机毕业设计 SSM书画拍卖平台系统 拍卖管理系统 拍卖竞拍系统 网上拍卖系统Java Vue MySQL数据库 远程调试 代码讲解
  3. 完整的从虚拟机安装到kali的安装(详细,必能上网)
  4. 【WebApi】————.net WebApi开发(一)
  5. ctf流量分析练习一
  6. Whatsapp 账号 注册
  7. 开发规约的意义与细则
  8. 自适应单页官网源码 自适应单页官网源码
  9. 多思计组实验实验五、程序计数器实验
  10. 中国最牛汽车工厂,10个工人,386台机器人,年产16万辆!