使用复选框在PHP表单上工作的第一个计时器 . 这些方法都在我的其他输入上工作,但我显然不明白如何处理数组 . 我想在刷新/提交时检查复选框,因此用户不必重新执行,我正在尝试验证所有表单值以防止注入 .
这是输入:
<div>
<p>
<input type="checkbox" name="project[]" id="project-type1" value="type1" <?php if ((isset($project)) && (in_array( 'type1', $project))) {echo 'checked="checked"';} ?>/>Type 1</p>
<p>
<input type="checkbox" name="project[]" id="project-type2" value="type2" <?php if ((isset($project)) && (in_array( "type2", $project))) {echo 'checked="checked"';} ?>/>Type 2</p>
<p>
<input type="checkbox" name="project[]" id="project-type3" value="type3" <?php if ((isset($project)) && (in_array( "type3", $project))) {echo 'checked="checked"';} ?>/>Type 3</p>
<p>
<div class="error" id="error-project">
<?php if (isset($err_project)) { echo $err_project; } ?>
<?php if (isset($err_project2)) { echo $err_project2; } ?>
</div>
</p>
</div>
在这里,我正在尝试修剪,消毒和回显复选框数据:
if (isset($_POST['project'])) {
$trimmed_project = array_map('trim', ($_POST['project']));
$project = filter_var($trimmed_project, FILTER_SANITIZE_STRING); }
在这里,我确认只允许提交字母,空格和逗号:
if ( !(preg_match('/^([A-Za-z\ \,]+)$/', $project)) ) : $err_project2 = "
<p>Project Type value is invalid.</p>"; endif;
有人能指点我正确的方向吗?
1 回答
您将无法使用PHP来保持页面重新加载时选中的复选框;但是,您可以使用jquery和cookie来解决这个问题 . 您可以使用下面的示例代码并根据您的需要使用它 . 有些浏览器不允许离线cookie,所以如果你正在测试这个离线使用IE,它应该工作 . 这样你就可以玩它并找出它最适合你的方式 .