php基础系列:从用户登录处理程序学习mysql扩展基本操作
用戶注冊和登錄是網(wǎng)站開發(fā)最基本的功能模塊之一,現(xiàn)在通過登錄處理程序代碼來學些下php對mysql的基本操作。
本身沒有難點,主要是作為開發(fā)人員,應該能做到手寫這些基本代碼,算是自己加強記憶,同時希望能給初學者一些參考借鑒。
php連接MySQL數(shù)據(jù)庫服務器的時候,有三種主要的API可供選擇:
PHP的MySQL擴展
PHP的mysqli擴展
PHP數(shù)據(jù)對象(PDO)?
<?php
//接收用戶登錄窗口輸入數(shù)據(jù)
$username = $_POST['username'];
$password = $_POST['password'];
//連接數(shù)據(jù)庫
$conn = mysql_connect('dbip','dbuser','dbpassword');
if(!$conn){
dir('連接失敗'.mysql_errno());
}
//設置訪問庫編碼方式
mysql_query("set names utf8",$conn) or?dir(設置編碼失敗'.mysql_errno());
//選擇數(shù)據(jù)庫
mysql_select_db("dbname",$conn) or?dir('選擇數(shù)據(jù)庫失敗'.mysql_errno());
//發(fā)送sql語句,注意預防sql注入
$sql = "select ?password,nickname from tb_user where username='$username'";
$res = mysql_query($sql,$conn);
//如果有數(shù)據(jù)
if($row = mysql_fetch_assoc($res)){
//判斷密碼
if($password == md5($row['password'])){
//合法用戶
$nickname = $row['nickname'];
header("Location:success.php?nickname=$nickname");
exit();
}
}
//用戶或者密碼錯誤
//現(xiàn)在的網(wǎng)站不再具體提示用戶是用戶名錯還是密碼錯,避免黑客有針對性破解密碼
header("Location:failed.php");
exit();
//還需考慮關閉資源和連接,注意安排代碼位置
//mysql_free_result($res);
//mysql_close($conn);
?>
其它知識:
如果是列表頁,顯示多條記錄
if($row = mysql_fetch_assoc($res))相應修改為 while($row = mysql_fetch_assoc($res)) ?。
?
轉(zhuǎn)載于:https://www.cnblogs.com/suncoolcat/p/3424064.html
總結(jié)
以上是生活随笔為你收集整理的php基础系列:从用户登录处理程序学习mysql扩展基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Binary Search二分法搜索C+
- 下一篇: 【原创】mysql数据库异常:data