PHP:验证表单输入(添加到购物车)

时间:2015-08-13 12:45:16

标签: php forms validation

我的在线商店中的表单过去看起来像这样:

<form action="cart.php" method="post">
    <input type="hidden" name="article_number" value="12345">
    <input type="hidden" name="article_name" value="T-Shirt Summer 2015">
    <input type="hidden" name="price" value="19.00">
    <select name="size"><option>S<option>M<option>L</select>
    <select name="colour"><option>black<option>white</select>
    <input type="submit" value="Add to cart">
</form>

cart.php只是将数据放入会话中而没有任何验证。正如你所看到的,用表格作弊是很容易的(保存本地,将价格改为9.00,添加在现实中不存在的颜色等。

所以我的新想法是:

<form action="cart.php" method="post">
    <input type="hidden" name="article_number" value="12345">
    <select name="size"><option>S<option>M<option>L</select>
    <select name="colour"><option>black<option>white</select>
    <input type="submit" value="Add to cart">
</form>

我已删除了文章的名称和价格,以避免在此处进行操作。

接下来是什么?验证数据的最佳方法是什么?

  1. if(!empty($_POST['article_number']))
  2. 如果article_number有效,则检入数据库
  3. 获取所有可用颜色(在DB中的字段&#34;颜色&#34;喜欢&#34;黑色,白色,蓝色和#34;)
  4. if(in_array($_POST['colour'], explode(",",$row['colours'])))
  5. 获取所有可用尺寸(在DB中的字段&#34;尺寸&#34;喜欢&#34; S,M,L,XL,XXL和#34;)
  6. if(in_array($_POST['size'], explode(",",$row['sizes'])))
  7. 从DB
  8. 获取文章名称和文章价格
  9. 将数据写入会话(显示购物车)
  10. 我需要做更多验证吗? trim()?我正在使用PDO ......

    谢谢!

0 个答案:

没有答案