最近学习中要使用PHP+MySql实现简单登录注册,看了很多简单案例后发现,并没有人通过PDO实现简单登录注册,要么就是Mysql和MySqli实现,就算实现了意义也不大,js就可以做的事情,没必要放到PHP中去,我却偏偏不相信,保留着一股倔劲,简单的实现了登录注册,下面请看代码,有错误的地方希望大佬们指教!

新建数据库名itcast , 表名user ,执行下面代码

create table user(id int unsigned primary key auto_increment,username varchar(10) not null comment '用户名',password char(20) not null comment '密码',email varchar(40) not null comment '邮箱'
)charset=utf8;insert into user (username,password,email) values
('张三','123456','zhangsan@qq.com');

目录结构

首先从注册前台页面register_html.php开始

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎注册</title>
</head>
<form action="./register.php" method="post">
<table ><tr><td class="title" colspan="2">欢迎注册新用户</td></tr><tr><th>用户名:</th><td><input type="text" name="username" /></td></tr><tr><th>邮箱:</th><td><input type="text" name="email" /></td></tr><tr><th>密码:</th><td><input type="password" name="password" id="pw1" /></td></tr><tr><th>确认密码:</th><td><input type="password" id="pw2" /></td></tr><tr><td colspan="2" class="td-btn"><input type="submit" value="提交注册" class="button" /><input type="button" value="返回登录" class="button" onclick="location.href='login.php'"  /></td></tr>
</table>
</form>
</html>

注册后台页面register.php(注册即是新增)

<?php
header ('Content-type:text/html;charset=utf-8');
//数据库服务器主机名,端口号,选择的数据库,字符集
$dsn = "mysql:host=localhost;dbname=itcast;charset=utf8";
$user = 'root';         //数据库名
$pwd = 'root';          //数据库密码try{$pdo = new PDO($dsn,$user,$pwd);//如果post表单不为空if(!empty($_POST)){//声明变量$fields,用来保存字段信息$fields = array('username','password','email');//声明$values,用来保存值信息$values = array();//遍历$fields,获取输入用户名、密码、邮箱的键和值foreach($fields as $k=>$v){$data = isset($_POST[$v]) ? $_POST[$v] : '';if($data=='') die($v.'字段不能为空!');//赋值给$fields数组$fields[$k] = "$v";//赋值给$values数组$values[] = "'$data'";}//将$fields数组以逗号连接,赋值给$fields,组成insert语句中的字段部分//implode — 将一个一维数组的值转化为字符串$fields = implode(',', $fields);//将$values数组以逗号连接,赋值给$values,组成insert语句中的值部分$values = implode(',', $values);//最后把$fields和$values拼接到insert语句中,注意要指定表名$sql = "insert into user ($fields) values ($values)";if($res = $pdo->query($sql)){//注册成功,自动跳转到会员中心echo '<script>alert("注册成功!");window.location.href="login_html.php";</script>';}else{die ('注册失败!');}}}catch(PDOException $e){echo $e->getMessage().'<br>';echo $e->getLine().'<br>';echo $e->__toString().'<br>';
}
define('APP', 'itcast');
require './register_html.php';

登录前台页面login_html.php

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎登录</title>
</head>
<body><form method="post" action="./login.php"><table><tr><td>欢迎登录</td></tr><tr><th>用户名:</th><td><input type="text" name="username" /></td></tr><tr><th>密码:</th><td><input type="password" name="password" /></td></tr><tr><td><input type="submit" value="登录" /><input type="reset" value="重新填写" /></td></tr></table></form>
</body>
</html>

登录后台页面login.php

<?php
header ('Content-type:text/html;charset=utf-8');
//数据库相关信息
$dsn = "mysql:host=localhost;dbname=itcast;charset=utf8";
$user = 'root';         //数据库名
$pwd = 'root';          //数据库密码,根据自己的密码更改try{$pdo = new PDO($dsn,$user,$pwd);//如果表单中不为空if(!empty($_POST)){//从表单中获取数据$username = isset($_POST['username']) ? trim($_POST['username']) : '';$password = isset($_POST['password']) ? ($_POST['password']) : '';//执行SQL语句$sql = "select `id`,`password` from `user` where `username`='$username'";if($res = $pdo->query($sql)){          //登录成功,自动跳转到会员中心echo '<script>alert("登录成功");window.location.href="index.php";</script>';}else{//否则提示登录失败die('登录失败!');}}
}catch(PDOException $e){//这段用于出错的时候,方便告诉我们那里错了echo $e->getMessage().'<br>';echo $e->getLine().'<br>';      //显示错误所在多少行echo $e->__toString().'<br>';
}
define('APP', 'itcast');
require './login_html.php';?>

