解码php“uniqid”函数以呈现页面

时间:2013-07-30 18:38:34

标签: php unique decode

我想在我发送信息的页面中对unique进行编码,以便在其他页面中进行渲染。

在我的item.php页面中,我做了这个

$id = uniqid($row["ppid"]); //id
$sef = $row["Sef"]; //id

$qstr = http_build_query(array("Sef" => $sef, "ppid" => $id));
?>

<a href="<?php fetchdir($apages) ?>product.php?<?= $qstr ?>">View</a>

view.php page

if (isset($_GET['Sef']) && isset($_GET['ppid'])) {
    $id = $_GET["ppid"];
    $id2 = $_GET['Sef'];

页面无法呈现,因为ppid为uniqid。有没有办法可以在此页面中对其进行解码,以便此页面可以在不丢失uniqid代码的网址的情况下呈现信息?

感谢您的时间,评论和答案。

1 个答案:

答案 0 :(得分:0)

根据您之前的问题,您只是想让“原始”ppid不那么明显。你的“编码”步骤需要是可逆的,你需要一个“解码”步骤,让你回到原来的ppid。

目前,您的编码步骤不可逆,并且您没有解码步骤。

以下是编码步骤的可逆版本:

$id = uniqid($row["ppid"]);

以下是view.php的“解码”步骤,它反转了“编码”:

$id = substr($_GET["ppid"], 0, -13); // remove 13-character uniqid

这比使用原始ppid更安全,但确实使产品ID看起来更令人印象深刻。