
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Пользователь ![]() ![]() Профиль Группа: Пользователь Сообщений: 81 Пользователь №: 46556 На форуме: Карма: ![]() |
Уважаемые специалисты, подскажите, пожалуйста, как разрешить пользователю в поле <input type="text" вводить только цифры? Интересует решение только средствами PHP. Как это сделать с помощью атрибута "pattern" я знаю. Как это сделать с помощью JavaScript или JQuery я тоже знаю. Но как это сделать только средствами PHP, и возможно ли такое?
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
Проверка данных на стороне сервера называется валидация. Запретить вводить нельзя, можно проверить цифра введена или текст. И если не цифра, то выдать ошибку.
https://www.php.net/manual/ru/function.filter-input https://www.php.net/manual/ru/function.filt...input-array.php Прочти наконец хотя бы одну книгу по РНР, большинство вопросов отпадёт, и научишься грамотно ставить задачи перед собой. -------------------- |
![]() |
۩
Дата
|
||
![]() Пользователь ![]() ![]() Профиль Группа: Пользователь Сообщений: 81 Пользователь №: 46556 На форуме: Карма: ![]() |
Через 11 лет выйду на пенсию, обязательно прочту, и не одну. А сейчас извините, некогда, приходится на ходу делать/изучать. Да, конечно, я знаю, что такое валидация. Я об этом впервые узнал еще в 98м, когда делал свой первый сайт, подключаясь к интернету через скрипящие (но такие на тот момент магически волшебные) звуки модема, работая еще на 386 компе в ОС DOS. Тогда еще сайт Фоменко был одним из самым популярных, может быть помните? Хотя нет, вру, термин "валидация", кажется, впервые был озвучен (только вот уже не помню конкретики) еще при изучении мной на уроках информатики в конце 80-х первого языка Бейсик, на котором я уже писал первые программки (одни писал, другие пытался взламывать). Но вот php я к сожалению про&бал, и очень жалею, что не выучил этот язык в свое время. Так что вот сейчас работаю и изучаю параллельно. А книги, Valick, на пенсии через 11 лет, всё чтение будет на пенсии, в очах да при лампе с лупой. Ну как-то так, что ли. |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
Зачем мне эта куча ненужной информации?
Что бы эффективно получать помощь на форуме нужна база, которой у тебя нет (базовые знания с огромными пробелами = отсутвие знаний). Одну книгу можно прочитать в течение двух-трёх недель даже при "отсутвии времени". В противном случае получается неоправданная трата времени на изобретение велосипедов и молотков. Ну и в конце концов, если читать книгу по PHP не интересно и не увлекательно, то надо бросать программирование в принципе. И просто заказать нужный сайт у сторонних программистов. А если читать интересно, то ничто не остановит, ни отсутвие времени, ни мечты о пенсии. P.S. Я на форуме для того что бы помогать, и не важно что и как я говорю (обращаюсь к собеседнику на ты или на вы) главное это результат. -------------------- |
![]() |
|
![]() ![]() חשב את עצמו ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: Администратор ![]() Сообщений: 6963 Пользователь №: 1 На форуме: Карма: 145 ![]() |
Навскидку:
-------------------- Бесплатному сыру в дырки не заглядывают...
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
FatCat, да я же там скинул ссылки на штатные функции.
Хочеться чего-то болшего пожалуйста https://habr.com/ru/articles/521292/ Ну и intval() уже много лет как деприкейтед, надо приведение к типу (int) юзать ![]() -------------------- |
![]() |
|||
![]() ![]() חשב את עצמו ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: Администратор ![]() Сообщений: 6963 Пользователь №: 1 На форуме: Карма: 145 ![]() |
И это плохо, ибо увеличивает объем и ухудшает читаемость кода, и увеличивает потребление ресурсов: $numer = (int) $_POST['numer']; -------------------- Бесплатному сыру в дырки не заглядывают...
|
||
![]() |
|||
![]() ![]() חשב את עצמו ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: Администратор ![]() Сообщений: 6963 Пользователь №: 1 На форуме: Карма: 145 ![]() |
Офтопик Я же не программист. Я врач. Я не прочитал ни одной книги по программированию. Когда мне нужно получить результат, я сначала придумываю последовательность действий к результату, а потом гуглю средства для каждого действия. Прочитал по твоей ссылке про filter_input. Да, это, наверное, годится. Но… Но если мне нужна только одна проверка, мне нет никакого резона тащить целый пакет возможностей. Иначе я приду к тому же, к чему пришли мы все. Игра вульфенштайн, весившая 3 метра и летавшая на 286 компьютере без памяти с современными библиотеками будет весить 3 гектара и потребует как минимум i3 процессор с парой гектаров памяти. Я так не хочу. И в медицине, если я могу услышать пневмлнию стетоскопом, я не погоню больного на компьютерную томографию, а сразу дам и антибиотики, и отхаркивающие, и он вылечится раньше, чем дождался бы бесплатной очереди на томографию. -------------------- Бесплатному сыру в дырки не заглядывают...
|
||
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 690 Пользователь №: 39616 На форуме: Карма: 71 ![]() |
В документации об этом молчат https://www.php.net/manual/ru/function.intval.php Вообще если бы задеприкейтили intval() -- это была бы катастрофа. -------------------- |
||
![]() |
|||||||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
Я знаю об этом, поэтому там смайкик ;)
О каком пакете речь? filter_ Это функция PHP такая-же как и все остальные и является неотъемлимой частью вне зависимости используется она или нет. Вот ссылка про валидаторы, там да, там классы (библиотеки) которые надо подключать. -------------------- |
||||||
![]() |
|||||
![]() ![]() חשב את עצמו ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: Администратор ![]() Сообщений: 6963 Пользователь №: 1 На форуме: Карма: 145 ![]() |
Не знал, что такой синтаксис допустим. Тогда ровно то же самое, что intval.
Да. Но сам вызов этой функции скушает ресурсов намного больше, чем приведение одного типа. -------------------- Бесплатному сыру в дырки не заглядывают...
|
||||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
brevis, виноват, запамятовал. Для меня всё что шторм зачёркивает автоматом
деприкейт. В любом случае никакой катастрофы нет в использовании Int вместо intval. -------------------- |
![]() |
|||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 6460 Пользователь №: 35718 На форуме: Карма: 208 ![]() |
Да унас вроде как 2024 год на дворе, нет смысла экономить на спичках. А вот привыкать Эдак мы и ООП объявим анафему :-) -------------------- |
||
![]() |
۩
Дата
|
![]() Пользователь ![]() ![]() Профиль Группа: Пользователь Сообщений: 81 Пользователь №: 46556 На форуме: Карма: ![]() |
Хорошо, такой вопрос. Я выполняю следующую проверку:
$_POST['numer']=intval($_POST['numer']); Подскажите, пожалуйста, как правильно добавить сюда же (не создавая новую) дополнительную проверку на заполнение только цифр? Это сообщение отредактировал Kuzma92 - 4.04.2024 - 19:44 |
![]() |
|||
![]() ![]() חשב את עצמו ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: Администратор ![]() Сообщений: 6963 Пользователь №: 1 На форуме: Карма: 145 ![]() |
Если ввести «1бублик», твоя проверка признает ввод правильным. -------------------- Бесплатному сыру в дырки не заглядывают...
|
||
![]() |
![]() ![]() ![]() |