Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Листая страницы мануала...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
nkl
Отправлено: 10 Марта, 2012 - 20:18:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Здравствуйте. Сегодня я сделал для себя наверное самое большое открытие, я начал читать мануал! Это я к тому, что до этого мое знакомство с php происходило посредством книги Люка Веллинга и Лоры Томсон. Но почему я так восторженно об этом говорю? Да потому, что как оказалось, мануал лучше всяких книг! Он так здорово и с технической точки зрения грамотно написан, так правильно вставлены ссылки на дополнительные материалы, что мне кажется тут ни одна книжка не идет с ним в сравнение. А этот бесподобный формат chm...

Прошу прощения за это лирическое отступление, но у меня такое предложение: постить и обсуждать в этой теме неясности или спорные моменты возникающие во время впитывания великих знаний которые несет велики мануал!

И первая такая ситуация, возникшая у меня, вот код:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(is_string($_POST['value'])){
  3.         echo 'Строка: <b>'.$_POST['value'].'</b><br/>';
  4.         echo '$value - это строка и поэтому я её вывел:)';
  5. }
  6. else echo '$value не является строкой и поэтому я не стал её выводить, хозяин:)'
  7.  


Тупая железка почему-то все время говорит что $value - это строка, даже когда в input введены одни цифры. Как мне узнать что в input введены только цифры?
 
 Top
DelphinPRO
Отправлено: 10 Марта, 2012 - 20:20:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)






-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 10 Марта, 2012 - 20:22:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




'6547547'- строка состоящая из символов цифр
все что приходит в GET/POST рассматривается как строка
проверяйте на is_numeric()
 
 Top
nkl
Отправлено: 10 Марта, 2012 - 20:27:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




It's true, thanks!
 
 Top
OrmaJever Модератор
Отправлено: 10 Марта, 2012 - 21:11:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Это проблема не php, а браузеров, поскольку написано input type="text" то содержимое всегда расчитывается как текст и строкой передаётся на сервер. Жаль нету input type="int"


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 10 Марта, 2012 - 21:13:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




OrmaJever пишет:
Жаль нету input type="int"
а зачем?
все равно на сервере придется проверять
нет смысла
(Добавление)
к тому же это дополнительный флаг при передаче переменной
либо передача отдельным заголовком
кругом засада))
 
 Top
DelphinPRO
Отправлено: 10 Марта, 2012 - 21:48:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




OrmaJever пишет:
Жаль нету input type="int"


есть input type="tel" - номер телефона Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 10 Марта, 2012 - 21:52:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




пофиг
передаются всеравно все как текст
хоть HTML и 5ый HTTP пока не 2.0 ))
 
 Top
OrmaJever Модератор
Отправлено: 10 Марта, 2012 - 21:52:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




LIME пишет:
а зачем?
все равно на сервере придется проверять
нет смысла

хотя да, раз не сделали скорее всего смысла нет.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 10 Марта, 2012 - 21:54:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




если сделают всегда можно подменить и следовательно та же проверка на сервере один в один))
 
 Top
Bio man
Отправлено: 11 Марта, 2012 - 00:16:37
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)





nkl пишет:
как оказалось, мануал лучше всяких книг!
добро пожаловать в наши ряды Привет! Улыбка Радость

(Отредактировано автором: 11 Марта, 2012 - 00:16:49)

 
 Top
Мелкий Супермодератор
Отправлено: 11 Марта, 2012 - 08:27:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




DelphinPRO пишет:
есть input type="tel" - номер телефона

Так передаётся всё равно строка.
Из формы, гетом, куками могут придти только 3 типа данных - строка, массив, файл (только постом, да и в $_POST не попадёт).


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 11 Марта, 2012 - 09:35:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Мелкий а массив каким видом? не сериализованым? тогда тоже строка
 
 Top
Мелкий Супермодератор
Отправлено: 11 Марта, 2012 - 10:08:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME, массив строк. Или массив массивов строк и т.д.
CODE (html):
скопировать код в буфер обмена
  1. <input type="text" name="field[]">
  2. <input type="text" name="field[]">


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 11 Марта, 2012 - 10:51:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ну массивом он после разбора становится
до того просто ряд строк с одинаковым именем
(Добавление)
вернее просто одна строка ))
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB