php登錄session
① php中session如何管理多用戶登錄
不用擔心,系統為每個訪問者都設立一個獨立的Session對象,用以存儲Session變數,並且各個訪問者的Session對象互不幹擾。
session的id(Session的代號)通過session_id()方法直接獲取。
<?php
session_start();
echosession_id();//目前Session的代號
//session_id()函數可取得或者重新配置目前存放Session的代號。若無參數id則表示只有取得目前Session的代號,加上參數則表示將Session代號設成新指定的id。輸入及返回均為字元串。
?>
② php thinkphp3.2 怎麼使用session記錄用戶登錄
<?php
namespaceAdminController;
useThinkController;
{
publicfunctionlogin(){
$user_name=trim($_POST['user_name']);
$pass=md5(trim($_POST['user_password']));
$res=M("user")->where("user_name='%s'anser_password='%s'",$user_name,$pass)->find();
if($res){
session("user_id",$res['user_id']);
session("user_name",$res['user_name']);
$this->redirect('Index/index');
}else{
$this->error('賬號或者密碼錯誤');
}
}
}
登錄成功後,前台頁面要顯示用戶名,就直接調用session裡面的用戶名:
<header>
<divclass="top-header">
<divclass="wrap-topzerogrid">
<divclass="row">
<divclass="top-social">
<ifcondition="empty($_SESSION['user_name'])">
<ahref="{:U('Login/login')}">尊敬的用戶,請登錄:</a>
<else/>
<ahref="{:U('Login/login')}">歡迎:{$_SESSION['user_name']}</a>
</if>
<ahref="{:U('Login/Regust')}">免費注冊</a>
</div>
<divclass="top-search"><formmethod="get"action="/search"id="search">
<inputname="q"type="text"size="40"placeholder="Search..."/>
</form></div>
</div>
</div>
</div>
顯示結果:
③ php登錄後生成session怎麼弄
登陸頁index.php
<?PHP
if(isset($_POST['submit'])&&isset($_POST['submit'])=='確定')
{
if($_POST['user']=='user'&&$_POST['pwd']=='pwd')
{
session_start();//打開session
$_SESSION["user"]=$_POST['user'];//新建一個session
echo'登陸成功';
}
else
echo'用戶名或密碼錯誤!';
}
else
{
echo'<formact=""method="post">';
echo'用戶名:<inputname="user"type="text"/>';
echo'密碼:<inputname="pwd"type="password"/>';
echo'<inputtype="submit"name="submit"value="確定"/>';
echo'</form>';
}
?>
判斷是否登陸頁add.php
<?php
session_start();
if($_SESSION["user"]==null)
{
echo"請登陸";
echo"<script>location.href='index.php';</SCRIPT>";
returnfalse;
}
else
{
echo"以登陸";
echo"<ahref='esc.php'>點擊退出</a>";
}
?>
退出頁esc.php
<?php
session_start();
session_destroy();
echo"<script>alert('退出成功!');this.location.href='index.php';</SCRIPT>";
?>
④ php 每次登錄session 都不變
可以設置session保存時間或者是cookie
<?php
$time=24*60*60;//保存一天
setCookie("a","b",time()+$time);
⑤ php中使用session防止用戶非法登錄後台的方法
本文實例講述了php中使用session防止用戶非法登錄後台的方法。分享給大家供大家參考。具體如下:
一般來說,我們登錄網站後台時,伺服器會把登錄信息保存到session文件里,並通過讀取session文件來判斷是否可以進行後台操作。
以下面為例,假如admin.php是我們的後台操作頁面,如果沒有啟用
session,那麼,即便是沒有登錄,用戶照樣能訪問到該頁面,這時候,就需要用到
session
來防止用戶非法登錄到這個頁面了。下面是三個文件的代碼
登錄頁面:login.php
復制代碼
代碼如下:<h2>用戶登錄頁面</h2>
<form
action="loginProcess.php"
method="post">
用戶名:<input
type="text"
name="username"><br
/>
密 碼:<input
type="password"
name="pwd"><br
/>
<input
type="submit"
name="sub"
value="登錄後台">
</form>
<?php
if(!empty($_GET['errno'])){
if($_GET['errno']==1){
echo
"用戶名或密碼錯誤";
}else
if($_GET['errno']==2){
echo
"請輸入用戶名密碼";
}else
if($_GET['errno']==3){
echo
"非法訪問,請輸入用戶名和密碼";
}
}
?>
登錄信息處理頁面:loginProcess.php
復制代碼
代碼如下:<?php
//這里主要講session,關於登錄信息驗證,就不涉及到資料庫了
//接收登錄信息,保存session
if(!empty($_POST['sub'])){
if($_POST['username']=="admin"
&&
$_POST['pwd']=="admin"){
echo
"登錄成功";
session_start();//開啟session
$_SESSION['username']
=
$_POST['username'];//將登錄名保存到session中
header("Location:
admin.php");
exit();
}else{
header("Location:
login.php?errno=1");
exit();
}
}else{
header("Location:
login.php?errno=2");
exit();
}
?>
後台文件:admin.php
復制代碼
代碼如下:<?php
session_start();
if(empty($_SESSION['username'])){
header("Location:
login.php?errno=3");
exit();
}
echo
"你是管理員,你現在擁有後台管理許可權";
?>
希望本文所述對大家的php程序設計有所幫助。
⑥ php後台登陸許可權判斷是用session好還是cookie好
一般是存session,但是如果要設置以後自動登錄就同時保存到cookie,因為cookie是客戶端的
登錄之後一般都是判斷session
安全性session是伺服器端的,相對cookie安全性要好一些,現在都是session和cookie結合使用
⑦ php登錄了session值為空是什麼原因
1、沒有開啟session,使用緩存之前使用session_start()了沒有;2、session的鍵名不一致,比如你前面頁面賦值$_SESSION['username'],後面使用$_SESSION['user']。建議你用print_r($_SESSION)列印輸出一下看看。3、session_start()之前有輸出。
⑧ php中登錄後台時的session的用法
一般情況下登錄後台後,會把用戶的唯一標識如user_id存入session中,如下
$_SESSION['user_id'] = $userid;
檢測登錄 isset($_SESSION['user_id']);
⑨ php怎麼把登錄的用戶名存進session裡面
您好,
?php
/**同時注銷session和cookie的頁面*/
//即使是注銷時,也必須首先開始會話才能訪問會話變數
session_start();
//使用一個會話變數檢查登錄狀態
if(isset($_SESSION['user_id'])){
//要清除會話變數,將$_SESSION超級全局變數設置為一個空數組
$_SESSION
=
array();
//如果存在一個會話cookie,通過將到期時間設置為之前1個小時從而將其刪除
if(isset($_COOKIE[session_name()])){
setcookie(session_name(),'',time()-3600);
}
//使用內置session_destroy()函數調用撤銷會話
session_destroy();
}
//同時將各個cookie的到期時間設為過去的某個時間,使它們由系統刪除,時間以秒為單位
setcookie('user_id','',time()-3600);
setcookie('username','',time()-3600);
//location首部使瀏覽器重定向到另一個頁面
$home_url
=
'logIn.php';
header('Location:'.$home_url);
?
⑩ PHP 登陸頁面中為什麼要用到session
session會話,是在一定時間段內保存一個值的。
比如你登陸後,保存一個用戶名在session里。那麼進入下一個頁面的時候,你的用戶名還在
比如郵箱登陸
就在session里保存了一個值,假設你在20分鍾(session的時間可以自己設定)內,沒有使用郵箱,session會話失效,就需要重新登錄郵箱。