如何在获取请求中设置随机用户ID

时间:2019-09-17 22:24:34

标签: php get

电子商务网站。在每个产品中,都有一个查看产品和上载该产品的卖方的选项,以获取我设置了获取请求的用户和产品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 

谢谢

1 个答案:

答案 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预处理语句,以获取有关如何减少此类用户数据风险的更多信息。