你可以在php數(shù)據(jù)處理頁(yè)面進(jìn)行提醒啊,條件不滿足登錄的時(shí)候由瀏覽器彈出提示框進(jìn)行提醒啊
創(chuàng)新互聯(lián)公司專注于于都網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供于都營(yíng)銷型網(wǎng)站建設(shè),于都網(wǎng)站制作、于都網(wǎng)頁(yè)設(shè)計(jì)、于都網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造于都網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供于都網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
你可以在登錄的時(shí)候把 這個(gè)登錄的賬號(hào)ID或者賬號(hào)名存入session里面!你每次取數(shù)據(jù)的時(shí)候就可以從session里面取到這個(gè)賬號(hào)的ID或者賬號(hào)名!進(jìn)行查詢
也可以登錄的時(shí)候就把所有的信息放入session里面 以后要查看信息的時(shí)候不用去數(shù)據(jù)庫(kù)查詢了、當(dāng)然這個(gè)必須要保證這個(gè)賬號(hào)的信息被修改的時(shí)候要重新把信息放入session里面!
php使用session必須先在頁(yè)面使用代碼session_start();開(kāi)啟session回話
存值=$_SESSION['ID']=$ID;也可以放數(shù)組的
取值=$id=$_SESSION['ID'];
session默認(rèn)存活時(shí)間為30分鐘!這個(gè)表示賬號(hào)登錄后!在30分鐘內(nèi)沒(méi)有一次請(qǐng)求過(guò)服務(wù)器session就消亡了!
給你個(gè)實(shí)例參考一下php編寫登陸驗(yàn)證用戶名和密碼吧。
登錄頁(yè)面
login.html 負(fù)責(zé)收集用戶填寫的登錄信息
在CODE上查看代碼片派生到我的代碼片
html
head用戶登錄/head
form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)"
p
label for="username" class="label"用戶名:/label
input id="username" name="username" type="text" class="input" /
p/
p
label for="password" class="label"密 碼:/label
input id="password" name="password" type="password" class="input" /
p/
p
input type="submit" name="submit" value=" 確 定 " class="left" /
/p
/form
/html
登錄處理
login.PHP 負(fù)責(zé)處理用戶登錄與退出動(dòng)作。
在CODE上查看代碼片派生到我的代碼片
?php
//登錄
if(!isset($_POST['submit'])){
exit('非法訪問(wèn)!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含數(shù)據(jù)庫(kù)連接文件
include('conn.php');
//檢測(cè)用戶名及密碼是否正確
$check_query = mysql_query("select userid from user_list where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登錄成功
session_start();
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['userid'];
echo $username,' 歡迎你!進(jìn)入 a href="my.php"用戶中心/abr /';
echo '點(diǎn)擊此處 a href="login.php?action=logout"注銷/a 登錄!br /';
exit;
} else {
exit('登錄失??!點(diǎn)擊此處 a href="javascript:history.back(-1);"返回/a 重試');
}
//注銷登錄
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注銷登錄成功!點(diǎn)擊此處 a href="login.html"登錄/a';
exit;
}
?
用戶中心
my.php 是用戶中心,作為用戶登錄檢測(cè)。
在CODE上查看代碼片派生到我的代碼片
?php
session_start();
//檢測(cè)是否登錄,若沒(méi)登錄則轉(zhuǎn)向登錄界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含數(shù)據(jù)庫(kù)連接文件
include('conn.php');
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$user_query = mysql_query("select * from user_list where userid = '$userid' limit 1");
$row = mysql_fetch_array($user_query);
echo '用戶信息:br /';
echo '用戶ID:',$userid,'br /';
echo '用戶名:',$username,'br /';
echo 'a href="login.php?action=logout"注銷/a 登錄br /';
?
conn.php,用于連接數(shù)據(jù)庫(kù)
在CODE上查看代碼片派生到我的代碼片
?php
$conn = mysql_connect("127.0.0.1","root","") or die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤".mysql_error());
mysql_select_db("info_db",$conn) or die("數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤".mysql_error());
mysql_query("set names gb2312");
?
這個(gè)是登錄流程問(wèn)題,
一般正確的流程是在第一次打開(kāi)登錄頁(yè)面的時(shí)候,應(yīng)該先執(zhí)行html那部分的,然后顯示登錄頁(yè)的布局,然后輸入賬號(hào)和密碼 點(diǎn)擊登錄的按鈕,表單提交到自身,然后才是執(zhí)行數(shù)據(jù)庫(kù)連接,數(shù)據(jù)庫(kù)查詢賬號(hào)密碼是否正確這些流程,如果正確就跳轉(zhuǎn)頁(yè)面,錯(cuò)誤就顯示登錄失敗。
而從你的代碼看第一次打開(kāi)登錄頁(yè)面的時(shí)候 是先執(zhí)行了php代碼,查數(shù)據(jù)庫(kù)所以會(huì)先提示登錄失敗。
你可以把你的代碼 php部分外層加一個(gè)if($_POST){}判斷, 然后登錄的時(shí)候用Post提交,這樣你在刷新登錄頁(yè)的時(shí)候,因?yàn)槭莋et提交所以不會(huì)執(zhí)行if判斷里的代碼,然后點(diǎn)登錄的時(shí)候才會(huì)觸發(fā)if里的代碼