thinkphp怎么通过get方式传递一个网址
一个完整的网址用get方式传递以后会被thinkphp的url解析拆成乱七八糟的了为了登录之后返回登录前的那个页面我把那个页面的完整URL通过forward=网址的方式传...
一个完整的网址 用get方式传递以后会被thinkphp的url解析拆成乱七八糟的了 为了登录之后返回登录前的那个页面 我把那个页面的完整URL 通过forward= 网址 的方式传过去了 但是会被截乱 我帮网址用urlencode都不行 他还是会截
展开
4个回答
展开全部
你可以试试通过解析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;
}
另外,”为了登录之后返回登录前的那个页面”这个一般也不是这么搞。你的页面肯定会进行登录检测,当登录检测失败的时候可以将当前页面的 $_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;
}
2015-09-21 · 知道合伙人软件行家
关注
展开全部
把网址用urlencode()再传值,接收的时候的把地址 urldecode()一下就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管是php还是tinkphp中如果传递的内容中包含有&这个特殊符号的话,都会造成解析的错误,所以如果你要传递的网址中含有&这个符号的话,那么你可以换种思路,使用cookie或者session来传递,只要能达到传递的目的就好了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用base64_encode试试···
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询