所有提交的字段都在$ _POST数组中可用。因此,我们可以遍历这个数组,以检查是否必填字段的值存在或not.The代码如下:PHP表单验证 - foreach
<?php
$post = $_POST;
if(count($post) > 0) {
foreach($post as $key => $value) {
if(empty($post[$key])) {
$message = $key . " is required!";
break;
}
}
}
?>
我想这个动作:
例如,当用户名字段为空消息打印输入1是必需的! input1与用户名字段的名称相同。
我想回声用户名是必需的,但不更改用户名字段的名称。
例如,类似下面的代码,但不起作用,我不知道在哪里以及如何!下面的代码
if($key == 'input1'){
$key = 'username';
}
else
if($key == 'input2'){
$key = 'password';
}
形式和投入要素:
<html>
<head>
<style>
.tableheader {
background-color: #CCC;
color:white;
font-weight:bold;
}
.tablerow {
background-color: #f9f9f9;
color: #333;
}
.message {
color: #FF0000;
font-weight: bold;
text-align: center;
width: 100%;
padding: 10;
}
</style>
</head>
<body dir="rtl">
<div align="center" class="message"><?php if(isset($message)) echo $message; ?></div>
<form name="registrationform" method="post" action="" style="direction: ltr">
<table border="0" cellpadding="10" cellspacing="1" width="500" align="center">
<tr class="tableheader">
<td align="center" colspan="2">Registration Form</td>
</tr>
<tr class="tablerow">
<td align="right">Username</td>
<td><input type="text" name="input1" value="<?php if(isset($_POST['input1'])) echo $_POST['input1']; ?>"></td>
</tr>
<tr class="tablerow">
<td align="right">Password</td>
<td><input type="password" name="input2" value="<?php if(isset($_POST['input2'])) echo $_POST['input2']; ?>"></td>
</tr>
<tr class="tableheader">
<td align="center" colspan="2"><input type="submit" name="submit" value="Submit"></td>
</tr>
</table>
</form>
</body></html>
我似乎不明白你问什么。你能更清楚一点吗? – NaijaProgrammer
@NaijaProgrammer 例如,当用户名字段为空时,打印的消息是input1是必需的! input1与用户名字段的名称相同。 我想回声用户名是必需的,但不更改用户名字段的名称。 – Mohammad
您必须使用'switch'语句或找到一种方法来映射要显示的实际名称,例如username到表单名称,例如input1 – NaijaProgrammer