大致實現(xiàn)思路如下:
成都創(chuàng)新互聯(lián)公司專注于郫都企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站定制開發(fā)。郫都網(wǎng)站建設(shè)公司,為郫都等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
用戶通過表單提交登錄數(shù)據(jù);
查詢數(shù)據(jù)庫,比對用戶提交的用戶名和密碼等參數(shù);
如果比對參數(shù)值一致,登陸成功;否則,失?。?!
?php
//獲取POST表單提交的username
$username?=?isset($_POST['username'])???trim($_POST['username'])?:?'';
//?同上
$password?=?isset($_POST['password'])???trim($_POST['password'])?:?'';
//使用pdo連接mysql數(shù)據(jù)庫
$conn?=?new?PDO('mysql:host=localhost;dbname=test',?'root',?'root');
//使用參數(shù)綁定查詢記錄
$rs?=?$conn-prepare("SELECT?`uid`?FROM?`test_user`?WHERE?`username`?=?:username?AND?`password`??:password");
$rs-execute(array(
':username'?=?$username,
':password'?=?$password
));
if($rs-columnCount()??0)
{
echo?'登錄成功';
}
else
{
echo?'登錄失敗';
}
兩個都有問題才對,你的SQL語句有錯,假設(shè)$_POST['username']='user';
$_POST['password']='pass';你得到的語句是SELECT username FROM DB_TABLE WHERE name= user and password= pass
而正確的語句應(yīng)該是SELECT username FROM DB_TABLE WHERE name= 'user' and password= 'pass'(掉了幾個引號所以報錯)
你可以在登錄的時候把 這個登錄的賬號ID或者賬號名存入session里面!你每次取數(shù)據(jù)的時候就可以從session里面取到這個賬號的ID或者賬號名!進(jìn)行查詢
也可以登錄的時候就把所有的信息放入session里面 以后要查看信息的時候不用去數(shù)據(jù)庫查詢了、當(dāng)然這個必須要保證這個賬號的信息被修改的時候要重新把信息放入session里面!
php使用session必須先在頁面使用代碼session_start();開啟session回話
存值=$_SESSION['ID']=$ID;也可以放數(shù)組的
取值=$id=$_SESSION['ID'];
session默認(rèn)存活時間為30分鐘!這個表示賬號登錄后!在30分鐘內(nèi)沒有一次請求過服務(wù)器session就消亡了!