php实现登录页面跳转页面,PHP登陆后跳转到登陆前页面实现思路及代码

我自己写了一个方法 如下

$_SERVER['HTTP_REFERER']

可以查看上个页面传递过来的参数

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);

}

}

?>

在登录的表单上多提交一个参数

登 录

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;

}