Вы должны проверить все это, потому что он не может проверить себя.
PHP имеет ряд полезных функций, помогающих ...
isset()
isset()
для обеспечения установки переменных GET / POST. Эти пропуски, как правило, вызваны только тем, что люди возятся.
Пример
if ( ! isset($_POST['email'])) {
$this->addError('You did not supply your email');
}
trim()
и empty()
trim()
и empty()
для проверки того, что кто-то ввел какой-либо текст, кроме пробелов. Обратите внимание, что empty()
является конструкцией и должна вызываться для переменной, , а не строка, возвращаемая trim()
напрямую (я думаю, потому что она хочет исследовать блок в памяти, а не значение в стеке ).
Пример * * 1 032
$email = trim($_POST['email']);
if (empty($email)) {
$this->addError('You didn\'t type any non whitespace characters');
}
Конечно, используйте лучшую ошибку, понятную вашим конечным пользователям.
Это также используется так часто, что вы можете сделать вспомогательную функцию, которая делает это.
filter_var()
Вы можете использовать filter_var()
для проверки таких вещей, как проверка электронной почты, IP-адресов и целых чисел.
Пример
if ( ! filter_var($email, FILTER_VALIDATE_EMAIL)) {
$this->addError('You did not enter a valid email');
}
Регулярные выражения
Регулярные выражения могут многое сделать сами, например, проверять действительные символы, шаблоны и длины.
* * Пример одна тысяча пятьдесят пять * * тысяча пятьдесят шесть
if ( ! preg_match('/^\w{4,12}\z/', $username)) {
$this->addError('You did not enter a valid email');
}