我使用jquery库添加动态表单元素来提交数据(插入到MYSQL数据库中)。 JavaScript部分如下: -
<div>
<form method="get" action="testb1.php">
<div id="itemRows">
Item quantity: <input type="text" name="qty[]" size="4" /> Item name: <input type="text" name="name[]" /> <input onclick="addRow(this.form);" type="button" value="Add row" />
</div>
<input type="submit" />
</form>
</div>
<script>
var rowNum = 0;
function addRow(frm) {
rowNum ++;
var row = '<p id="rowNum'+rowNum+'">Item quantity: <input type="text" name="qty[]" size="4" > Item name: <input type="text" name="name[]"> <input type="button" value="Remove" onclick="removeRow('+rowNum+');"></p>';
jQuery('#itemRows').append(row);
frm.add_qty.value = '';
frm.add_name.value = '';
}
function removeRow(rnum) {
jQuery('#rowNum'+rnum).remove();
}
</script>
And the PHP part to test the submitted data:-
<?php
$no = count($_GET['qty']);
for ($i=0; $i <$no ; $i++) {
echo $_GET['qty'][$i]."<br>";
echo $_GET['name'][$i]."<br>";
}
?>
这部分可以。提交的数据按预期显示。 但是,如果我想过滤提交的数据,如下所示我得到一个元素(第一个): -
$gcode = filter_var($_GET['qty'],FILTER_SANITIZE_STRING);
$no = count($gcode);
似乎是阵列问题。
我怎样才能过滤提交的字符串。
我应该分别过滤每个$_GET['qty'][$i]
吗?
答案 0 :(得分:0)
如果要过滤数组的变量,则必须使用filter_var_array()。
在你的情况下是这样的:
$gcode = filter_var_array($_GET['qty'],FILTER_SANITIZE_STRING);