对不起,这是一个noob问题,但是......
我正在创建一个登录页面,我很难让登录页面将我发回到提示登录重定向的网页...
上一页是否可以通过POST变量存储并在下一页(login.php)上访问?...我在保留该网页网址时遇到问题...如果有人能告诉我如何解释为什么会这样做太棒了!
如果我能看到如何将变量存储到帖子中,那么可以在下一页查看它们以解决我的所有问题
原始网页:
<?php
//how do I post current url so it can be accessed on login
require_once('./../User_Auth/includes/authenticate.php');
?>
登录网页:
`header("Location:");`
答案 0 :(得分:1)
我从您的问题中了解到,您在页面上某一点会将您重定向到登录页面,登录后您会回到上一页,对吗?
如果是这样的话:
从php $ _SERVER var中,您可以获得此信息。
练习示例:
file loginpage.php
<?php
//at the beginning you place the code that catch the POST data if a login request was sent
if(!empty($_POST["username"]) && !empty($_POST["password"])){
//HERE DO LOGIN TRY
if(LOGIN_SUCCESSFULL){
$page = $_SERVER["HTTP_REFERER"]; //this contain the previous page
header("Location: $page");
}
else{
// show an error
}
}
else{
//if you arrive at this point of the code, this means that the we are visiting login page, so we have to rendere the page
require_once 'login_page_body_with_login_form.php'
}
当然还有更高级和更安全的技术,但这应该给出答案和如何将事物组合在一起的想法。
答案 1 :(得分:0)
在着陆页上使用此代码重定向到登录页面,将着陆页网址作为$ _GET变量传递。
if ( USER_NEEDS_TO_LOGIN ) {
$login = "/path/to/login/page";
$login = $login . '?tgturl=' . $_SERVER[ "REQUEST_URI" ];
header("Location: $login");
}
答案 2 :(得分:0)
使用会话将数据传递到下一页!
<?php session_start(); ?> // session starts with the help of this function
<?php
if(isset($_SESSION['use'])) // Checking whether the session is already there or not if
// true then header redirect it to the home page directly
{
header("Location:home.php");
}
if(isset($_POST['login'])) // it checks whether the user clicked login button or not
{
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "Ank" && $pass == "1234") // username is set to "Ank" and Password
{ // is 1234 by default
$_SESSION['use']=$user;
echo '<script type="text/javascript"> window.open("home.php","_self");</script>'; // On Successful Login redirects to home.php
}
else
{
echo "invalid UserName or Password";
}
}
?>
答案 3 :(得分:0)
您可以将之前的页面值从当前页面传递给authenticate.php。
<?php
$previousPage = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
//how do I post current url so it can be accessed on login
require_once('./../User_Auth/includes/authenticate.php');
?>
然后,您可以访问authenticate.php中的$previousPage
。