隐藏在url中获取变量?

时间:2014-11-20 05:01:40

标签: javascript php jquery .htaccess

我想在url中隐藏get变量

我想要这个

"dem/?p=user"

而不是像我传递的那样

dem/?p=user&act=stored
dem/?p=user&act=changed
dem/?p=user&act=deleted

伙伴们请帮帮我。 提前谢谢。

4 个答案:

答案 0 :(得分:5)

如果您想要隐藏 GET 变量或值,则不应使用 GET 。在 GET 方法中,数据始终作为网址的一部分发送。如果您要从用户“隐藏”数据(或不在URL中显示),则应使用 POST 方法。

答案 1 :(得分:2)

显然,既然你没有花时间告诉我们你的页面结构是怎样的以及你如何存储你的价值观我只能猜测。

服务器端

如果您将数据存储在重定向后的页面上,则可以将其存储在$_SESSION

session_start();
if (isset($_SESSION['message']))
{
    $_SESSION['message'] = "succes";
}

然后在您的确认页面上

session_start();
echo $_SESSION['message'];

客户端

您可以创建隐藏的输入并将其添加到表单中,将表单设置为在表单操作页面上发布并处理这些$_POST值。

var x = document.createElement("INPUT");
x.setAttribute("type", "hidden");
x.setAttribute("name", "message");
form.appendChild(x);

然后在您的确认页面上

if (isset($_POST['message']))
{
    echo $_POST['message'];
}

答案 2 :(得分:1)

您可以使用以下任何一项:

  • 使用POST方法代替GET
  • 使用带有POST或GET方法的Ajax
  • 如果您真的希望发送安全的方式,请使用加密和解密,即 dem /?p = ENCRYPTED_STRING 。这里ENCRYPTED_STRING将包含所有GET数据

答案 3 :(得分:-1)

修改.htaccess文件,以便按照您希望的方式制作短网址