php登录成功跳转页面时,怎样实现跳转页面

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 6943|回复: 11
求助:asp登陆成功后,如何跳转回登陆前的页面?
UID545100在线时间 小时积分66帖子离线17471 天注册时间
初级会员, 积分 66, 距离下一级还需 134 积分
请问通常用什么方法实现?是否是点击登陆时获取当前url地址,然后再传到登陆页,登陆成功后在跳转回来。我觉着这样做太麻烦,有没有什么方法可以在页面跳转之后获取跳转之前的url地址,然后登陆成功后在跳转回去。
先对大侠们致谢。请指点一二。
UID455361在线时间 小时积分557帖子离线17471 天注册时间
高级会员, 积分 557, 距离下一级还需 443 积分
window.history.go(-1)
UID545100在线时间 小时积分66帖子离线17471 天注册时间
初级会员, 积分 66, 距离下一级还需 134 积分
回复 2# jessic
没用我试过,这样跳转之后会变成登陆之前的状态,就是跟没登陆一样。
UID185415在线时间 小时积分39帖子离线17471 天注册时间
新手上路, 积分 39, 距离下一级还需 11 积分
一般情况下都是这么做的
当前页面检查到用户未登录,会有一个登录的链接.这个链接地址可能就是 login.asp?url=list.asp& & 这样 当你login.asp登录成功后就直接跳转到list.asp即可
UID545100在线时间 小时积分66帖子离线17471 天注册时间
初级会员, 积分 66, 距离下一级还需 134 积分
我是要登录之后跳转到登录前浏览的页面的,类似于本论坛登录后跳转的效果。有人没,帮帮我呗。
UID410430在线时间 小时积分3413帖子离线17471 天注册时间
金牌会员, 积分 3413, 距离下一级还需 1587 积分
window.location.href='index.asp'
UID545100在线时间 小时积分66帖子离线17471 天注册时间
初级会员, 积分 66, 距离下一级还需 134 积分
回复 6# ylw1230
我是要跳转到登录浏览之前的页面,不是指定页面。
UID545100在线时间 小时积分66帖子离线17471 天注册时间
初级会员, 积分 66, 距离下一级还需 134 积分
回复 4# snria
已经解决谢谢
UID323769在线时间 小时积分155帖子离线17471 天注册时间
初级会员, 积分 155, 距离下一级还需 45 积分
session存储当前URL成功后返回
UID548804在线时间 小时积分276帖子离线17471 天注册时间
中级会员, 积分 276, 距离下一级还需 224 积分
能有多麻烦呢,
暂存下返回地址,登陆成功后返回就是了,大家都是这么处理的.
UID548270在线时间 小时积分60帖子离线17471 天注册时间
初级会员, 积分 60, 距离下一级还需 140 积分
[楼主] 的帖子
Response.Redirect&url地址&
Response.End()
这个可以不?
UID332953在线时间 小时积分403帖子离线17471 天注册时间
中级会员, 积分 403, 距离下一级还需 97 积分
登陆页面有这样的代码:
&input type=&hidden& value=&index.php& name=&referer&&
value的值可以通过asp的
request.ServerVariables(&http_referer&)
Powered by其他回答(2)
有两种方式:
1.通过登录页提交表单到后端php处理,跳转到相应的页面;
2.前端通过ajax请求,php返回json/xml数据,在前端页面跳转。
园豆:5373
header或者href跳咯...记得保存用户登录状态信息.
&&&您需要以后才能回答,未注册用户请先。如何实现从一个网站跳转到另一个网站自动登录 - ITeye问答
需求是这样的,第一个网站有个链接,点击链接去第二个网站,同时带上用户名和密码然后能自动登录,两个网站建相同的用户名和密码怎么实现
问题补充:不用单点登录
最关键的问题就是你能否对第二个网站有操作权限。如果没有的话只能模拟登录过程
用iframe 啊,隐藏的。
1,首先确认这两个网站的后台代码你有权限进行操作或者有权限获得API的设计;
2,可以对两个网站通过WEBSERVICE进行数据交互,即用户在A网站上注册,则将该网站用户注册的信息通过WEBSERVICE发给B网站,并进行存储;
3,在A网站点击链接时,直接请求B网站后台Servlet(RESTFUL框架可以考虑),直接登录并跳转到指定的页面;
以上仅仅是个大体的思路,具体还要看实际操作。
单点登录,可以看看呢yale大学的cas,不过这种就不是带用户名和密码了
单点登录,如果涉及跨顶级域名的话需要跨域取cookie
已解决问题
未解决问题用户登陆后,如何跳转到之前浏览的页面的实现
这里用了一个简单的方法,就是通过session保存,从request域中获取到的路径,之后在登录方法中进行判断即可。
这里以商品浏览中,想要对商品进行评价,登录后返回到原商品页面。
当进入到这个商品详情页的时候,通过httpServlet获取到这个页面的路径,然后保存到session中:
//记录当前的URL,目的是实现在详情页登录后,还调回到这里
//获取HttpServletRequest对象
HttpServletRequest request =
ServletActionContext.getRequest();
//获得此请求的地址,请求地址包含application name,进行subStrig操作,去除application
String path =request.getRequestURI().substring(7);
//获取请求中的参数
String queryString =request.getQueryString();
//防止空指针
if(queryString ==null){
queryString ="";
//拼凑得到登录之前的地址
String realPath =path+"?"+queryS
System.out.println("HistoryInterceptor中显示登录前的实际地址为:"+realPath);
//存入到session中,登录时调用
ServletActionContext.getRequest().getSession()
& .setAttribute("prePage", realPath);
这就实现了将获取到的路径存入session中,
在点击登录页面后,在登录方法中:
& //登录成功
//将用户的信息存入到session中
ServletActionContext.getRequest().getSession()
& &.setAttribute("existUser",
existUser);
//登录前拿到过滤器中存入的登录页前的那个存入session中的URL
String prePage = (String)
ActionContext.getContext().getSession().get("prePage");
System.out.println("登录界面,拿到那个URL:"+prePage);
//没有这个链接,证明是直接登录
if(prePage ==null){
//说明就是直接登录的,或者从首页点击的登录
return "loginsuccess";
//证明从其他页面来到登录页面,如商品详情页
System.out.println("这个路径值不为扛,且输出为:"+prePage);
& &//那么返回值就是返回到原来的页面
return "success";
struts.xml中的写法为:
ok,这就简单实现了登录后返回原来的页面的效果,比较好理解。另外还可以通过过滤器来实现对登录前的URL获取存储。就不用每个用到的页面都写代码了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。
解决思路1:
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。
具体实现方法:
在提示用户登录的同时,在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&';
session_start();
//此处省略了账号密码验证代码,验证OK再执行下面代码
if (isset ($_SESSION['userurl']))
//会话中有要跳转的页面
$url = $_SESSION['userurl'];
//没有要跳转的页面,则转到首页
$url = "home.php";
//0.5s后跳转
echo "&meta http-equiv="refresh" content="0.5;url=$url"&";
解决思路2:
除了存成cookie的形式,相信大家也看到了很多大型网站直接采用GET的形式获得,DZ的登陆机制就是这样。
这种思路具体是这样的:
在跳转到登录页面前要将访客访问的页面的url作为参数传递过去,登录验证后,授予访问权限之后跳转到该url指定的页面。
比如登录前的url为:/member/authpage.html 当访客访问时,点击无权限,跳转到登录页面的地址就为login.php?redirect_url=/member/authpage.html,这样在登录时就可以用GET方式获取该参数 /member/authpage.html,登录验证成功后跳转到authpage.html 这个页面就可以了。

我要回帖

更多关于 ajax登录成功跳转页面 的文章

 

随机推荐