Не видит данные из функций

139
05 апреля 2022, 00:10

Есть некая страница 'worker.php' на которую поступают данные методом пост, которые принимаются таким:

if (isset($_POST['something'])) {
  $something = trim(htmlspecialchars(strval($_POST['something'])), " \t\n\0");

кодом. Так как такие данные поступают неоднократно и не только в этом документе в соседнем файле 'functions.php' была создана такая:

function text_cleaner($some_text) {
  $some_text = trim(htmlspecialchars(strval($some_text)), " \t\n\0");
}

функция, а сам файл был подключён к предыдущему методом:

include("functions.php");

а в самом файле 'worker.php' было записано:

if (isset($_POST['something'])) {
  $something = text_cleaner($_POST['something']), " \t\n\0");

после чего данные из POST'а он начал терять. Подскажите пожалуйста в чём проблема и собственно где я ошибся?

Answer 1

Вы ничего не возвращаете в своей функции text_cleaner(), поэтому в переменную $something ничего и не записывается. Для этого добавьте оператор return перед значением, которое нужно вернуть и использовать в дальнейшем:

function text_cleaner($some_text)
{
    return trim($string);
}
Answer 2

В этой строке

$something = text_cleaner($_POST['something']), " \t\n\0");

вы не удалили лишнее , " \t\n\0") И функция text_cleaner должна возвращать результат:

function text_cleaner($some_text){
    return trim(htmlspecialchars(strval($some_text)), " \t\n\0");
}
READ ALSO
Сделать переменные с учётом MySQL

Сделать переменные с учётом MySQL

Так же используется мой старый код с MySql на php:

177
Laravel. Не записываются данные в базу

Laravel. Не записываются данные в базу

Делаю на проекте 3 типа содержимого: категории, статьи и страницыКатегории и статьи создал, между собой связал и все хорошо

208
Символы в регулярных выражениях [дубликат]

Символы в регулярных выражениях [дубликат]

Два вопроса за день это конечно ммммм, но не могу не спросить:

90
Телеграмм Бот не может разбанить юзера

Телеграмм Бот не может разбанить юзера

Функция для отправки сообщения:

104