在制作項(xiàng)目時(shí), 因?yàn)轫?xiàng)目管理的需求, 用戶(hù)登陸成為了我們項(xiàng)目中必不可少的一個(gè)操作,那么,用戶(hù)登錄的原理是什么呢?這個(gè)其實(shí)就類(lèi)似我們生活中去坐火車(chē),花了錢(qián)買(mǎi)了車(chē)票,然后就可以上車(chē)了,什么時(shí)候列車(chē)員要檢查我們是否交錢(qián)了,只要看我們是否有票就可以了。 同樣,項(xiàng)目系統(tǒng)檢查我們是否登錄,就看我們是否session設(shè)置值[就像火車(chē)票], 如果我們有session令牌,那么就認(rèn)為我們已經(jīng)登錄,反之,如果沒(méi)有session設(shè)置值, 就不讓我們往下執(zhí)行了
1. 登陸表單:
<form action="user_check.php" method="post"> <li>用戶(hù)名: <input type="text" name="user_name"></li> <li>密 碼: <input type="password" name="user_pwd"></li> <li> <input type="submit" value="登陸"> </li> </form>
2. 檢查登陸用戶(hù) 是否在 數(shù)據(jù)庫(kù)中有
$db = conndb(); $user_name = $_POST["user_name"]; $user_pwd = $_POST["user_pwd"]; if($user_name == "" || $user_pwd==""){ echo "<script>alert('用戶(hù)名或密碼不能為空');history.back();</script>"; die(); // exit(); } $user_pwd = md5($user_pwd); $sql = "select * from users where user_name = '$user_name' and user_pwd='$user_pwd' "; $query = $db->query($sql); $result = $query->fetchall(); if($result){ //$result 為true, 表明這里有查詢(xún)到值, 接下來(lái)需要發(fā) 門(mén)票,給令牌了 session_start(); $_SESSION['user_name'] = $user_name; //給了火車(chē)票 $_SESSION['userid'] = $result[0]["id"]; //記錄每次用戶(hù)登陸的時(shí)間 $time = time(); $sql = "insert into logins set user_name='$user_name', logintime='$time'"; $db->exec($sql); echo "<script>alert('登陸成功');location.href='main.php';</script>"; } else{ echo "<script>alert('用戶(hù)名或密碼不正確');history.back();</script>"; }
3. 在頁(yè)面中判斷有沒(méi)有登錄
session_start();if(!isset($_SESSION['user_name'])){ echo "<script>alert('請(qǐng)登陸');location.href='user_login.php';</script>";exit();}