Ticketa
Registered
PHP:
<?php
$errors = array();
if(isSet($_POST['submit'])) {
$arraya = array (
"required" => array (
"username" => 'Полето потребител е задължително',
"email" => 'Полето Мейл е задължително'
),
"sMinimum" => array (
"username" => 'Потребителското име трябва да е над Х символа'
),
"oCheckMeil" => array (
"email" => 'Въведи правилен мейл'
)
);
foreach ($_POST['data'] AS $field => $value) {
$temp = is_array($value) ? $value : trim($value);
if (empty($temp) && in_array(array($field), $arraya)) { //проверяваме за празни полета
array_push($errors, $field);
}
if ((strlen($temp) < 2) && in_array(array($field), $arraya)) { //проверяваме за минимум X символа
array_push($errors, $field);
}
}
#var_dump(in_multiarray($field, $arraya));
}
if(isset($errors)) {
echo "Грешки във формата:";
foreach ($errors as $key => $value) {
echo $key . $value;
}
}
?>
<form method="POST" action="">
Username: <input type="text" name="data[username]" />
<?php if (isset($errors) && in_array('username', $errors)) { ?>
<div class="red">Полето е задължително.</div>
<?php } ?>
<br />
E-mail: <input type="text" name="data[email]" />
<?php if (isset($errors) && in_array('email', $errors)) { ?>
<div class="red">Полето е задължително.</div>
<?php } ?>
<br />
<input type="submit" value="submit" name="submit" />
</form>
Искам да изкарам грешките, допуснати във формата, като "полето е задължително" да излиза само до INPUT , а останалите грешки над формата?