php判斷是否登錄
『壹』 php中如何判斷用戶是否在線
代碼很簡單,但實現邏輯自己要想明白,
網站頭公共文件加下邊代碼,意思即每個頁面都有包含下面這個php代碼,總之你懂,
這樣,只要有用戶登陸,或者打開別的頁面,就會往all_user表裡的action_time欄位添
加操作時間,當你檢測用戶是否在線,就把用戶操作時間action_time轉化為幾分鍾前,小時前,
,知道每個用戶是幾分幾小時前操作,就可以把幾分鍾前的顯示在線,而幾小時前的,顯示離線或幾小時前,
例如用戶15:30分登陸,打開幾個頁面,然後就關電腦或出門,這時all_user表已經記錄了操作時間
網站可以用wordTime($time)顯示他的操作時間離現在為2分鍾前,或20分鍾前,將直接顯示在線。
至於多少分鍾不操作算離線,自己調分鍾數
<?php
strtotime("now");//取伺服器當前時間戳,得到值如1533213376
$sql="UPDATEall_userSETaction_time=$action_timeWHEREuserid=$cook_userid";
//往用戶表裡更新操作時間,具體要填自己的表名和用戶名的欄位名
?>//======================下邊功能代碼可直接用
<?php
functionwordTime($time){
$time=(int)substr($time,0,10);
$int=time()-$time;
$str='';
if($int<=2){
$str=sprintf('在線',$int);
}elseif($int<60){
$str=sprintf('在線',$int);//60秒內
}elseif($int<300){
$str=sprintf('在線5',$int);//5分鍾內
}elseif($int<1800){
$str=sprintf('在線+',floor($int/60));//30分鍾內
}elseif($int<3600){
$str=sprintf('%d分鍾前',floor($int/60));//30-60分鍾內
}elseif($int<86400){
$str=sprintf('%d小時前',floor($int/3600));
}elseif($int<2592000){
$str=sprintf('%d天前',floor($int/86400));
}elseif($int<2592000*30){
$str=sprintf('%d月前',floor($int/2592000));
}else{
$str="";//date('Y-m-d',$time);
}
//調用方法,把值給到變數time如:$time="1533213376";echowordTime($time);結果將輸出20分鍾前
?>
不存在頻繁操作資料庫問題,因為打開網頁都要查詢mysql 用戶名等這些,也不差這條更新命令,
『貳』 PHP如何判斷用戶是否登入,如果未登入就轉到注冊頁面
應該是敬高沒登姿尺錄,就跳到登錄頁面吧.一般常用的是cookie判斷一下該用戶的cookie信息是否存在,如果不存在就要求用戶登亮冊尺陸在用戶登錄的時候,如果是合法用戶就設定cookie。setcookie("username","$username");在其他的頁面中只要判斷該cookie是否存在就可以了,if($_COOKIE["username"]){ }else{ header("location:登錄/注冊頁面");}
你可以去後盾人平台看看,裡面的東西不錯
『叄』 php is_login()做什麼用的;
這並非是PHP系統函數,從命名方式上來看,應該是判斷是否登錄的函數。
is_array() //判斷是否數組。
is_int()//判斷是否整型。
is_login()//判斷用戶是否登錄。
如果是 $res = is_login(); 這種形式判斷 那is_login返回結果往往是 bool。
php簡介
計算機編程語言(Hypertext Preprocessor)
PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:HypertextPreprocessor)的縮寫。PHP是一種HTML內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。
PHP獨特的語法混合了C、java、Perl以及PHP自創新的語法。它可以比CGI或者Perl更快速的執行動態網頁。
PHP最初是由勒多夫在1995年開始開發的;現在PHP的標准由the PHP Group維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放源代碼許可協議GPL不兼容。
優勢
1、開放的源代碼:
所有的PHP源代碼事實上都可以得到。
2、PHP是免費的:
和其它技術相比,PHP本身免費且是開源代碼。
3、php的快捷性:
程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言。編輯簡單,實用性強,更適合初學者。
4、跨平台性強:
由於PHP是運行在伺服器端的腳本,可以運行在UNIX、LINUX、WINDOWS、Mac OS下。
5、效率高:
PHP消耗相當少的系統資源。
6、圖像處理:
用PHP動態創建圖像。
7、面向對象:
在php4,php5 中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。
8、專業專註:
PHP支持腳本語言為主,同為類C語言。
『肆』 php怎麼寫一個判斷語句,判斷會員是否登錄,登錄了顯示價格,沒登錄,顯示一句話
首先你神鎮肯定要有用戶的數據,你才能根據數據純螞判斷做瞎埋用戶是否為會員。會員的信息一般都會在登錄的時候保存在cookie或者session中,取出來就好。
『伍』 PHP網站中,如何判斷用戶是否是在線的狀態
普通http網站是一種無狀態連接,每次一個請求,一個應答,沒有長連接狀態。
但是可以通過記錄訪問時間,來確定用戶的狀態。
用戶登錄後,每次訪問,更新一下最近訪問時間在資料庫里
在用戶頁面的公共部分,做一個定時輪詢,n秒一次(防止用戶打開頁面後放著不動,看資料或者做別的)
伺服器端做一個定時,將最近時間在n秒內的用戶設為在線狀態,將最近時間大於n秒的(說明已經關了頁面),設為離線狀態。 如果是普通 web空間無法配置定時器,可以在每次用戶訪問時處理一次(如果用戶量大,需要做時間判斷,防止同時訪問量多時多次重復處理,影響伺服器性能)
如果能確定一個用戶的訪問,只有一個瀏覽器窗口,可以在窗口裡加一個關閉事件(onbeforeunload),在此事件中發送一個退出請求,主動設為離線狀態。這樣狀態管理會更完美一些
這樣基本就可以完成一個在線狀態的管理。具體n 設為多少可根據情況而定,一般5-30秒都是合理的,太短了伺服器壓力比較大,太長了誤差會比較大
『陸』 php如何驗證過濾用戶是否登錄
一、php可以通過Session,實現用戶登錄驗證。
session習慣上被譯為會話,它的設計是為了在一個訪問期間在不同的頁面間傳輸數據,以解決http協議無狀態的問題。
session_register()函數的作用是注冊新的變數,它會在全局變數中增加1個變數到目前的session之中,以後其他頁面可以通過session_is_registered()函數檢測該session變數是否已經注冊。
二、通過session來檢測用戶登錄信息,由兩個文件組成,login.php為用戶登錄頁面,checklogin.php用於檢測賬號、密碼和是否登錄成功。
具體參考代碼如下:
login.php的代碼如下:
<?php
session_start();//初始化session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit();
}
?>
<scriptlanguage="javascript">
functionchecklogin(){
if((login.username.value!="")&&(login.password.value!=""))
{
returntrue;//判斷用戶名和密碼不為空,返回TRUE
}
else
{
alert("昵稱或密碼不能為空!")
}
}
</script>
<styletype="text/css">
.style1{font-size:13px;font-family:"黑體";font-weight:normal;color:#0099FF;}
</style>
<divalign="center">
<formname="login"method="post"action="checklogin.php"onSubmit="returnchecklogin()">
<tablewidth="260"border="1"bgcolor="#D8EFFA">
<tralign="center">
<tdheight="30"colspan="2"><spanclass="style1">管理系統登錄</span></td>
</tr>
<tr>
<tdwidth="90"align="center"class="style1">管理員:</td>
<tdwidth="170"height="20"align="left"valign="middle"><inputname="username"type="text"id="username"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1">密碼:</td>
<tdheight="20"align="left"valign="middle"><inputname="password"type="password"id="password"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1"></td>
<tdheight="20"align="center"><inputtype="submit"name="Submit"value="登錄"></td>
</tr>
</table>
</form>
</div>
checklogin.php的代碼如下:
<?php
session_start();//初始session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit;
}//登錄過的話立即結束
$shili_name=$_POST['username'];//獲取參數
$password=$_POST['password'];
//驗證管理員名稱和密碼是否正確,這里採用直接驗證,沒有連接資料庫
if($shili_name=="mr"and$password=="mrsoft")
{
session_register("shili");//注冊新的變數,保存當前會話的昵稱
$shili=$shili_name;
echo"<fontcolor=red>登錄成功!</font>";
header("Location:shili.php");//登錄成功重定向到管理頁面
}
else
{
echo"<tablewidth='100%'align=center><tr><tdalign=center>";
echo"賬號或密碼錯誤,或者不是管理員賬號<br>";
echo"<fontcolor=red>登錄失敗!</font><br><ahref='login.php'>請重新輸入</a>";
echo"</td></tr></table>";
}
?>
shili.php的代碼如下:(實驗簡單驗證)
<?php
echo"WelcometoMyWorld!";
?>
//如果想要對某個頁面限制瀏覽的用戶,可以使用同樣的方式,只要把如下的代碼放在該頁面的開頭即可:
<?php
session_start();
if(!isset($_SESSION['shili'])){
echo"<palign=center>";
echo"<fontcolor=#ff0000size=5><strong><big>";
echo"你沒有登錄,請<ahref='denglu.php'>登錄</a>!";
echo"</big></strong></font></p>";
exit();
}
?>
『柒』 php 用戶登錄:如何判斷用戶是否登錄
login.php
<?php
session_start();
if(isset($_POST['user'])){
$user=$_POST['user'];
$password=$_POST['password'];
if($user=='admin'&&$password=='Password'){//驗證正確
$_SESSION['user']=$user;
//跳轉到首頁
header('location:index.php');
}else{
echo"<script>alert('登錄失敗,用戶名或密碼不正確');</script>";
exit();
}
}
?>
<formmethod="POST">
用戶名:<inputtype="text"name="user"><br/>
密碼:<inputtype="text"name="password"><br/>
<inputtype="submit"value="提交">
</form>
index.php
<?php
session_start();
if(isset($_SESSION['user'])&&!empty($_SESSION['user'])){
echo"登錄成功:".$_SESSION['user'];
}else{
echo"你還沒有登錄,<ahref='login.php'>請登錄</a>";
}
?>
望採納 Thx
『捌』 PHP如何判斷用戶是否登陸,防止同賬號多登陸,
大概邏輯是這樣的,如果要達到一個賬號登陸了,要把另一個客戶端上的統一賬號踢掉,那麼你需要用記錄用戶頭token,和設備唯一識別號到資料庫。
當用戶登陸的時候,檢測和用戶uid相關的token表,如果已經有token了,並且本次的設備唯一識別號和已經登陸的識別號不一樣,那麼清空原有token,也就是將原來登陸的賬號踢下線。記錄新的設備識別號的token即可。
php大致代碼如下:
$currentDeviceUUID=getDeviceUUID();
$uid=getUserId();
$token=generateToken();
select*fromtokenTablewhereuid="$uid";
updatesettoken=''whereuid="$uid";
insertintotokenTable(uid,token,deviceUUID)values("$uid","$token",$currentDeviceUUID);
『玖』 怎麼用PHP判斷用戶是否登陸。一個index.html登陸:有用戶名,密碼,然後for提交到PHP
首先判斷用戶名密碼是否正確
如果正確 寫入$_SESSION['username'伍伍山] =$_POST['username'];
然後腔中就在其它頁面判斷$_SESSION['username'] 是否存在 並橘老且有值 如果不存在 就直接跳轉到登錄頁面去
『拾』 php中如何用session判斷用戶是否以登陸
這問法就有問題 怎麼叫用session去判斷用戶是否可以登錄判斷用戶是否可以登錄應該在資料庫裡面設置一個欄位來標示查詢出來看那個值是不是已經設置好的 如果是就可以登錄 不是就不用存session或者cookies了 如果是判斷是否已經登錄才可以用session或者cookies去判斷