thinkphp怎么通过get方式传递一个网址

一个完整的网址用get方式传递以后会被thinkphp的url解析拆成乱七八糟的了为了登录之后返回登录前的那个页面我把那个页面的完整URL通过forward=网址的方式传... 一个完整的网址 用get方式传递以后会被thinkphp的url解析拆成乱七八糟的了 为了登录之后返回登录前的那个页面 我把那个页面的完整URL 通过forward= 网址 的方式传过去了 但是会被截乱 我帮网址用urlencode都不行 他还是会截 展开
 我来答
百度网友a19d193
2013-07-29 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1449万
展开全部
你可以试试通过解析get原文来获取这个地址,如$url = $_SERVER['REQUEST_URI'],然后手动截取。
另外,”为了登录之后返回登录前的那个页面”这个一般也不是这么搞。你的页面肯定会进行登录检测,当登录检测失败的时候可以将当前页面的 $_SERVER['REQUEST_URI'] 保存到session(例如$_SESSION['last_request'])中,然后登录成功后检查session中是否指定的要跳转的url,如果有就跳转到该地址并清空url信息,否则转向默认地址。以下是例子

any.php
if(empty($_SESSION['login'])) {
$_SESSION['last_request'] = $_SERVER['REQUEST_URI'];

header('Location: login.php');exit;

}
login.php
if (checkLogin($user, $password)) {
if (! empty($_SESSION['last_request'])) {
$url = $_SESSION['last_request'];
$_SESSION['last_request'] = false;
} else {
$url = '/';

}

header("Location: {$url}");exit;

}
zhuimengren361
2015-09-21 · 知道合伙人软件行家
zhuimengren361
知道合伙人软件行家
采纳数:96 获赞数:188
毕业于湖南大学计算机专业,从事6年的开发和技术管理经验,现任上海开亨信息科技公司技术总监

向TA提问 私信TA
展开全部
把网址用urlencode()再传值,接收的时候的把地址 urldecode()一下就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0468555
2013-07-29 · TA获得超过2617个赞
知道答主
回答量:963
采纳率:0%
帮助的人:177万
展开全部
不管是php还是tinkphp中如果传递的内容中包含有&这个特殊符号的话,都会造成解析的错误,所以如果你要传递的网址中含有&这个符号的话,那么你可以换种思路,使用cookie或者session来传递,只要能达到传递的目的就好了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caiaolin
2013-07-29 · TA获得超过664个赞
知道小有建树答主
回答量:621
采纳率:0%
帮助的人:460万
展开全部
可以用base64_encode试试···
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式