我想隐藏url中的获取变量
我想要这个
"dem/?p=user"
而不是我通过的任何东西
dem/?p=user&act=stored
dem/?p=user&act=changed
dem/?p=user&act=deleted
伙伴们请帮帮我。提前感谢。
如果要隐藏GET变量或值,则不应使用GET。在GET方法中,数据将始终作为URL的一部分发送。如果要对用户"隐藏"数据(或不在URL中显示数据),则应使用POST方法。
您可以使用以下任何一种:
- 使用 POST 方法代替 GET
- 使用 Ajax,带有 POST 或 GET 方法
- 如果您真的希望发送安全的方式,请使用加密和解密,即 dem/?p=ENCRYPTED_STRING。在这里ENCRYPTED_STRING将拥有所有GET数据
显然,
由于您没有花时间告诉我们您的页面结构如何以及如何存储您的值,我只能猜测。
服务器端
如果将数据存储在重定向后页面上,则可以将其存储在$_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'];
}
修改.htaccess文件,使短URL看起来像你想要