使用url rewrite隐藏URL中的PHP变量

时间:2013-12-21 00:42:40

标签: php variables url-rewriting get

我正在开发一个必须处理预订号码的网站,我需要将变量传递给确认页面。目前,当您到达confirmation.php时,网址如下所示:

http://localhost/confirmation.php?reservation_id=1&proceed=no

这些变量通过索引页面的链接发送到此页面。我需要一种方法来加密$reservation_id或重写我的URL,使它看起来像这样

http://localhost/confirmation.php

...但仍然可以访问我的变量。我已经尝试了会话和一些加密方法,但无法找到任何不会使页面复杂化的东西,因为我试图尽可能简单。带有隐藏字段的表单不是一个选项,我正在使用数据库中的循环打印链接中的所有预留。

谢谢!

2 个答案:

答案 0 :(得分:1)

使用会话变量。创建随机会话变量名称,并为其分配预留信息:

foreach ($reservations as $r) {
    $random = make_random_string(); // You need to write this function
    $_SESSION[$random] = $r;
    echo "<a href='reservation.php?id=$random'>...</a>";
}

然后reservation.php可以查找$_SESSION[$_GET['id']]以获取预订信息。

答案 1 :(得分:0)

听起来你需要启动一个会话并在那里传递数据。或者,您可以改为发布数据(使用表单)。但会议可能是更好的选择。