⑴ php網頁登錄後才可以點擊裡面的下載地址
做一個公共的方法,比如:
function checklogin($url){
if($_SESSION['user_id']){//判斷是不是登陸
return url;//返回url
}else{
return '';//返回空或者false
}
}
然後在頁面中,所有鏈接用這個這個方法,比如鏈接是http://www..com,那麼就用checklogin('http://www..com');輸出
⑵ thinkphp前台怎麼判斷登錄狀態
登錄成功則在session裡面存入一個值如session('islogin',1)來記錄登錄狀態
如果是記住密碼保存七天,則在cookie裡面存
每次登錄就判斷即可
⑶ 用php做個登陸界面,代碼要怎麼寫,用戶名和密碼在資料庫中,怎麼關聯呢。
你可以做一個簡單的例如你只有用戶名和密碼即可那麼你先在資料庫(以mysql為例)中建表例如叫做user 欄位為 id name pass分別是編號、用戶名、密碼長度分別是int(8) a_t(自動編號) 主鍵,varchar(50) ,varchar(50) 你可以添加一個測試數據 例如 1,admin,admin//說明密碼這里不說加密的問題,用明文實現 登錄頁面的代碼:login.php<html><head><title>用戶登錄</title></head><body><form action="checklogin.php" name="loginform" method="post">用戶名:<input name="name" type="text"><br>密 碼:<input name="password" type="password"><br><input value="登錄" type="submit"><br></form></body></html> checklogin.php代碼(檢測登錄): $name=$_POST[name];$pass=$_POST[password];session_start();//這個可以維持登錄狀態,可以參照session的使用
//登錄檢查函數 function login_state($uid,$user_shell){ $sql="SELECT * FROM `user` WHERE `name`='$name'";
$query=@mysql_query($sql) or die(mysql_error());
$us=is_array($row=@mysql_fetch_array($query));
$user_shell=$us ? $user_shell==$row[password]:FALSE;
if($user_shell){ echo "<script>alert('登錄成功');</script>";
return $row;
}else{
echo "<script>alert('您暫時不能瀏覽該頁面,請先登錄');location.href='login.php';</script>";
} }login_state($name,$password);?>
希望可以幫到您,如果還有問題可以聯系2458285853
⑷ php做用戶在線與離線狀態
在用戶表裡加個session欄位存取時間戳。在文件頭每次刷新就更新它。一定時間不刷新就表示人物離線了。讀取這個會員數據的時候和當前時間戳對比小於一定數就離線了
⑸ PHP網站中,如何判斷用戶是否是在線的狀態
普通http網站是一種無狀態連接,每次一個請求,一個應答,沒有長連接狀態。
但是可以通過記錄訪問時間,來確定用戶的狀態。
用戶登錄後,每次訪問,更新一下最近訪問時間在資料庫里
在用戶頁面的公共部分,做一個定時輪詢,n秒一次(防止用戶打開頁面後放著不動,看資料或者做別的)
伺服器端做一個定時,將最近時間在n秒內的用戶設為在線狀態,將最近時間大於n秒的(說明已經關了頁面),設為離線狀態。 如果是普通 web空間無法配置定時器,可以在每次用戶訪問時處理一次(如果用戶量大,需要做時間判斷,防止同時訪問量多時多次重復處理,影響伺服器性能)
如果能確定一個用戶的訪問,只有一個瀏覽器窗口,可以在窗口裡加一個關閉事件(onbeforeunload),在此事件中發送一個退出請求,主動設為離線狀態。這樣狀態管理會更完美一些
這樣基本就可以完成一個在線狀態的管理。具體n 設為多少可根據情況而定,一般5-30秒都是合理的,太短了伺服器壓力比較大,太長了誤差會比較大