strlen игнорируется

105
16 ноября 2021, 11:50

Мне нужно проверить, не пустая ли форма. если пустая или меньше 10, то ошибка. пробовал strlen(), mb_strlen(utf8_decode())... ни в какую. После нажатия на кнопку, добавляется пустая запись :(

$msg_box = "";
if(isset($_POST['name']) && isset($_POST['mess']))
{
    $name = text($_POST['name']) ;
    $mess = text($_POST['mess']) ;
    $rw = intval($_POST['rw']);
        if ($name=='' || mb_strlen(utf8_decode($name))<=2) {$errors[] = 'ПОМИЛКА!<br />Коротке і\'мя';}
        if ($mess=='' || mb_strlen(utf8_decode($mess))<=10) {$errors[] = 'ПОМИЛКА<br />Короткий відгук';}
        $errors = array();
        if(empty($errors))
        {
                $q = DB::$dbs->prepare("INSERT INTO `book` (`name`, `mess`, `rw`, `time`) VALUES (?,?,?,?)");
                $q->execute([$name,$mess,$rw,time()]);
        }
    else
        {
            foreach($errors as $one_error)
            {
                $msg_box .= '<div class="bg-danger text-center">'.$one_error.'</div>';
            }
        }
}

echo $msg_box;

Answer 1
if ($name=='' || mb_strlen(utf8_decode($name))<=2) {$errors[] = 'ПОМИЛКА!<br />Коротке і\'мя';}
if ($mess=='' || mb_strlen(utf8_decode($mess))<=10) {$errors[] = 'ПОМИЛКА<br />Короткий відгук';}
$errors = array();

При выполнение условия,вы добавляете сообщение о ошибке в массив $errors, дальше почему то вы его пересоздаете.

Удалите или переместите в начало

$errors = array();
READ ALSO
Сортировка массива сразу по двум ключам с приоритетом

Сортировка массива сразу по двум ключам с приоритетом

Столкнулся с задачейНужно отсортировать многомерный массив сразу по двум значениям

116
Нужна помощь с алгоритмом на Java

Нужна помощь с алгоритмом на Java

Мне приходят данные в txt в виде:

191
Комбинации регулярных выражений (Pattern) Java

Комбинации регулярных выражений (Pattern) Java

Имеется метод StringreplaceAll(String regex, String replacement)

198
Уменьшение времени на обход двух изображений при сравнении

Уменьшение времени на обход двух изображений при сравнении

Есть класс, где происходит сравнение двух изображений Bitmap

212