<!DOCTYPE html>
<html>
<head>
<title>Работа с формами</title>
<style type="text/css">
.send, .error { margin-top: 15px; }
.send { border: 1px solid green; }
.error { border: 1px solid red; }
</style>
</head>
<body>
<form method="POST">
<div>
<p><strong>Тестовая форма</strong></p>
<p>Имя пользователя: <input type="text" name="user" value="<?= (isset($_POST['user'])) ? $_POST['user'] : ""; ?>"></p>
<p>Пароль: <input type="password" name="password" value="<?= (isset($_POST['password'])) ? $_POST['password'] : ""; ?>"></p>
<p>Повторите пароль: <input type="password" name="password2" value="<?= (isset($_POST['password2'])) ? $_POST['password2'] : ""; ?>"></p>
<p>Скрытое поле hidden<input type="hidden" name="hidden" value="SECRET!!!"></p>
<hr>
</div>
<div>
<p>Независимые переключатели (checkbox):</p>
<span><input type="checkbox" name="check1" value="one">Вариант первый</span>
<span><input type="checkbox" name="check2" value="two">Вариант второй</span>
<span><input type="checkbox" name="check3" value="three" checked>Вариант третий (по умолчанию)</span>
<hr>
</div>
<div>
<p>Зависимые переключатели (radio):</p>
<span><input type="radio" name="radio" value="Yes" checked>Да</span>
<span><input type="radio" name="radio" value="No">Нет</span>
<hr>
</div>
<div>
<p>Многострочное текстовое поле (textarea):</p>
<p><textarea rows="10" cols="60" name="text">Текст по-умолчанию</textarea></p>
<hr>
</div>
<div>
<p>Список с единственным выбором:</p>
<p>
<select name="day_s">
<option value="day1">Понедельник</option>
<option value="day2">Вторник</option>
<option value="day3" selected>Среда</option>
<option value="day4">Четверг</option>
<option value="day5">Пятница</option>
<option value="day6">Суббота</option>
<option value="day7">Всокресенье</option>
</select>
</p>
<p>Список с множественным выбором (multiple):</p>
<p>
<select name="day_m[]" multiple size="7">
<option value="day1" selected>Понедельник</option>
<option value="day2">Вторник</option>
<option value="day3">Среда</option>
<option value="day4">Четверг</option>
<option value="day5">Пятница</option>
<option value="day6">Суббота</option>
<option value="day7">Всокресенье</option>
</select>
</p>
<hr>
</div>
<div>
<span><input type="submit" name="send" value="Отослать форму"></span>
<span><input type="reset" name="reset" value="Очистить форму"></span>
</div>
<div class="error">
<?php
$bool = true; // главный флажок об отсутствии ошибок
for (;;) {
// стартовые поля
$elems = array('user','password','password2','hidden','radio','text','day_m');
foreach ($elems as $value) {
if (!isset($_POST["$value"]) || empty($_POST["$value"])) {
echo "Ошибка! Не все поля заполнены!";
$bool = false;
break 2;
}
if ($value == 'day_m' && count($_POST[$value]) < 2) {
echo "Ошибка! Хотя-бы два multiselect'а должны быть выбраны!";
$bool = false;
break 2;
}
}
// проверка паролей
if ($_POST['password'] != $_POST['password2']) {
echo "Ошибка! Пароли не совпадают!";
$bool = false;
break;
}
// checkbox'ы
$checks = array('check1','check2','check3');
$ch = 0;
foreach ($checks as $value) {
if (isset($_POST["$value"]) || !empty($_POST["$value"])) {
$ch++;
break;
}
}
if ($ch == 0) {
echo "Ошибка! Хотя-бы один checkbox должен быть заполнен!";
$bool = false;
break;
}
break;
}
?>
</div>
<div class="send">
<?php
if ($bool) {
echo "Переданные параметры:<br>";
echo "name: ".$_POST['user']."<br>";
echo "password1: ".$_POST['password']."<br>";
echo "password2: ".$_POST['password2']."<br>";
echo "hidden: ".$_POST['hidden']."<br>";
foreach ($checks as $key => $value) {
if (isset($_POST["$value"]) || !empty($_POST["$value"])) {
$num = $key + 1;
echo "checkbox #$num: ".$_POST["$value"]."<br>";
}
}
echo "radio: ".$_POST['radio']."<br>";
echo "textarea: ".$_POST['text']."<br>";
echo "day_s: ".$_POST['day_s']."<br>";
echo "day_m: ", var_dump($_POST['day_m']);
}
?>
</div>
</form>
</body>
</html>
Last active
July 28, 2017 10:32
-
-
Save deuterium7/3a884458592f5447c9efc603bd605dc5 to your computer and use it in GitHub Desktop.
Zabornyi Alex
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment