我自己写了一个方法 如下
$_SERVER[\'HTTP_REFERER\']
可以查看上个页面传递过来的参数
<?php
header(\'content-type:text/html;charset=utf-8\');
include_once \'./lib/fun.php\';
judgeVx();
if (checkLogin()) {
msg(1, \'您已登录\', \'index.php\');
}
//表单进行了提交处理
$gourl = \'index.php\';
if (empty($_POST[\'username\']) && strstr($_SERVER[\'HTTP_REFERER\'], $_SERVER[\'HTTP_HOST\'])) {
$gourl = str_replace(getProtocol() . $_SERVER[\'HTTP_HOST\'], \"\", $_SERVER[\'HTTP_REFERER\']);
}
if (!empty($_POST[\'username\']) && !empty($_POST[\'password\'])) {
$username = $_POST[\'username\'];
$password = $_POST[\'password\'];
$res = login($username, $password);
if ($res == \"登录成功\") {
// 如果传递过来的域名 包含我们的域名 那么就替换掉 并且跳转
header(\"Location:\" . $_POST[\'gourl\']);
} else {
msg(2, $res);
}
}
?>
在登录的表单上多提交一个参数
<input type=\"hidden\" name=\"gourl\" value=\"<?php echo $gourl ?>\">
<button style=\"submit\" class=\"login_btn\">登 录</button>
function getProtocol()
{
//主动判断是否HTTPS
if (is_https()) {
return \"https://\";
} else {
return \"http://\";
}
}
function is_https()
{
if (!empty($_SERVER[\'HTTPS\']) && strtolower($_SERVER[\'HTTPS\']) !== \'off\') {
return true;
} elseif (isset($_SERVER[\'HTTP_X_FORWARDED_PROTO\']) && $_SERVER[\'HTTP_X_FORWARDED_PROTO\'] === \'https\') {
return true;
} elseif (!empty($_SERVER[\'HTTP_FRONT_END_HTTPS\']) && strtolower($_SERVER[\'HTTP_FRONT_END_HTTPS\']) !== \'off\') {
return true;
}
return false;
}
继续阅读与本文标签相同的文章
上一篇 :
数据库实验报告六--通过嵌入式SQL访问数据库
下一篇 :
未来国际大科学论坛:沈南鹏谈科学领域当前两大特征
-
Edge逐步融入Fluent Design元素:新版颜色筛选器控件上线
2026-05-18栏目: 教程
-
阿里云服务器突发性能实例t5配置性能使用场景及注意事项
2026-05-18栏目: 教程
-
Square为澳大利亚餐馆提供定制平台!
2026-05-18栏目: 教程
-
711便利店:日本计划关店1000家,母公司将裁员3000人
2026-05-18栏目: 教程
-
阿里云服务器共享型实例xn4 n4 性价比高适合个人博客 中小型网站
2026-05-18栏目: 教程
