PHP PDO 简单登陆操作

用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵。

首先,首先还要建一个表,在MySQL中建表,核心代码如下:

 1 DROP TABLE IF EXISTS `t_login`;
 2 CREATE TABLE `t_login` (
 3   `userid` int(4) NOT NULL DEFAULT ‘0‘,
 4   `username` varchar(20) DEFAULT NULL,
 5   `userpass` varchar(20) DEFAULT NULL,
 6   `userphone` varchar(25) DEFAULT NULL,
 7   `useraddress` varchar(50) DEFAULT NULL,
 8   PRIMARY KEY (`userid`)
 9 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
10
11 -- ----------------------------
12 -- Records of t_login
13 -- ----------------------------
14 INSERT INTO `t_login` VALUES (‘0‘, ‘11‘, ‘1111111‘, ‘1111‘, ‘111‘);
15 INSERT INTO `t_login` VALUES (‘1‘, ‘admin‘, ‘admin‘, ‘1212‘, ‘111111‘);

  下面就来具体讲一下操作流程,建一个项目,命名为P_U,在项目中新建两个文件,分别命名为View和Model,新建文件是为了好分层管理,有一个好的习惯是很重要的,所以在初学的时候,有分层的意识是很重要的。View是视图层,这个Model是数据处理层和业务逻辑层吧。

  第一,先做出两个界面来,login.php和res.php,下面依次是login和res的代码。

 1  <form action="../Model/LoginModel.php" method="post">
 2             <div align="center">
 3                 <table>
 4                     <tr>
 5                         <td>姓名:</td>
 6                         <td>
 7                             <input type="text" name="username">
 8                         </td>
 9                     </tr>
10                      <tr>
11                         <td>密码:</td>
12                         <td>
13                             <input type="password" name="userpass">
14                         </td>
15                     </tr>
16                      <tr>
17                         <td></td>
18                         <td>
19                             <input type="submit" value="登陆">
20                             <input type="reset" value="重置">
21                         </td>
22                     </tr>
23                 </table>
24                 <a href="res.php">没有账号,请注册</a>
25             </div>
26         </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代码如下:

 1 <?php
 2     @$username = $_POST[username];
 3     @$userpass = $_POST[userpass];
 4
 5     $dbms = "mysql";//选择数据库类型,MySQL
 6     $host = "127.0.0.1"; //选择服务器
 7     $userName = "";//用户名
 8     $psw = "";
 9     $dbName = "dbtext";//数据库名称
10     $dsn = "$dbms:host=$host;dbname=$dbName";
11
12     try {
13         $pdo = new PDO($dsn, $userName, $psw);
14         $query = "select * from t_login where username=:username and userpass = :userpass";
15         $request = $pdo->prepare($query);
16         $request->bindParam(‘:username‘, $username);
17         $request->bindParam(‘:userpass‘, $userpass);
18         $request->execute();
19         $res = $request->fetchAll(PDO::FETCH_ASSOC);
20         if (!empty($res)){
21             header(‘Location: http://localhost/P_U/View/main.php‘);
22         }else{
23             header(‘Location: http://localhost/P_U/View/login.php‘);
24         }
25     } catch (Exception $e) {
26         die("Error!!".$e->getMessage());
27     }
28
29 ?>

ResModel.php代码如下:

 1 <?php
 2     @$username = $_POST[username];
 3     @$userpass = $_POST[userpass];
 4     @$userphone = $_POST[userphone];
 5     @$useraddress = $_POST[useraddress];
 6
 7     $dbms = "mysql";//选择数据库类型,MySQL
 8     $host = "127.0.0.1"; //选择服务器
 9     $userName = "ecstore";//用户名
10     $psw = "[email protected]#";
11     $dbName = "dbtext";//数据库名称
12     $dsn = "$dbms:host=$host;dbname=$dbName";
13
14     try {
15         $pdo = new PDO($dsn, $userName, $psw);
16         $query = "insert into t_login(username,userpass,userphone,useraddress) VALUES (:username,:userpass,:userphone,:useraddress)";
17         $request = $pdo->prepare($query);
18
19         $request->bindParam(‘:username‘, $username);
20         $request->bindParam(‘:userpass‘, $userpass);
21         $request->bindParam(‘:userphone‘, $userphone);
22         $request->bindParam(‘:useraddress‘, $useraddress);
23
24         $res = $request->execute();
25         if(!empty($res)){
26             echo "注册成功!!";
27             echo "<a href=‘http://localhost/P_U/View/login.php‘>返回登陆界面</a>";
28         }
29
30     } catch (Exception $e) {
31         die("注册失败!!!".$e->getMessage());
32     }
33
34 ?>

好了,随便写一个main.php界面吧,登陆成功后就自动跳到main.php界面上。

百度云资料,源码下载连接:http://pan.baidu.com/s/1dDdagEl

php就是这么简单,好好的学,总会有收获,希望能帮到你。

时间: 2024-10-18 17:04:09

PHP PDO 简单登陆操作的相关文章

php pdo 简单使用 (二)

通过上一节内容 php pdo 简单使用(一)了解了链接的创建和简单的操作. 通过 pdo 有三种方式执行sql语句: exec, query, prepared statement 1. exec() 函数适用于执行一次sql 操作,并且不适用于select语句 参见:http://php.net/manual/zh/pdo.exec.php 2. query() 函数适用于执行一次sql操作,并且在下一次query之前要fetch 出所有的结果否则执行将会失败 参见:http://php.n

php pdo 简单使用 (一)

简介: PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据. 即提供了一个数据库访问抽象层能使得我们通过一致的函数和写法来操作不同数据库,有利于日后对数据库的迁移,当然也有安全方面的提升. 对比: php 操作数据库以mysql 为例常用的方法有 php_mysql , php_mysqli , pdo 1.php_mysql 和 php_mysqli 都是不可以移植的,只能应用于mysql

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

Python tkinter 实现简单登陆注册 最终效果 开始界面 ? 注册 登陆 ? 源码 login.py # encoding=utf-8 from tkinter import * from tkinter import messagebox as tkMessageBox import mysql_connect as mys import pymysql import base64 #加密 将用户的密码加密后储存到数据库 def encryption(str): str=str.en

JSP制作简单登陆

JSP制作简单登陆界面 运行环境 eclipse+tomcat+MySQL 不知道的可以参考Jsp运行环境--Tomcat 项目列表 这里我先把jsp文件先放在Web-INF外面访问 需要建立的几个文件在图上.jsp 还要导入MySQL的jar包mysql-5.0.5.jar,导到WEB-INF中的lib文件夹就可以不需要Bulid Path 开始编写代码: 代码演示: index.jsp就好像一般网站的首页一样感觉,将header.jsp和footer.jsp引入其中 <%@ page lan

使用jxl操作之一: 实现对Excel简单读写操作

项目目录树 对象类UserObject UserObject.java package com.dlab.jxl; public class UserObject { private String userName; private String age; private String address; public String getUserName() { return userName; } public void setUserName(String userName) { this.

android 简单文件操作

1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orient

Android简单登陆页面

布局: 线性布局+相对布局 日志打印: 利用LogCat和System.out.println打印观察. Onclick事件是采用过的第四种: 在配置文件中给Button添加点击时间 涉及知识: 通过上线文context获得文件的路径和缓存路径,保存文件 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

Java 实现Excel的简单读取操作

JAVA实现Excel表单的简单读取操作 实现Excel表单的简单读取操作,首先要导入相关的jar包: 如图所示: 此处贴上代码: public static List<List<String>> readExcel(String path){ List<List<String>> list=new ArrayList<List<String>>(); try { Workbook wb; InputStream is=null; t

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

上一篇通过一系列的操作,终于把SequoiaDB的集群部署到单台机器上了. 建议去安装体验一下吧. 在整个环境的部署的体验来看,并没有MongoDB的部署简单,但是比MongoDB的部署要清晰.MongoDB启动进程,后面跟着一大串配置,有点云里雾里的感觉,这个对初学者不太友好.而SequoiaDB的部署,着眼整个集群环境,能在脑中轻松构建一副设计图,协调节点的服务端口是11810,catalog节点的服务端口是11820,11830,11840,而数据节点的服务端口是11850,11860,1