PHP PDO 简单登陆操作
用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵。
首先,首先还要建一个表,在MySQL中建表,核心代码如下:
DROP TABLE IF EXISTS `t_login`;
CREATE TABLE `t_login` (
`userid` int() NOT NULL DEFAULT '',
`username` varchar() DEFAULT NULL,
`userpass` varchar() DEFAULT NULL,
`userphone` varchar() DEFAULT NULL,
`useraddress` varchar() DEFAULT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of t_login
-- ----------------------------
INSERT INTO `t_login` VALUES ('', '', '', '', '');
INSERT INTO `t_login` VALUES ('', 'admin', 'admin', '', '');
下面就来具体讲一下操作流程,建一个项目,命名为P_U,在项目中新建两个文件,分别命名为View和Model,新建文件是为了好分层管理,有一个好的习惯是很重要的,所以在初学的时候,有分层的意识是很重要的。View是视图层,这个Model是数据处理层和业务逻辑层吧。
第一,先做出两个界面来,login.php和res.php,下面依次是login和res的代码。
<form action="../Model/LoginModel.php" method="post">
<div align="center">
<table>
<tr>
<td>姓名:</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="userpass">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="登陆">
<input type="reset" value="重置">
</td>
</tr>
</table>
<a href="res.php">没有账号,请注册</a>
</div>
</form>
<form action="../Model/ResModel.php" method="post">
<table>
<tr>
<td>用户名:</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>登陆密码</td>
<td>
<input type="text" name="userpass">
</td>
</tr>
<tr>
<td>重复密码:</td>
<td>
<input type="text" name="userpassagin">
</td>
</tr>
<tr>
<td>电话:</td>
<td>
<input type="text" name="userphone">
</td>
</tr>
<tr>
<td>住址:</td>
<td>
<input type="text" name="useraddress">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
在这个里面,我就不写JS代码了,因为就是一个表单验证,方法很多,百度的资料也特别的多。
二,在Model里面下工夫了,建立一个LoginModel.php和ResModel.php,下面是它们的代码:
LoginModel.php代码如下:
<?php
@$username = $_POST[username];
@$userpass = $_POST[userpass]; $dbms = "mysql";//选择数据库类型,MySQL
$host = "127.0.0.1"; //选择服务器
$userName = "";//用户名
$psw = "";
$dbName = "dbtext";//数据库名称
$dsn = "$dbms:host=$host;dbname=$dbName"; try {
$pdo = new PDO($dsn, $userName, $psw);
$query = "select * from t_login where username=:username and userpass = :userpass";
$request = $pdo->prepare($query);
$request->bindParam(':username', $username);
$request->bindParam(':userpass', $userpass);
$request->execute();
$res = $request->fetchAll(PDO::FETCH_ASSOC);
if (!empty($res)){
header('Location: http://localhost/P_U/View/main.php');
}else{
header('Location: http://localhost/P_U/View/login.php');
}
} catch (Exception $e) {
die("Error!!".$e->getMessage());
} ?>
ResModel.php代码如下:
<?php
@$username = $_POST[username];
@$userpass = $_POST[userpass];
@$userphone = $_POST[userphone];
@$useraddress = $_POST[useraddress]; $dbms = "mysql";//选择数据库类型,MySQL
$host = "127.0.0.1"; //选择服务器
$userName = "ecstore";//用户名
$psw = "ecstore2014!@#";
$dbName = "dbtext";//数据库名称
$dsn = "$dbms:host=$host;dbname=$dbName"; try {
$pdo = new PDO($dsn, $userName, $psw);
$query = "insert into t_login(username,userpass,userphone,useraddress) VALUES (:username,:userpass,:userphone,:useraddress)";
$request = $pdo->prepare($query); $request->bindParam(':username', $username);
$request->bindParam(':userpass', $userpass);
$request->bindParam(':userphone', $userphone);
$request->bindParam(':useraddress', $useraddress); $res = $request->execute();
if(!empty($res)){
echo "注册成功!!";
echo "<a href='http://localhost/P_U/View/login.php'>返回登陆界面</a>";
} } catch (Exception $e) {
die("注册失败!!!".$e->getMessage());
} ?>
好了,随便写一个main.php界面吧,登陆成功后就自动跳到main.php界面上。
百度云资料,源码下载连接:http://pan.baidu.com/s/1dDdagEl
php就是这么简单,好好的学,总会有收获,希望能帮到你。
PHP PDO 简单登陆操作的更多相关文章
- python之简单登陆
简单的登陆 要求: 1.用户名输错3次,系统退出 2.密码输错3次,账号被禁用 3.使用文件操作知识 流程图: 项目代码: def login(): i=0 while i <3 : name ...
- Spring与Shiro整合 登陆操作
Spring与Shiro整合 登陆操作 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 编写登陆Controller方法 讲解: 首先,如果你登陆失败的时候,它会把你的异常信息丢到 ...
- Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证
Python tkinter 实现简单登陆注册 最终效果 开始界面 注册 登陆 源码 login.py # encoding=utf-8 from tkinter import * from ...
- PDO的一些操作
一.实例化一个PDO对象 //实例化一个PDO对象//1,设置数据源相关参数$dbms = 'mysql';$host = '127.0.0.1';$port = '3306';$dbname = ' ...
- ASP.NET中cookie与Fiter实现简单登陆,AllowAnonymous匿名登陆
向服务器发送cookie 在登陆的时候,我们可以可以通过下列代码,向服务器发送cookie,其中包括自己的账号信息(不涉及加密),用以后面判断访问者. HttpCookie cookie = new ...
- salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...
- 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- SequoiaDB 系列之二 :SequoiaDB的简单CRUD操作
上一篇通过一系列的操作,终于把SequoiaDB的集群部署到单台机器上了. 建议去安装体验一下吧. 在整个环境的部署的体验来看,并没有MongoDB的部署简单,但是比MongoDB的部署要清晰.Mon ...
- js实用方法记录-简单cookie操作
js实用方法记录-简单cookie操作 设置cookie:setCookie(名称,值,保存时间,保存域); 获取cookie:setCookie(名称); 移除cookie:setCookie(名称 ...
随机推荐
- shell command使用技巧
1窗口可以merge 2.可以通过 control+t打开窗口
- BestCoder Round #51 (div.2)
明显是无良心的数学round= = 1000 Zball in Tina Town #include<iostream> #include<cstdio> #include&l ...
- 数据结构(线段树):BZOJ 3126: [Usaco2013 Open]Photo
3126: [Usaco2013 Open]Photo Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 222 Solved: 116 Descrip ...
- 【动态规划】Vijos P1143 三取方格数(NOIP2000提高组)
题目链接: https://vijos.org/p/1143 题目大意: NxN的矩阵,每个值只能取一次,从(1,1)走到(n,n)走三次能取得的最大值. 题目思路: [动态规划] f[x1][y1] ...
- CodeForces 689A -Mike and Cellphone
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=412142 题目大意: 给定一个0-9数字键盘,随后输入一个操 ...
- android webview load 本地文件需要注意的地方
记得在工程的main下必须是assets文件夹. 而webview.loadUrl时 必须是 android_asset 必须这样对应,否则无法加载本地html. 具体原因只能在深入学习后再总结了 ...
- (转)【C++ STL】细数C++ STL 的那些事 -- priority_queue(优先队列)
装载自http://blog.csdn.net/tianshuai1111/article/details/7652553 一,概述 priority_queue是拥有权值观念的queue,它允许加入 ...
- top -bcn -1
^[[?1h^[=^[[?25l^[[H^[[2J^[(B^[[mtop #!/bin/bash#echo 性能数据捕捉时间: `date +%Y-%m-%d_%H:%M:%S` \n >> ...
- 6种GET和POST请求发送方法
我试过了畅言和多说两种社会化评论框,后来还是抛弃了畅言,不安全. 无论是畅言还是多说,我都需要从远程抓取文章的评论数,然后存入本地数据库.对于多说,请求的格式如下: // 获取评论次数,参数是文章ID ...
- 「书评」SAP内存计算——HANA
因为工作关系,长期跟SAP打交道,所以去年就对HANA有了一些了解,只是公司目前的应用规模还较小,暂时没有上马HANA的打算,但是提前作一些学习还是很有必要的.正好清华大学出版社最近出版了这本< ...