php基础系列:从用户登录处理程序学习mysql扩展基本操作
用户注册和登录是网站开发最基本的功能模块之一,现在通过登录处理程序代码来学些下php对mysql的基本操作。
本身没有难点,主要是作为开发人员,应该能做到手写这些基本代码,算是自己加强记忆,同时希望能给初学者一些参考借鉴。
php连接MySQL数据库服务器的时候,有三种主要的API可供选择:
PHP的MySQL扩展
PHP的mysqli扩展
PHP数据对象(PDO)
<?php
//接收用户登录窗口输入数据
$username = $_POST['username'];
$password = $_POST['password'];
//连接数据库
$conn = mysql_connect('dbip','dbuser','dbpassword');
if(!$conn){
dir('连接失败'.mysql_errno());
}
//设置访问库编码方式
mysql_query("set names utf8",$conn) or dir(设置编码失败'.mysql_errno());
//选择数据库
mysql_select_db("dbname",$conn) or dir('选择数据库失败'.mysql_errno());
//发送sql语句,注意预防sql注入
$sql = "select password,nickname from tb_user where username='$username'";
$res = mysql_query($sql,$conn);
//如果有数据
if($row = mysql_fetch_assoc($res)){
//判断密码
if($password == md5($row['password'])){
//合法用户
$nickname = $row['nickname'];
header("Location:success.php?nickname=$nickname");
exit();
}
}
//用户或者密码错误
//现在的网站不再具体提示用户是用户名错还是密码错,避免黑客有针对性破解密码
header("Location:failed.php");
exit();
//还需考虑关闭资源和连接,注意安排代码位置
//mysql_free_result($res);
//mysql_close($conn);
?>
其它知识:
如果是列表页,显示多条记录
if($row = mysql_fetch_assoc($res))相应修改为 while($row = mysql_fetch_assoc($res)) 。
php基础系列:从用户登录处理程序学习mysql扩展基本操作的更多相关文章
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- PHP验证用户登录例子-学习笔记
1.基本流程: 2.UML类图: 3.PHP代码: 3.1 index.php <?php /** * Created by PhpStorm. * User: andy * Date: 16- ...
- Java SSH框架系列:用户登录模块的设计与实现思路
1.简介用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问.二.简单设计及实现本程序是基于Jav ...
- C#基础系列 - 抽象类及其方法的学习
在C#中使用关键字 abstract 来定义抽象类和抽象方法. 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例. "一个包含一个或多个纯虚函数的类 ...
- Django实现单用户登录
最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了.今天由于工作需求,需要用Django实现单用户登录.大概意思就是跟QQ一样的效果,每个账号只能一个地方登录使用,限制账号的登录次数 ...
- salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)
此篇请参看:https://resources.docs.salesforce.com/202/latest/en-us/sfdc/pdf/salesforce_developer_environme ...
- 「Django」rest_framework学习系列-用户登录
用户POST登录-->后台验证用户名密码-->验证正确返回TOKEN-->验证错误返回错误信息 class UserAPI(APIView): #用户登录类 def post(sel ...
- Spring MVC学习笔记——完整的用户登录
1.搭建环境的第一步是导包,把下面这些包都导入工程中 /media/common/工作/Ubuntu软件/SpringMVC_jar包整理/aop/media/common/工作/Ubuntu软件/S ...
- 学习MVC之租房网站(六)-用户登录和权限控制
在上一篇<学习MVC之租房网站(五)-权限.角色.用户管理>完成了权限.角色.用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发. 一.用户登录 用户登录涉及到 ...
随机推荐
- 安装oracle 11g环境变量ORACLE_HOME的一个问题 转
http://blog.itpub.net/26129555/viewspace-1243467/报错内容: OUI-10137:An Oracle Home with name ORACLE_HOM ...
- ORACLE的init.ora配置文件中参数详解
db_name = "orcl" 一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应. instance_name = orcl在多个例程使用相同服务 ...
- mysql慢查询监控及sql优化
在my.ini添加如下代码,即可查看那个sql语句执行慢了 log-slow-queries = d:/log/mysql-slow.log long_query_time = 1 打开日志 log ...
- Lua游戏开发参考资料收集
table {border-collapse:collapse;} List of game engines that use lua: 2D Agen (Lua; Windows) Blitwiza ...
- Curl操作Elasticsearch的常用方法
Elasticsearch对于文档操作,提供了以下几种API,本文就说明如何使用curl方式来调用这些API. API种类 单文档操作API 1.* Index API 索引文档 * 为文档创建索引 ...
- LINUX CentOS7安装字体库
LINUX CentOS7安装字体库 2017年12月26日 17:06:07 q260996583 阅读数:4866更多 个人分类: linux JAVA画图时常用到Font 类对象 这样的对象 ...
- Table does not have the identity property. Cannot perform SET operation.
Table does not have the identity property. Cannot perform SET operation. 解决: set IDENTITY_INSERT ...
- iOS "directory not found for option '-L/Users/.../Pods/build/Debug-iphoneos"解决方式
问题重述: 在删掉原来工作空间,又一次install pods之后,遇到warning: ld: warning: directory not found for option '-L/Users/. ...
- JAVA 是否会发生内存泄露(转)
原文链接: JAVA 是否会发生内存泄露 几次面试,面试官都问到了这个问题,于是搜集了答案.总结出虽然java自身有垃圾回收机制,但是很多情况下还是发生内存泄露的. java导致内存泄露的原因很明确: ...
- Java NIO: Non-blocking Server
Even if you understand how the Java NIO non-blocking features work (Selector, Channel, Buffer etc.), ...