PHP登陆后跳转到登陆前页面实现思路及代码

如题所述

第1个回答  2019-07-10
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">";

PHP登陆后跳转到登陆前页面实现思路及代码
具体实现方法为:在提示用户登录的同时,在session或者cookie中记录下请求页面的URL;登录验证成功后在跳转回该URL。checklogin.php 代码如下:session_start();if (!isset ($_SESSION['login_ok'])){ echo "alert ('要访问的页面需要先登录。');";_SESSION['userurl']= _SERVER['REQUEST_URI']...

php怎样实现跳转到原来或之前的页面
而且登录后就会自动返回登录前的页面,比如,从index.php点登录的链接,就跳到了登录的页面 login.php,提交到check.php文件,检查数据是否正确,然后check.php调用header(‘location: url’)跳转到指定的页面。最直接的办法就是直接指定url要返回的路径,这确实是最简单的,却不一定可取,因为它不够自动...

PHP 返回登录前页面 代码如何写?
就是注册成功后返回来源地址 在注册页面的第一页,记录来源地址入一个变量 gourl = $_SERVER['HTTP_REFERER'];然后不管你注册流程需要有多少页,反正每跳到另一页,都将 $gourl 这个参数传过去 好了,到所有注册完成,再调用 header("location=".$gourl); 就可以了 ...

php如何实现登陆后返回原页面
这种思路具体是这样的:在跳转到登录页面前要将访客访问的页面的url作为参数传递过去,登录验证后,授予访问权限之后跳转到该url指定的页面。比如登录前的url为:openphp.html 当访客访问时,点击无权限,跳转到登录页面的地址就为login.php?url=openphp.html,这样在登录时就可以用GET方式获取该参数 openp...

求php实现登录成功后返回首页并在原登录处显示用户名的源代码(类似于铁...
phpsession_start(); \/\/用SESSION记录模式,并开启。\/\/用户登录信息,并记录if(@$_POST['GoLog']){ $_SESSION['user'] = @$_POST['login'];}\/\/主页的检查用户登录与否,并显示欢迎信息if(@$_SESSION['user'] == ''){ echo "目前没有登录";}else{ echo $_SESSION['user']."...

php 在网页登陆成功后怎么实现网页跳转,由login跳转到index
需要准备的材料分别是:电脑、php编辑器、浏览器。1、首先,打开php编辑器,新建php文件,例如:index.php。2、在index.php中,输入代码:header('Location: index.php');。3、浏览器运行login.php页面,此时会跳转到index.php页面。

实现php页面自动跳转的方法有哪些
实现php页面自动跳转主要有三种方法:使用Header函数,使用HTML固有标记,输出javascript代码。第一种方法是使用PHP的Header函数。Header函数用于向浏览器发送HTTP协议的控制指令,包括页面的类型、属性等。通过调用Header函数,可以实现php页面自动跳转到指定的页面。第二种方法是利用HTML标记中的REFRESH属性。在...

成功登录后跳转的代码
<?php username=$_POST['username'];password=$_POST['password'];if(get_password($username)==$password){ \/\/从数据库中获取该用户的密码 \/\/验证成功 echo “登陆成功”;header("location:index.php");} else{ \/\/登陆失败 echo “用户名或者密码错误!";} ...

php 中如何实现跳转到一个新的页面
header函数是php内置函数中的HTTP相关函数之一,该函数送出HTTP协议标头到浏览器。使用它可以重定向URL,即令页面转向其他指定的网页。以下例子,执行后将自动打开www.baidu.com:header("Location: http:\/\/www.baidu.com");必须注意,header函数只能用在页面代码中的标签之前,亦即,HTTP首部尚未有其他任何...

php中,执行登录后如何自动跳转到指定页面
mysql_free_result($res);if ($username==$_POST['username'] && $password==$_POST['password']){ echo "登录成功";\/\/header("location:sy-1.php");echo "window.location.herf='sy-1.php';";\/\/在这里添加 ob_end_flush();}else{ echo "登录失败";} } ?> ...

相似回答
大家正在搜