php登錄頁面跳轉
A. php登陸後跳轉到登陸前頁面實現思路及代碼
PHP登陸後跳轉到登陸前頁面,利用$_SERVER全局變數可以實現這個功能,下面有個不錯的示例,希望對大家有所幫助
最近手上一個小項目讓我接觸到PHP編程,簡單的登陸功能已經OK。可是在實際使用的時候發現一個問題:用戶A發送一個鏈接給用戶B,B打開時頁面提示登陸,可是登陸成功後,卻跳轉到了首頁,而並不是A發送的鏈接。為了有更好的用戶體驗,B登陸成功後應該自動跳轉到登陸前的鏈接。查了PHP幫助手冊,利用$_SERVER全局變數可以實現這個功能。
$_SERVER是PHP的一個超全局變數,關於$_SERVER變數的詳細解釋可以參考:http://www.php.net/manual/zh/reserved.variables.server.php
具體實現方法為:在提示用戶登錄的同時,在session或者cookie中記錄下請求頁面的URL;登錄驗證成功後在跳轉回該URL。
checklogin.php
代碼如下:
session_start();
if
(!isset
($_SESSION['login_ok']))
{
echo
"<script
language=javascript>alert
('要訪問的頁面需要先登錄。');</script>";
$_SESSION['userurl']
=
$_SERVER['REQUEST_URI'];
echo
'<script
language=javascript>window.location.href="login.php"</script>';
}
login.php
代碼如下:
session_start();
//此處省略了賬號密碼驗證代碼,驗證OK再執行下面代碼
if
(isset
($_SESSION['userurl']))
{
//會話中有要跳轉的頁面
$url
=
$_SESSION['userurl'];
}
else
{
//沒有要跳轉的頁面,則轉到首頁
$url
=
"home.php";
}
//0.5s後跳轉
echo
"<meta
http-equiv="refresh"
content="0.5;url=$url">";
B. 我是用PHP Mysql實現登錄的,怎樣在登陸後由登陸界面跳轉到index.html主頁面並在登陸的地方顯示用戶名
通常來說, index 頁面與 login 頁面被設計成兩個頁面,當通過 mysql 查詢數據,並驗證成功登錄後,可以自動轉向 index 頁面(或其他頁面):
if($num){
$row=mysql_fetch_array($result);
$_SESSION["username"]=$uuser;
header("Location:index.html");
在 index 頁面需要添加代碼:例如:
<?php
session_start();
//檢測是否登錄,若沒登錄則轉向登錄界面
if(!isset($_SESSION['username'])){
header("Location:login.html");
exit();
}
echo'當前登錄用戶:'.$_SESSION['username']
C. PHP頁面跳轉幾種實現方法
Web系統中,從一個網頁跳轉到另一個網頁,是LAMP項目中最常用的技術之一。頁面跳轉可能是由於用戶單擊鏈接、按鈕等引發的,也可能是系統自動產生的。 此處介紹PHP中常用的實現頁面自動跳轉的方法。
PHP頁面跳轉一、header()函數
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。
header()函數的定義如下:
void header (string string [,bool replace [,int http_response_code]])
可選參數replace指明是替換前一條類似標頭還是添加一條相同類型的標頭,默認為替換。
第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。 header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。注意:1.location和「:」號間不能有空格,否則不會跳轉。
2.在用header前不能有任何的輸出。
3.header後的PHP代碼還會被執行。
PHP頁面跳轉二、Meta標簽
Meta標簽是HTML中負責提供文檔元信息的標簽,在PHP程序中使用該標簽,也可以實現頁面跳轉。 若定義http-equiv為refresh,則打開該頁面時將根據content規定的值在一定時間內跳轉到相應頁面。
若設置content="秒數;url=網址",則定義了經過多長時間後頁面跳轉到指定的網址。
PHP頁面跳轉三、JavaScript
D. php鍦ㄧ綉欏電櫥闄嗘垚鍔熷悗鎬庝箞瀹炵幇緗戦〉璺寵漿錛岀敱login璺寵漿鍒癷ndex錛
1銆侀栧厛錛屾墦寮php緙栬緫鍣錛屾柊寤簆hp鏂囦歡錛屼緥濡傦細index.php錛
2銆佸湪index.php涓錛岃緭鍏ヤ唬鐮侊細header('Location:index.php')錛
3銆佹祻瑙堝櫒榪愯宭ogin.php欏甸潰錛屾ゆ椂浼氳煩杞鍒癷ndex.php欏甸潰錛
E. php鎬庝箞瀹炵幇欏甸潰璺寵漿錛屽氨鏄媯嫻嬬櫥闄嗘椂錛屽傛灉娌$櫥闄嗗氨鐩存帴璺沖埌鐧婚檰欏甸潰
鍒ゆ柇session鏄鍚﹀瓨鍦錛屼笉瀛樺湪鍒欒煩杞鍒扮櫥褰曢〉闈
session_start();
if(!$_SESSION['xxx']){
header("Location:login.php");exit;
}
鐧誨綍涔嬪悗璁板綍session
閫鍑虹櫥褰曚箣鍚庨攢姣乻ession
F. php中,執行登錄後如何自動跳轉到指定頁面
<?php
ob_start();
include("conn.php");
if (isset($_POST['username']) && isset($_POST['password'])){
$username=$_POST['username'];
$sql="select password from login where username='$username'";
$res=mysql_query($sql);
list($password)=mysql_fetch_row($res);
mysql_free_result($res);
if ($username==$_POST['username'] && $password==$_POST['password']){
echo "登錄成功";
//header("location:sy-1.php");
echo "<script>window.location.herf='sy-1.php';</script>";//在這里添加
ob_end_flush();
}else{
echo "登錄失敗";
}
}
?>