Я бы хотел просмотреть все элементы в представленной форме, назначить каждому элементу свою собственную переменную и затем проверить, требуются ли они.Если они требуются, они будут проверены, если они пусты.Пока что моя форма выглядит так:
<form id="newitem" action="addnew.php" method="POST">
<label for="title">Title: </label>
<input type="text" name="title" id="title" required="required" /><br />
<label for="description">Description: </label>
<textarea name="description" id="website" cols="40" rows="5" ></textarea><br />
<input type="hidden" name="formsubmit" value="true" /><!-- Option to know we've sumbited the form -->
<input type="submit" value="Submit" id="submit" />
</form>
Затем я проверил ее, используя следующее:
if (isset($_POST['formsubmit'])) {
// form has been submitted
$errors = Array();
foreach($_POST as $key => $value) {
$$key = $value;
if (!$value) {
array_push($errors, 'Please enter a value for ' . $key);
}
}
if (count($errors) == 0) {
echo 'Form validated';
} else {
showErrors($errors);
}
}
В настоящее время проверяется, имеют ли элементы значение.Однако я хотел бы проверить, является ли это поле обязательным, используя HTML required="required"
.
Кроме того, хотя я чувствую, что понимаю, как это работает, я не уверен в этом.Я думаю, что $$key = $value
в основном означает создание переменной со значением $key
и присвоение ей значения $value
.Итак, $key
- это имя элемента, а $value
- его значение.Тем не менее, я действительно не понимаю foreach($_POST as $key => $value) {
.Я знаю, что это циклы, хотя все $_POST
, но на самом деле не знаю больше, чем это.
Спасибо за любую помощь!