用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 简单登陆操作的更多相关文章

  1. python之简单登陆

    简单的登陆 要求: 1.用户名输错3次,系统退出 2.密码输错3次,账号被禁用 3.使用文件操作知识 流程图: 项目代码: def login(): i=0 while i <3 : name ...

  2. Spring与Shiro整合 登陆操作

    Spring与Shiro整合 登陆操作 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 编写登陆Controller方法  讲解: 首先,如果你登陆失败的时候,它会把你的异常信息丢到 ...

  3. Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证

    Python tkinter 实现简单登陆注册 最终效果 开始界面 ​ 注册 登陆 ​ 源码 login.py # encoding=utf-8 from tkinter import * from ...

  4. PDO的一些操作

    一.实例化一个PDO对象 //实例化一个PDO对象//1,设置数据源相关参数$dbms = 'mysql';$host = '127.0.0.1';$port = '3306';$dbname = ' ...

  5. ASP.NET中cookie与Fiter实现简单登陆,AllowAnonymous匿名登陆

    向服务器发送cookie 在登陆的时候,我们可以可以通过下列代码,向服务器发送cookie,其中包括自己的账号信息(不涉及加密),用以后面判断访问者. HttpCookie cookie = new ...

  6. salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...

  7. 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作

    下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...

  8. SequoiaDB 系列之二 :SequoiaDB的简单CRUD操作

    上一篇通过一系列的操作,终于把SequoiaDB的集群部署到单台机器上了. 建议去安装体验一下吧. 在整个环境的部署的体验来看,并没有MongoDB的部署简单,但是比MongoDB的部署要清晰.Mon ...

  9. js实用方法记录-简单cookie操作

    js实用方法记录-简单cookie操作 设置cookie:setCookie(名称,值,保存时间,保存域); 获取cookie:setCookie(名称); 移除cookie:setCookie(名称 ...

随机推荐

  1. select的使用(二)

    多表查询 /*基本连接*/ select a.Name,b.Name from T_Employee a,T_Department b where a.DepartmentId=b.Id /*内连接, ...

  2. HDOJ(HDU) 2304 Electrical Outlets(求和、、)

    Problem Description Roy has just moved into a new apartment. Well, actually the apartment itself is ...

  3. JS JQuery Ajax 跨域 Post Soap webservice

    呵呵 最近做一些HTML5的项目, 对于前段开发, 相信大家会碰到一个常见问题, 那就是Javascript跨域访问的问题. 话不多说 直接重点 当前网站和Webservice部署在同一个domain ...

  4. mac下的改装人生——第一次拆卸mbp,加入内存

    这是我第一次拆我的mbp哈,心情无比激动. 在家门口电脑维修店的老板那里借来了螺丝刀.回家以后立刻开始了改装行动 我的MC700后盖是可以全部打开的,总共大概是10个螺丝的样子,上面靠右边的三颗是长螺 ...

  5. openStack controller 管理网口TX数据量非常大 网络总是丢包

  6. 低版本Xcode 出现could not find developer disk image问题

    解决Xcode在ipad/iphone9.2系统真机测试时出现could not find developer disk image问题,只要拷贝这个文件(链接: http://pan.baidu.c ...

  7. 使用jquery trigger 触发a标签的click事件取代window.open方法

    var ohtml='<div class="friend-dialog tac pt15 pb20">'+ '<div class="f-h32&qu ...

  8. 422. Valid Word Square

    似乎可以沿着对角线往右往下检查,也可以正常按题设检查. 我用的后者.. public class Solution { public boolean validWordSquare(List<S ...

  9. winform combobox控件绑定 分类: WinForm 2014-04-17 14:34 118人阅读 评论(0) 收藏

    想要达到的效果:把数据库中的一列数据绑定到combobox控件中. 数据库表:T_Task//任务表 列名:Task_Name//名称 主键:Task_ID combobox控件名称:cbName 解 ...

  10. HDU--杭电--1253--胜利大逃亡--广搜

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...