您的位置:首页 > 编程语言 > PHP开发

php基础系列:从用户登录处理程序学习mysql扩展基本操作

2013-11-14 09:59 423 查看
用户注册和登录是网站开发最基本的功能模块之一,现在通过登录处理程序代码来学些下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)) 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: