Показать сообщение отдельно
  #18 (permalink)  
Старый 27.03.2015, 23:14
Аспирант
Отправить личное сообщение для Влад_имир Посмотреть профиль Найти все сообщения от Влад_имир
 
Регистрация: 03.03.2015
Сообщений: 44

Сообщение от laimas Посмотреть сообщение
>Здесь проверка на ввод 4 -х значного числа, которое не должно начинаться на ноль.

То есть $zifra <= 1000 означает, что число начинается на 0? У вас ведь далее именно эта ошибка и выводится. Так вы ведь вообще не проверяется что это, действительно ли цифра, ибо gettype($zifra) определенно вернет вам string, хотя пользователь введет цифры, так как все что не пришло в полях формы, это строки. А значит надо:

if($num = (int)$_POST['key']) {
    //$num это integer и не равно 0
} else //не соответствует услвоию


У вас диалог с сервером асинхронный, а так как в любом случае сервер обязан проверять данные извне, то на клиенте эту проверку можно и не делать. Для современных браузеров можно добавить новые возможности формы, которые и будут делать проверку, а старые браузеры идут лесом, сервер проверит все равно. И как раз на сервер нужно грамотный иметь скрипт и удобный тип данных для обмена с клиентом. А на клиентской стороне продумать отображение сообщений.
Integer - это число из множества ℤ = {..., -2, -1, 0, 1, 2, ...}.
https://php.net/manual/ru/language.types.integer.php я от этого плясал. а максимальное 4-хзначное число с нулем в первом знаке -0999

Последний раз редактировалось Влад_имир, 27.03.2015 в 23:19. Причина: подумал ))
Ответить с цитированием