首先,对标题感到抱歉。
请有人帮我这个。我在下面有以下声明,我想让pid
为随机数字和字母,所以我使用了function id_encode($id)
http://www.testing/details.php?Sef=canda&ppid=1
我不希望ppid显示,以便用户无法猜测我的数据库中有多少产品。这就是我使用该功能的原因。
$stmt = $conn->prepare("
SELECT * FROM Product
");
$stmt->execute();
$i = 0;
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
$id = $row["ppid"]; //id
function id_encode($id) {
return base_convert((9999999999 - (float) $id) , 10 , 32 );
}
$qstr = http_build_query(array("Sef"=>$row["Sef"], "ProdID"=>$id));
我有一个带有指向另一页的链接的视图按钮
<a href="<?php fetchdir($apages) ?>product.php?<?= $qstr ?>">View item</a>
<?php
if (isset($_GET['Sef']) && isset($_GET['ppid'])) {
$id = $_GET["ppid"];
$id2 = $_GET['Sef'];
错误
我得到了Fatal error: Cannot redeclare id_encode() (previously declared in
。
我这样做的方式另一页是否可以获取此信息?因为如果我记得function
其他页面确实收到了该产品的信息。
请帮忙。
答案 0 :(得分:0)
你需要一个函数id_decode($ encoded_id)来反转你对编码函数中的数字做的任何事情。
因此,如果在编码中你做(N - id)然后base10到base32,在解码中你会再次执行base32到base10然后(N - id),因为(N - (N - id))= id。< / p>