這個就是比較基礎的事情啦

站在用戶的角度思考問題,與客戶深入溝通,找到石樓網站設計與石樓網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都網站建設、外貿網站建設、企業官網、英文網站、手機端網站、網站推廣、域名申請、虛擬空間、企業郵箱。業務覆蓋石樓地區。
你的代碼中:if(mysql_affected_rows($link)!=0)
意思是某個查詢所影響的行數,如果用戶名和密碼都不對,將返回0行,當然就不能通過驗證啦
這樣是一次性驗證了用戶名和密碼.
但是你的sql語句有問題
應該這樣 : $sql2="select * from user where name = '$name' and password = '$pass'";
你要獲取查詢的結果: 一般都用 mysql_fetch_array();
按照你上面例子用法
$result = mysql_query (select * from user where name = '$name')
$row = mysql_fetch_array($result);
如果你的sql語句沒錯話,用戶名又存在
那么 就返回了一個數組 $row
你用echo $row[0] 或者 $row['name'] 試試就可以獲得內容
你獲得了用戶名之后,就可以繼續查詢秘密是否正確啦..
原來一樣
還不懂的話,來我博客看看 我也在學習php 大家交流一下
創建conn.php,連接數據庫。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.連接數據庫,創建PDO對象
$pdo = new PDO($dns,$username,$password);
創建login.html,登陸頁面。
用戶名
密 碼
創建login.php,驗證賬號密碼。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("錯誤執行");
}//檢測是否有submit操作
include('conn.php');//鏈接數據庫
$name = $_POST['name'];//post獲得用戶名表單值
$pwd = sha1($_POST['password']);//post獲得用戶密碼單值
if ($name $pwd){//如果用戶名和密碼都不為空
$sql = "select * from user where username = '$name' and password='$pwd'";//檢測數據庫是否有對應的username和password的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
if($stmt-fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳轉至welcome.html頁面
exit;
}else{
echo "用戶名或密碼錯誤";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果錯誤使用js 1秒后跳轉到登錄頁面重試;
}
}else{//如果用戶名或密碼有空
echo "表單填寫不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果錯誤使用js 1秒后跳轉到登錄頁面重試;
}
$pdo = null;
創建signup.html,注冊頁面
用戶名:
密 碼:
創建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("錯誤執行");
}//判斷是否有submit操作
$name=$_POST['name'];//post獲取表單里的name
$pwd = sha1($_POST['password']);//post獲取表單里的password
include('conn.php');//鏈接數據庫
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向數據庫插入表單傳來的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql執行失敗輸出錯誤
}else{
echo "注冊成功";//成功輸出注冊成功
}
$pdo = null;//關閉數據庫
if($_POST[id]=='$a') $a 不能用單引號括起來,要么用雙引號,要不不用,單引號擴住的話,它不會編譯,只會把它堪稱是字符串 $a 來看待。我說一個問題哦,僅僅是我自己理解的,你在頁面傳輸的時候接受 id ($_POST[id]==)的值,而你又要和$a(用戶名$lr[luser]; )比較( _POST[id]=='$a' ),你的用戶民 是字符串,而id是數字類型的,怎么能相等...
如果不考慮sql注入,不過率用戶輸入信息的話,最簡單的代碼如下:
?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$db = mysql_connect("localhost","root","123") or die("fail");
echo "connect ok!br";
mysql_select_db('ck');
$_POST['pwd'] = md5($_POST['pwd']);//如果數據庫里存的不是md5碼,這句就不用了
$sql = "select * from adminuser where username='{$_POST['name']}' and password='{$_POST['pwd']}'";
$result = mysql_query($sql);
if(mysql_num_rows($result) != 0){
echo "找到了!";
}
else{
echo "沒這個人!";
}
exit();
}
?
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
title用戶信息/title
/head
form name="fm" action="" method="post"
input type="text" name="name" value="" /
input type="password" name="pwd" value="" /
input type="submit" value="提交" /
/form
/html
新聞名稱:php連接數據庫密碼驗證 登錄界面php連接數據庫
網頁地址:http://www.yijiale78.com/article40/ddochho.html
成都網站建設公司_創新互聯,為您提供網站排名、ChatGPT、網站策劃、搜索引擎優化、網站內鏈、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