Message: trim(): Passing null to parameter #1 ($string) of type string is deprecated
Filename: libraries/Form_validation.php
Line Number: 1059
Код:
1052 * @param string
1053 * @return bool
1054 */
1055 public function required($str)
1056 {
1057 return is_array($str)
1058 ? (empty($str) === FALSE)
1059 : (trim($str) !== '');
1060 }
Чем заменить строку : (trim($str) !== ''); раз это устаревший способ?
PHP
При написании php кода для отправки записи в базу данных выходит ошибка
Тебе же прямым английским языком пишут, что функция trim применяется НЕ к строке, а к null - что и вызывает сообщение об ошибке (раньше такое можно было, сейчас нельзя). Т.е. ты при вызове функции required передаёшь в качестве параметра НЕ массив, и НЕ строку, а null - что недопустимо.
В самой функции ошибки нет - ошибка в том месте, где ты вызываешь эту функцию.
P.S. Конструкция (empty($str) === FALSE) - глупость. Достаточно: !empty($str)
P.P.S. Ошибка всё же есть. Функция может получить и строку, и массив, а в атрибутах прописано: @param string - параметром может быть ТОЛЬКО строка.
В самой функции ошибки нет - ошибка в том месте, где ты вызываешь эту функцию.
P.S. Конструкция (empty($str) === FALSE) - глупость. Достаточно: !empty($str)
P.P.S. Ошибка всё же есть. Функция может получить и строку, и массив, а в атрибутах прописано: @param string - параметром может быть ТОЛЬКО строка.
У тебя предполагается, что в функцию передаётся либо массив, либо строка, но проблема в том, что кроме массивов и строк существует много других типов данных, а проверка у тебя только на массив. Вот и сыпется функция, если туда передать что-то отличное от массива или строки.
А trim - это не устаревший способ, просто пихать туда не надо что попало.
Перепиши функцию нормально. И не стесняйся писать код более понятным языком, не обязательно всё в тернарный оператор запихивать, лучше уж несколько человекопонятных if / else.
А trim - это не устаревший способ, просто пихать туда не надо что попало.
Перепиши функцию нормально. И не стесняйся писать код более понятным языком, не обязательно всё в тернарный оператор запихивать, лучше уж несколько человекопонятных if / else.
php 8.1?
return is_array($str) ? (empty($str) === FALSE) : (trim($str) !== '');
я вижу тут баян от которого нет смысла что з0а лютый кодер это писал
return is_array($str) ? (empty($str) === FALSE) : (trim($str) !== '');
я вижу тут баян от которого нет смысла что з0а лютый кодер это писал
Alex 404
https://stackoverflow.com/questions/19347005/how-can-i-explode-and-trim-whitespace .. как вариант
Похожие вопросы
- Отправка текста в базу данных PHP + MySQL! Помогите ((
- Помогите с php кодом, плиз) хотел функцию транслитерации написать, только ошибка выходит и все :(
- Помогите с PHP кодом! Где косяк?
- Структура PHP кода
- На php нужно написать универсальное условие для фильтрации данных
- Допиливать самописный движок на PHP, код к которому писали 14 лет - стоит ли соглашаться на такую работу?
- вывод данных из базы данных по нажатию кнопки
- как сделать чтобы полученные из формы данные записывались в базу данных?
- СРОЧНО! ЧТО ВЫПОЛНЯЕТ ЭТОТ PHP КОД?
- Как узнать положение элемента в базе данных?