1. php如何實現登陸後返回原頁面
訪問網站頁面時,有的頁面需要授權才能訪問,這時候就會要求用戶登錄,跳轉到登錄頁面login.php,怎麼實現登錄後返回到剛才訪問的頁面
項目需求
訪問網站頁面時,有的頁面需要授權才能訪問,這時候就會要求用戶登錄,跳轉到登錄頁面login.php,怎麼實現登錄後返回到剛才訪問的頁面。
解決思路1:
在跳轉到登錄頁面之前要將當前訪問頁面的url保存到cookie裡面,登錄驗證授權通過後,從cookie中取出這個url值,跳轉到該 url指定的頁面。
具體實現
我現在的程序是基於ThinkPHP框架的,我們會有一個父類控制器,下面我就把這個設置cookie的代碼加到這個BaseAction裡面的_initialize()函數中,這樣程序就大大簡化工作量了。
代碼如下:
Cookie::set('refer', $refer);
登錄檢測的函數裡面我們加入:
代碼如下:
$refer = Cookie::get('refer');
現在這個$refer就是我們之前訪問的頁面,我們可以通過AJAX返回這個參數,然後進行跳轉,或者直接使用程序進行跳轉,具體要根據你程序的需求了。
解決思路2:
除了存成cookie的形式,相信大家也看到了很多大型網站直接採用GET的形式獲得,Drupal的登陸機制就是這樣。
這種思路具體是這樣的:
在跳轉到登錄頁面前要將訪客訪問的頁面的url作為參數傳遞過去,登錄驗證後,授予訪問許可權之後跳轉到該url指定的頁面。
比如登錄前的url為:openphp.html 當訪客訪問時,點擊無許可權,跳轉到登錄頁面的地址就為login.php?url=openphp.html,這樣在登錄時就可以用GET方式獲取該參數 openphp.html,登錄驗證成功後跳轉到openphp.html 這個頁面就可以了。
大致上我也就這兩種思路了,如果你有更好的思路,真心希望你可以告訴我。
2. PHP內容提交後怎麼跳轉到當前頁面顯示提交的內容呢
php表單提交成功後,最好有個判斷是否成功,成功才跳轉
可以設置一個變數$result 來判斷是否成功,
成功的話跳轉
假設$result>0是成功,則
<?php
if($result > 0){
echo '<script>alert("提交成功!");location.href="'.$url.'"</script>'; //$url就是你的跳轉路徑
}
?>
或者
<?php
if($result > 0){
echo '提交成功,即將跳轉.....';
header("refresh:1;url=$url");//$url就是你的跳轉路徑
}
?>
3. PHP怎麼實現一單擊按鈕就跳轉到令一個頁面
直接在按鈕使用onclick="window.location.href='要跳轉的網站'"
例如:
<input type="button" value="跳轉" onclick="window.location.href='a.php'"/>
或者是使用一個點擊函數傳入值:
<input type="button" value="跳轉" onclick="tiao('a.php')"/>
<script type="text/javascript">
function tiao(urls){
window.location.href=urls;//根據傳過來的地址跳轉
}
</script>
4. 如何使用PHP讓網頁直接跳轉
在php文件內讓當前操作的網頁跳轉,一般經常用的有兩種方法:1.用php自帶的函數法:執行玩動作後,加上這個就會跳轉:header("Location:http://~~~~.com");2.用js的方法:加上這句:echo "<script>window.location.href='http://~~~~~.com';</script>";
5. 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 "登錄失敗";
}
}
?>
6. 如何實現PHP查詢資料庫,信息匹配成功,跳轉頁面
<?php
$localhost='localhost';//本地的基本是用localhost
$dbname='dbname';//資料庫名
$user='user';//用戶名
$pw=虧純'pw';//密碼
$pdo=newPDO("mysql:host=".$localhost.";dbname=".$dbname."",$user,$pw);
$pdo->query('setnamesutf8');
$username=$_POST['username'];
$userpassword=$_POST['userpassword'];
$sql='SELECTuserpasswordFROM`userinf`WHERE`username`="'.$username.'"';
$row=$pdo->query($sql)->fetch();//查詢資料庫
if($userpassword==$row['userpassword'])
{
@header("Location:http://網址");//配對成功,跳轉
}
else
{
exit('不好意思,你的密碼不對');
}
/*
就是這么的簡單,但是一般的驗證用戶密碼不是這樣的,首先一般存資料庫裡面的密碼都是加密的,通常的MD5加密
而且POST提交過來的數據桐哪也要過濾一下
*/
?>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>用戶登錄驗證</title>
</head>
<body>
<formmethod="POST">
用戶名:<inputname="username"type="text"/>|密碼:<inputname="userpassword"type="password"/>|<inputtype="submit"value="提交">
<銷輪咐/form>
</body>
</html>
7. php 中如何實現跳轉到一個新的頁面
1、首先用HTTP頭信息重定向到另外一個頁面的方法,如下圖所示。
8. 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">";
9. 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