我的在线商店中的表单过去看起来像这样:
<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>
我已删除了文章的名称和价格,以避免在此处进行操作。
接下来是什么?验证数据的最佳方法是什么?
if(!empty($_POST['article_number']))
article_number
有效,则检入数据库if(in_array($_POST['colour'], explode(",",$row['colours'])))
if(in_array($_POST['size'], explode(",",$row['sizes'])))
我需要做更多验证吗? trim()
?我正在使用PDO ......
谢谢!