最后是我们登录成功的inex.php页面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><h1>登录成功!</h1>
</body>
</html>
这里做的并不是很美观,大家可以在这个基础上增加好看的样式,增加两次密码是否相同的判断,使用正则实现注册格式的判断等等,这里就不一一讲了,目的主要是能实现简单的登录注册,嘻嘻!

输入注册信息

点击注册

注册成功,自动跳转到登录页面

输入刚刚注册的信息

点击登录

成功跳转到index.php页面

PHP+MySql+PDO实现简单登录、注册相关推荐

  1. PHP+Mysql 实现最简单的注册登录

    PHP+Mysql 实现最简单的注册登录 一.先将两个服务打开 二.创建数据库 create database test; // 创建一个叫test的数据库 use test; // 进入这个数据库 ...

  2. tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册

    tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间 ...

  3. PHP个人相册管理系统源码,实现了相册分类和相册分组,还有相册图片管理,数据库采用mysql,实现了登录注册功能

    PHP个人相册管理系统,实现了相册分类和相册分组,还有相册图片管理,数据库采用mysql,实现了登录注册功能.PHP个人相册源码,相册管理系统,PHP相册管理系统,界面美观简单,适合用来当做课程设计或 ...

  4. java注册登录小程序,详解小程序之简单登录注册表单验证

    这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下. 效果图,wxss的内容较简单,自己编写即可. ##主要内容 一.首先我是在util.js中引入表单正则验证规则,给予l ...

  5. 小程序之简单登录注册表单验证

    这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下. 效果图,wxss的内容较简单,自己编写即可. ##主要内容 一.首先我是在util.js中引入表单正则验证规则,给予l ...

  6. Java小案例——方法实现简单登录注册

    简单登录和注册 一.登录 1. 内容介绍 定义一个内置的账号和密码,写好账号输入.密码输入.随机验证码生成.验证码输入方法(3个输入方法没有使用重载)以及账号密码验证码比较方法.调用这些方法实现简单的 ...

  7. php简单论坛登录注册,php简单登录注册验证

    列表页 //连接数据库 $db = new MySQLi('localhost','root','','z_1032'); !mysqli_connect_error() or die('连接失败') ...

  8. 【Unity+MySQL】实现简单的注册登录系统

    目录 1 安装Unity引擎和Navicat软件 2 安装MySQL8.0数据库 2.1 下载msi文件 2.2 安装MySQL Server 8.0 2.3 配置环境变量 2.4 安装MySQL服务 ...

  9. mysql和php的登录注册界面_php实现注册和登录界面的方法

    本篇文章主要介绍php实现注册和登录界面的方法,感兴趣的朋友参考下,希望对大家有所帮助. 当初我觉得一个网站上注册和登录这两个功能很神奇,后来自己研究一下发现其实道理很简单,接下来看一下怎么实现的吧. ...

最新文章

  1. 收集:搜罗或看到的搞笑桥段
  2. java:static关键字
  3. 华尔街英语软件_华尔街英语吧啦吧啦聊点啥:美式“人情世故”
  4. 【小练习05】HTML+CSS--淘宝商铺小页面
  5. Tomcat 详解 一
  6. Angularjs1.x 中的 constant, value
  7. arm linux 时间获取,菜鸟自学ARM:linux下编程获取系统时间和设置时间
  8. 【zookeeper】Zookeeper:ZooInspector界面工具
  9. python编程(import头文件)
  10. vue中使用this遇到的坑
  11. Eclipse插件安装之,使用(已经下载的zip)安装包直接安装插件(例:glassfish 插件 plugin)
  12. mac好用的图片转文字,ocr文字识别工具:Text Scanner
  13. 【机械仿真】基于matlab水下机器人机械手系统仿真【含Matlab源码 1264期】
  14. Hadoop完全分布安装详细过程--------****--------(ubuntu版本)
  15. 解答腾讯会议的常见新手问题
  16. 微信公众平台一直限制配置失败-106
  17. Codeforces - 1102F - Elongated Matrix(建图 + 哈密顿通路)
  18. Spark 学习笔记——001【spark-mysql+spark-hive】
  19. 2016团体程序设计天梯赛-决赛-部分题解
  20. hdwiki 附件上传大小设置

热门文章

  1. php如何处理查询请求,PHP如何处理Web请求流程
  2. java EE 监听器
  3. C# Wpf异步修改UI,多线程修改UI(二)
  4. jdk5.0的新特性
  5. VC消息传递(对话框间传递参数)
  6. 动态规划(6)——NYOJ469擅长排列的小明II*
  7. 一天就能打印一栋房子超大型3D打印机
  8. VS2008(C#)子页嵌套母版页的控件访问方法(二)
  9. 前端开发工程师的定义(转帖)
  10. oracle12c报ora28000,ORA-28000: the account is locked用户锁定问题排查解决