我想知道它们是否是一种更改网址的方式,因此它最终不会显示产品id
。因为这样有人可以更改pid,如果该pid在数据库中,它可能会将它们引导到不同的页面。
<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo $row['pid']; ?>">View</a>
http://WWW.testexample.x10.mx/item/item.php?pid=2
答案 0 :(得分:0)
您可以执行以下任何操作:
1)点击href点击,然后从服务器端的$ _POST访问pid
2)对pid值执行base64或自定义加密(可以加1))
3)在业务方面处理手动pid更改 所以这对你来说不是问题,只要他们愿意就让他们这样做。
我会选择选项2)但这里是选项1)的例子
<html><body id="body"><script> function postData(val) {
var frm = document.createElement("form")
frm.action="/data.php";
frm.method="post";
var input=document.createElement("input")
input.name="pid";
input.value = val;
input.type = "hidden";
frm.appendChild(input);
var body= document.getElementById("body");
body.appendChild(frm);
frm.submit();
} </script><a href="javascript:void(0)" onclick="postData(<?php echo $pid; ?>)">View</a></body></html>
这是使用base64编码的选项2的示例:
<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo base64_encode($row['pid']); ?>">View</a>
然后在item.php中:
$pid=base64_decode($_GET['pid']);