电子商务网站。在每个产品中,都有一个查看产品和上载该产品的卖方的选项,以获取我设置了获取请求的用户和产品ID,但是问题是用户ID显示在url中,并且如果我设置了用户id为唯一或兰特,然后查看产品页面没有获取id,因为获取id是随机的,例如9827340741ghruwgh和$ _GET ['user_id'] = 5
while ($row = fetch($connect)) { THIS IS MAIN PRODUCT PAGE
$seller_id = $row['seller_id'];
echo "<a href='view_seller.php?us_id={$product_id}'>View</a>";
}
$query = "SELECT * FROM user_seller WHERE seller_id = '".$_GET['us_id']."' LIMIT 1"; /// THIS IS VIEW_SELLER PAGE
谢谢
答案 0 :(得分:0)
只需对代码稍作更改就可以解决您的问题,而不是使用链接,而可以使用表单和按钮。然后,您可以在后台过帐数据及其传递。
还有另一个选择,因为这是一个电子商务平台,所以它几乎没有影响,因为您已经要使用会话,即将数据存储到php会话中。
但是,在这个阶段,我觉得这可能超出了您的能力范围,而不是我以任何方式使您失望或贬低您。所以,我的答案是使用表格并将其发布。
<form action="some_page" method="post">
<button type="submit" name="unique_name" value="<?php echo $id_here; ?>" class="btn-link">Go</button>
</form>
// inside the code access it as follows: $_POST['unique_name'];
一项工作或注意事项,您实际上必须确保从form / url参数或任何用户输入中收到的正是您所期望的。 IE,您需要验证并可能清理您的用户信息。如果您始终记得所有用户提供的数据都是极高的风险,那么您就不会出错。
请勿这样做:
SELECT something FROM somewhere WHERE something="$_GET['something']"
该select语句直接使用$ _GET,而使用预处理语句,如果不确定,请查看PDO或myqli预处理语句,以获取有关如何减少此类用户数据风险的更多信息。