如您所见,我有一个简单的注册表单和一个用于验证某些字段的 PHP 脚本。这里的想法是,如果您有 20 多个字段,并且您至少需要用户填写 .. username、lastname 和 age,那么您可以将其存储在一个数组中,就像我在下面所做的那样。
$needed = array("username", "lastname", "age");
因此,正如您在代码中看到的那样,我执行了一个for
循环来检查其中一个是否已填充,现在代码大部分都可以正常工作。例如:如果你不填写三个字段,它会说
您必须填写用户名才能继续
您必须填写姓氏才能继续
您必须填写年龄才能继续
但是,如果您填写字段并留下其他两个,或者填写两个然后留下一个,它只会回显'<p>Required fileds are filled</p>';
所以,这里的问题是,在脚本可以说之前所有字段都应该填写echo '<p>Required fileds are filled</p>';
<pre>
<form action='' method='POST'>
<input type='text' name='username' />
<input type='text' name='lastname' />
<input type='text' name='age' />
<input type='text' name='gender' />
<input type='text' name='country' />
<input type='submit' name='reqirester' />
</form>
<?php
$needed = array("username", "lastname", "age");
if($_POST):
$check = NULL;
for($i=0; $i < count($needed); $i++){
if($_POST[$needed[$i]] == ''){
echo '<p>You must fill '.$needed[$i].' to continue<p/>';
break;
}else {
echo '<p>Required fileds are filled</p>';
}
}
endif;