如何使用php重定向隐藏URL参数

时间:2014-10-30 14:02:23

标签: php html

我读过这篇文章:http://smallbusiness.chron.com/hiding-url-parameters-php-redirect-33163.html 这解释了如何,但我不明白你如何重新定向标题,就像他们在那里说的那样。

对于存储在会话中,这是我使用的代码

session_start();  
function input_val($key, $remember = true) {  //use input_val('nameofinputfield')as value to be able to store in session
    $value='';
    if(isset($_REQUEST[$key])) {
       $value = $_REQUEST[$key];
       //Store value in session if remember = true 
       if($remember) {
         $_SESSION[$key] = $value;
       }
       return $value;
    } else {
      //Return session data
      return isset($_SESSION[$key]) ? $_SESSION[$key] : $value;
    }
}

2 个答案:

答案 0 :(得分:0)

我会尽可能简单地解释它,这并不困难。 当用户与php进行会话时,他会在浏览器中存储一小段文本,这个文本就像一个用户ID,直到他关闭浏览器为止。 php脚本可以通过知道他的ID来告知和提取服务器中的信息,例如参数。这不是跨服务器功能,并且它不是持久性的,与cookie不同,会话的过期通常很短,并且当用户关闭浏览器时它们会过期。

此外,建议不要使用它来存储获取页码等信息,因为它无法重新引用。

答案 1 :(得分:0)

假设您要将script1.php中的用户名和电子邮件参数传递给script2.php。如果您使用POST方法,则URL中的参数将不会显示,您可以通过$_POST全局变量访问传递的变量。但是,如果您出于任何原因想要使用GET方法,或者您希望在$_SESSION中存储数据,则可以执行此操作。

您可以尝试在script2.php中使用它:

session_start();
if (count($_GET)) {
    foreach ($_GET as $key => $value) {
        $_SESSION[$key] = $value;
    }
    header("Location: " . $_SERVER["PHP_SELF"]);
}
//At here, you can access all of your parameters from $_SESSOION variable
var_dump($_SESSION);