这篇文章主要介绍了关于PHP实现用户登录相关知识点(一),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
内容概要:
- 用户登录流程
- PHP实现验证操作
- PHP实现页面跳转
- PHP的操作数据库扩展
- 不同方法之间的优缺点
- PDO操作的优点
- session在PHP操作方法
# 1. 准备工作
1. 编写静态登录页面
2. 搭建运行环境
在httpd-vhosts.conf下配置一个基于域名的虚拟主机,
在本地DNS hosts文件中增加域名
3. 创建数据库、创建数据表、字段,测试内容
2. 登录流程图
3. 完善案例
接收表单数据
验证数据合法性
验证数据合理性
执行成功跳转
3.1 接收数据
get会将数据暴露到url参数中,而post是以一种私密的方式提交给服务器,所以对于一些安全度要求高的数据使用post方式提交
PHP接收表单的预定义变量
$_GET 用于接收以get方式提交的数据,包括url的形式
$_POST 用于接收以post方式提交的数据
$_REQUEST 可同时接收get和post提交的数据
3.2 验证数据合法性
此步骤判断数据是否为空,使用PHP的empty()判断
[PHP] 纯文本查看 复制代码
1 |
bool empty( mixed $var ) 登录后复制 |
判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
3.3 验证数据合理性
判断表单提交的用户名密码是否和数据的用户名密码匹配,如果匹配,跳转到管理首页,只要有一个不匹配,则提示用户错误信息,并且跳转到首页
3.3.1 PHP连接数据库
首先mysql是一种cs架构的软件,所以对于PHP在连接数据库处于客户端的层面,对于PHP需要连接数据库,必须要开启对应的操作数据库扩展,在php.ini中找到对应的代码,去掉前面的分号重启apche即可,例如
mysql扩展 extension=php_mysql.dll
mysqli扩展 extension=php_mysqli.dll
PDO扩展 extension=php_pdo_mysql.dll
三者特点:
mysql:
1、最早的操作数据库API,操作简单容易上手 ,提供了一个面向过程的接口
2、但是从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除
mysqli:MySQL增强版扩展 过度版本
1、支持面向过程和面向对象
2、增加预处理语句,异常,事务捕获等
3、就是只支持mysql数据库。如果你要是不操作其他的数据库,这无疑是最好的选择
PDO:PHP Data Objects
1、支持预处理语句,异常捕获,事务等操作,仅支持面向对象,
2、只需要封装一个类,可以自由切换数据库到postgresql,或者sqlServer等数据库,而在程序端不用做太多的调整,其功能类似于JDBC、ODBC、DBI之类接口
3.3.2 使用mysql扩展连接数据库
连接数据库mysql_connect("数据库地址","用户名","密码"); 返回一个连接资源
设置字符集 mysql_query(sql指令)
向数据库发送sql指令mysql_query("set names utf8");
选择数据库mysql_query("use 数据库名");
执行sql语句mysql_query("select|update|delete|insert语句");
说明:如果为update|delete|insert执行成功返回true,失败返回false
如果为select执行成功返回资源结果集,失败返回false
5.资源结果集处理mysql_fetch_assoc($res);
相关推荐:
以上是关于PHP实现用户登录相关知识点(一)的详细内容。更多信息请关注PHP中文网其他相关文章!