我正在创建一个带有目录、交易系统和自定义货币的网站(在 Laravel 中)。我已经完全完成了目录和自定义货币(至少到目前为止),这只是交易系统。我已经非常接近完成交易系统了,除了这一件事一直阻碍着我,尽管我认为这应该很简单。每个目录商品都有一个唯一的ID(在数据库中称为uid),交易系统根据唯一的商品id进行商品交易。我有它,如果您单击您想要或想要赠送的项目上的复选框,它会将您签入的所有 uid 发送到一个数组中(注意:我有 2 个单独的数组,一个用于提供项目,一个用于请求项目)。但我现在的方式是它根据表单输入获取每个 Item uid。由于我不希望用户能够编辑项目的唯一 ID,因此我需要一种在后端执行此操作的方法。我尝试过研究,但还没有走得太远。我对 Laravel 和整个网站制作有点陌生,所以我真的不知道如何继续下去。我想我必须使用 JavaScript,但我不知道如何使用 JavaScript 将信息发送到控制器。我也听说过编码然后解码值,但我也不知道如何做到这一点。HTML 代码(提供方):@foreach (Auth::user()->inventory()->paginate(9999) as $itemb) <form class="form-horizontal" method="POST" enctype="multipart/form-data" action="{{ route('trade.s', $user->id, [$itemb->uid]) }}"> {{ Form::token() }} <? $itembb = $itemb->item_id; $item = Item::whereid($itembb)->first(); $yoyo = $item->selling()->orderBy('price', 'asc')->first(); ?> @if ($item->limited == '1') @if ($item->rbp()->count() > 0) <div class="col-md-4" style="margin-top: 8px;display: inline-block;padding-left: 10px;"> <a> </div> </div> </div></a>非常感谢任何帮助!(抱歉,如果我的帖子很混乱,请告诉我是否需要添加更多代码示例。)
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
据我了解,您担心的是人们会修改该项目的 UUID 并尝试“出售”另一个没有的项目。如果是这种情况,您不应该处理表单本身,而应该处理后端的安全性。那是:
接收待售商品 UUID(或商品数组)
!重要的!检查每个项目的 UUID 是否属于该特定登录用户。
如果所有物品都属于该用户 a) 如果它们都属于该用户 -- 将它们存储在数据库中作为该用户的“销售”。b) 如果甚至有一件物品不属于用户 - 返回验证错误。他们不应该能够储存他们没有的待售物品。
根据我的阅读,您似乎跳过了步骤 2。在该步骤中检查从表单收到的 UUID。
将 html 表单更改为“不可更改”几乎是不可能的,因此请适应您的限制,而不是反对它们。:)
偶然的你
TA贡献1841条经验 获得超3个赞
您可以为每个保存 uid 的项目添加一个隐藏表单输入吗?例如
<input type="hidden" name="uid" id="uid" value="{{ $item->uid }}">
- 2 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消