Задать вопрос
@nikolai_777

Помощь в PHP проверка данных из файла только выбранные значения?

Добрый день! есть код который проверяет значения из файла list.txt и запрещает их для ввода в поле формы. как сделать на оборот чтобы можно вводить только те значения которые указаны в файле list.txt
например: если в поле формы вводим 100 и эти данные есть в list.txt то все хорошо если нет то поле говорить что не корректный ввод.
$array = explode("\n", file_get_contents(JPATH_SITE.'/list.txt'));
if(in_array($_POST['form']['mane'], $array))
$invalid[] =
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
У вас файл создан под Уиндоуз, в которой в качестве разделителя строк используется последовательность \r\n
Разбивая по \n, вы в конце каждой строки оставляете висеть символ \r, и в итоге при сравнении совпадает только последний элемент файла, после которого нет перевода строки

Для чтения файлов в РНР есть специальная функция. Которая понимает любые переводы строк, и умеет их автоматически удалять.
$array = file(JPATH_SITE.'/list.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

И всё сразу начнёт находиться.
Ответ написан
Комментировать
Добрый день. Может так?

$array = explode("\n", file_get_contents(JPATH_SITE.'/list.txt'));

// Удаляем пустые строки и обрезаем пробелы
$array = array_map('trim', array_filter($array));

// Проверяем значение, введенное в форму
$inputValue = $_POST['form']['mane'];

// Если значение не принадлежит списку, добавляем ошибку в массив
if (!in_array($inputValue, $array)) {
    // Некорректный ввод
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы