Дополнение к уроку:
Словарь терминов:
Управляющие конструкции - if, elseif, else
Операторы сравнения:
== - равенство по значению
=== - равенство по значению и ТИПУ
!= - не равно
!== - не равенство по значению ИЛИ типу
< - меньше
> - больше
<= - меньше или равно
>= - больше или равно
Самое важное, что стоит запомнить:
$x = 1;
if ($x = 2) {
echo 'Присвоение произошло без ошибок';
}
if ($x = 'a') {
echo 'Присвоение произошло без ошибок';
}
if ($x = 0) {
echo 'Присвоение произошло без ошибок';
}
if ($x = '') {
echo 'Присвоение произошло без ошибок';
}
Ответ очень прост, не путайте = и == в коде! В операторах сравнения не существует одного равно, это обычное присвоение переменной значения. А значение присваивается ВСЕГДА, поэтому, эта операция всегда вернёт TRUE. И это распространённая ошибка, новички путают = и ==.
Работаем с формой в PHP:
Напоминаю следующее правило при работе с формой:
$login = $_POST['login']; // запрещено так писать.
if ($_POST['login'] == 'login') { // тоже запрещено.
// Необходимо ВСЕГДА делать проверку данных из формы на существование перед обработкой формы:
if (isset($_POST['login'])) { // отправлена ли была форма с полем 'login'
$login = $_POST['login']; // разрешено
if ($_POST['login'] == 'login') // разрешено
}
// Если поле имеет 2 и более полей:
if (isset($_POST['login'], $_POST['password'])) { // форма имеет 2 поля login + password
// обработка отправленной формы
}
if (isset(isset($_POST['text'], $_POST['text2'], $_POST['text3'], $_POST['text4']))) { // форма имеет 4 поля
// обработка отправленной формы
}
И, самое важное, если форма имеет 5 полей, то нельзя писать проверку по 2-м полям, всегда пишем по всем полям!
Под каждым уроком есть 10 тестов, которые помогут Вам закрепить пройденный материал.
Один из тестов будет развивать Вашу логику и интеллект!
Чтобы получить доступ к тестам -
авторизируйтесь!
{"33":{"id":"33","lesson":"3","type":"input","title":"Расположить контент по центру","text":"Укажите атрибут тега с его свойством (вместе), благодаря которому можно расположить блок (абзац, таблицу) по центру","answer_type":"Function","answer":"align=center","variables":{"0":""},"group":"lvl1","course":"2"},"34":{"id":"34","lesson":"3","type":"input","title":"Тег заголовочной ячейки у таблицы","text":"Какой тег указывается заглавную ячейку в таблице и указывается вместо стандартного td","answer_type":"Tag","answer":"th","variables":{"0":""},"group":"lvl1","course":"2"},"35":{"id":"35","lesson":"3","type":"radio","title":"Объединение ячеек в таблице","text":"У каждой ячейки есть атрибут colspan \u0026 rowspan. Какое из утверждений не верно:","answer_type":"Int","answer":"3","variables":{"0":"colspan - объединяет ячейки по вертикали","1":"rowspan - объединяет ячейки по горизонтали","2":"colspan \u0026 rowspan являются необязательными атрибутами","3":"rowspan \u0026 colspan не работают в th"},"group":"lvl1","course":"2"},"36":{"id":"36","lesson":"3","type":"input","title":"Тег контейнера списка","text":"Укажите тег, который служит контейнером для маркированного списка li","answer_type":"Tag","answer":"ul","variables":{"0":""},"group":"lvl1","course":"2"},"37":{"id":"37","lesson":"3","type":"radio","title":"Корректный маркированный список?","text":"Является ли следующий список корректным:\u003Cbr\u003E\r\n\u003Cpre\u003E\u003Ccode\u003E\u0026lt;ul\u0026gt;\u003Cbr\u003E\r\n \u0026lt;li\u0026gt;Text\u003Cbr\u003E\r\n \u0026lt;li\u0026gt;Text\u003Cbr\u003E\r\n \u0026lt;li\u0026gt;Text\u003Cbr\u003E\r\n\u0026lt;\/ul\u0026gt;\u003C\/code\u003E\u003C\/pre\u003E","answer_type":"Int","answer":"0","variables":{"0":"Является корректным, но всё же я рекомендовал закрывать тег li для целостности структуры","1":"Абсолютно корректен, li можно не закрывать","2":"некорректен, будет ошибка валидатора HTML4","3":"Некорректен и работать не будет"},"group":"lvl1","course":"2"},"38":{"id":"38","lesson":"3","type":"input","title":"Красивое и грамотное оформление кода","text":"У нас есть тег ul, внутри него есть несколько тегов li. Чтобы визуально было видно где список начинается, а где завершается - мы используем так называемый стиль кодирования или стиль оформления кода. Тег ul располагается на своей базовой линии, на сколько пробелов теги li необходимо смещать от базовой линии тега ul в HTML ?","answer_type":"Full","answer":"2","variables":{"0":""},"group":"lvl1","course":"2"},"39":{"id":"39","lesson":"3","type":"yesno","title":"Стиль кодирования","text":"Является ли стиль кодирования, оформление кода обязательным для профессионального программиста как базовое правило оформления кода?","answer_type":"Int","answer":"1","variables":{"0":""},"group":"lvl1","course":"2"},"40":{"id":"40","lesson":"3","type":"input","title":"Тег контейнера-блока","text":"Укажите тег контейнера блока, который служит для разбития сайта по частям и в который помещаются участки кода.","answer_type":"Tag","answer":"div","variables":{"0":""},"group":"lvl1","course":"2"}}
{"0":"33","1":"34","2":"35","3":"36","4":"37","5":"38","6":"39","7":"40"}