use*_*560 10 php post properties
HTML示例:
<form method="post" id="form" action="form_action.php">
<input name="email" type="text" />
</form>
Run Code Online (Sandbox Code Playgroud)
用户填写输入字段:dfg@dfg.com
echo $_POST['email']; //output: dfg@dfg.com
Run Code Online (Sandbox Code Playgroud)
表单中每个输入的名称和值将发送到服务器.有没有办法获得名称属性?所以像..
echo $_POST['email'].name; //output: email
Run Code Online (Sandbox Code Playgroud)
编辑:澄清对我的问题的一些困惑;
我们的想法是使用交换机动态验证每个输入.我使用一个单独的验证类来保持一切清洁.这是我最终结果的一个简短示例:
//Main php page
if (is_validForm()) {
//All input is valid, do something..
}
//Separate validation class
function is_validForm () {
foreach ($_POST as $name => $value) {
if (!is_validInput($name, $value)) return false;
}
return true;
}
function is_validInput($name, $value) {
if (!$this->is_input($value)) return false;
switch($name) {
case email: return $this->is_email($value);
break;
case password: return $this->is_password($value);
break;
//and all other inputs
}
}
Run Code Online (Sandbox Code Playgroud)
感谢raina77ow和其他人!
rai*_*7ow 19
您可以在foreach循环中处理$ _POST 以获取名称及其值,如下所示:
foreach ($_POST as $name => $value) {
echo $name; // email, for example
echo $value; // the same as echo $_POST['email'], in this case
}
Run Code Online (Sandbox Code Playgroud)
但是你无法从$_POST['email']值中获取属性的名称- 它是一个简单的字符串,并且它不存储它的"原点".