判斷php登陸
⑴ 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如何判斷用戶是否登陸,防止同賬號多登陸,
大概邏輯是這樣的,如果要達到一個賬號登陸了,要把另一個客戶端上的統一賬號踢掉,那麼你需要用記錄用戶頭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中如何用session判斷用戶是否以登陸
這問法就有問題 怎麼叫用session去判斷用戶是否可以登錄判斷用戶是否可以登錄應該在資料庫裡面設置一個欄位來標示查詢出來看那個值是不是已經設置好的 如果是就可以登錄 不是就不用存session或者cookies了 如果是判斷是否已經登錄才可以用session或者cookies去判斷
⑷ php如何判斷是否登陸
用session吧。if(!isset($_SESSION['名字'])){echo "<script>alert('對不起,請先登錄');location.href='登陸頁';</script>";}就這樣一句話就可以了,前提是你在登陸頁面要有一個注冊session的代碼。比如賬號密碼都正確就執行$_SESSION['名字,隨便你起']=session的值,比如賬號。。
⑸ 關於php或者JS判斷用戶是否已經登陸/在線請具體demo
可以利用cookie記錄登錄狀態,特意寫了個例子,已做過測試,僅供參考。
兩個文件:login.php(登錄)、question.php(提交問題)。
login.php代碼如下:
<?php
if($_GET['success']){
echo'<script>window.location.href="login.php";</script>';//firefox下cookie有延時,需要再次刷新
}
$user=$_COOKIE['user'];//取cookie中的值
$iflogin=$_COOKIE['iflogin'];
if($iflogin&&$user){//一小時之內不用重復登錄
if($_GET['del']){//清除cookie
setcookie('user','',time()-3600);
setcookie('passwd','',time()-3600);
setcookie('iflogin','',time()-3600);
echo'<script>window.location.href="login.php";</script>';
}
echo$user.'wellcome,<ahref="login.php?del=1">logout</a>';//登錄成功的狀態
}else{
if($_POST['sub']=='tijiao'){
$user=$_POST['user'];
$passwd=$_POST['passwd'];
//將用戶、名密碼與用戶表進行比對,省略……
//如果正確,將登錄相關信息保存到cookie中
if($user&&$passwd){
setcookie("user",$user,time()+3600);//保存用戶名,一小時
setcookie("passwd",$passwd,time()+3600);//保存密碼,一小時
setcookie("iflogin",1,time()+3600);//保存登錄狀態,一小時
}
//登錄成功,刷新頁面或跳轉
echo'<script>window.location.href="login.php?success=1";</script>';//成功後第一次刷新
}
?>
<formaction="login.php"method="post">
username:<inputtype="text"name="user"/>
password:<inputtype="text"name="passwd"/>
<inputtype="submit"value="tijiao"name="sub"/>
</form>
<?php
}
?>
question.php代碼如下:
<?php
if($_POST['sub']=='tijiao'){
$q1=$_POST['q1'];
$if_login=$_COOKIE['iflogin'];//取cookie中的登錄狀態
if($if_login){
//登錄了,判斷tijiao的問題無誤,入庫,省略……
alert_msg('恭喜,tijiao成功!','question.php');//保存成功後提示並刷新
exit();
}
//沒登陸,提示請登錄並跳轉到登錄頁
alert_msg('抱歉,請先登錄!','login.php');
}
//提示函數,默認不跳轉,當$url有值時跳轉
functionalert_msg($msg,$url=''){
if($url){
echo'<script>alert("'.$msg.'");window.location.href="'.$url.'";</script>';
}else{
echo'<script>alert("'.$msg.'");</script>';
}
}
?>
<formaction="question.php"method="post">
question1:<inputtype="text"name="q1"/>
<inputtype="submit"value="tijiao"name="sub"/>
</form>
⑹ PHP怎麼判斷用戶是否登錄
一般的話,一個用戶登錄之後,就會把他的相關的id或者是用戶名存成一個session,在if語句裡面判斷session就可以了
⑺ php 判斷用戶密碼登陸界面代碼
//樓上的回答。。
<form
action=
"login.php"
method="get">
//改為:
<form
action=
"login.php"
method="post">
//上面這個修改沒問題。。。
$user=$POST['user'];
$password=$_POST['password'];
//改為:
$user=$POST['john'];
$password=$_POST['1'];
//樓上的搞反了吧。。並且有個寫錯了哦-$user=$_POST['john'];
其它OK,另涉及密碼之類的,還是以post方式提交比較合適一點。
⑻ php伺服器怎麼判斷web客戶端是否登錄
PHP通常是用WEB伺服器比如apache,iis之類運行的,也就是通常的伺服器腳本程序,但php安裝包也自帶了php的解釋器,可以在本機上利用解釋器來執行php程序,相當於客戶端不過不常用。
⑼ 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