网站涉及权限问题,没有登录或者登录过期需要重新登录时服务器会302重定向到登录页面,但是有登录以后回到原页面的需求
服务器在重定向时带上参数,参数的值就是当前页面的路径,因为可能当前路径有参数,所以要对路径进行URL编码
/*PHP代码*/
if(登录失效){
//将路径+?+参数进行URL编码以后作为登录页的参数url的值
header("Location: /login.php?url=".urlencode($_SERVER['PHP_SELF']."?".$_SERVER["QUERY_STRING"]) );
}
登录页提取参数,然后URL解码,登录验证成功以后对应跳转
/*JS代码*/
/**
* 获取url中的参数值
*
* @param queryName 要获取的参数名
* @returns {string|null} 返回对应的参数值 没有找到返回null
* @constructor
*/
function GetQueryValue(queryName) {
//这里函数名的首字母G不能小写,小写就找不到方法,目前不知道为什么,知道的欢迎指教
var query = decodeURI(window.location.search.substring(1));
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == queryName) {
return pair[1];
}
}
return null;
}
/*中间代码省略*/
if(登录验证成功){
let url= GetQueryValue("url"); //链接里的tourl参数
if (url != null) {
//参数有值,跳转到原网页
location.replace(decodeURIComponent(url));
} else {
//参数没值,跳转首页
location.replace("admin/index.php");
}
}
继续C++11的std::thread之旅!下面讨论如何给线程传递参数 这个例子是传递一个string#include <iostream>#include <thread>#include <string>void thread_function(std::string s){ std::cout << "thread function "; std::cout << "m
php安装phalcon扩展的步骤发布时间:2020-06-19 16:42:53来源:亿速云阅读:103作者:元一Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来,可以直接使用。 Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。Phalcon是一套实...
之前我们已经对ASM进行的详细的介绍,需要的朋友们可以点击这里:java字节码框架ASM的深入学习JVM的类型签名对照表Type SignatureJava TypeZbooleanBbyteCcharSshortIintJlongFfloatDdoubleLfully-qualified-class ;fully-qualified-class[ typetype[]( arg-types ) ...
1 cmake中要特别注意命令和变量的大小写2 cmake的内置命令是不区分大小写的3 cmake内置变量是区分大小写的,或者干脆就说,cmake的所有变量都是区分大小写的这就是变量和命令的不同。转载于:https://www.cnblogs.com/hustdc/p/6760400.html...
【背景】在Android studio中引用第三方库(banner,下载地址:https://github.com/youth5201314/banner)的时候,报这个错。Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.【分析】这是因为该项目的原作者会把项目发布到maven中央仓库中,所以在gr...
顾名思义,这是一个用于处理导入和导出数据的库。django-import-export库支持多种格式,包括xls、csv、json、yaml以及tablib支持的所有其他格式。它还有一个Django管理集成,使用起来非常方便。安装插件使用PIP安装pipinstalldjango-import-export更新settings.py:INSTALLED_AP...
Java学习大纲(持续更新):https://blog.csdn.net/weixin_39778570/article/details/94667501更多IT学习资源:https://blog.csdn.net/weixin_39778570/article/details/100052454Excel文件导入从前端传递excel文件到后端,通过ajax这里使用的是lay-ui的控件...
Pandas 基础和示例
C语言诞生于1970~1973年,在肯·汤普逊和丹尼斯·里奇的编写下完成,归属于美国贝尔实验室。C语言是专门用于编写操作系统而发明的编程语言,所以天生适合对硬件编程,也以运行速度快而著称,也非常适合实现数据结构和算法.本文Linux系统命令与vim文本编辑器做了有关介绍。......
公式为:=TEXT((A2/1000+8*3600)/86400+70*365+19,"yyyy-mm-dd hh:mm:ss")具体操作如下:(A2/1000+8*3600)/86400+70*365+19yyyy-mm-dd hh:mm:ss
python获取进程pidHow to get the running process’ pid in Python? 如何在Python中获取正在运行的进程的pid? In Python, you can get the pid of the current process by 在Python中 ,您可以通过获取当前进程的pid import osos.getpid()From the...
128/0/0 深红255/0/0红255/0/255粉红255/153/204玫瑰红153/51/0褐色255/102/0桔黄255/153/0浅桔黄...