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 :: Непонятно с case

 PHP.SU

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


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

> Без описания
nucliar
Отправлено: 06 Декабря, 2009 - 17:33:32
Post Id


Новичок


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


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




Вроде бы проще case ничего нет, но все же проблема:

CODE (text):
скопировать код в буфер обмена
  1. <form action = "http://localhost/test.php" method="get">
  2.     number: <input type="text" name="number"/><br>
  3.     <input type="submit"/>
  4. </form>  


PHP:
скопировать код в буфер обмена
  1.    <?
  2.     switch($number)
  3.     {
  4.         case 1:
  5.           echo ("one ");
  6.         case 2: case 3:
  7.           echo ("three");
  8.         case 4: case 5:
  9.           echo ("five");
  10.         case 6: case 7:
  11.           echo ("seven");
  12.         case 8: case 9:
  13.           echo ("nine");
  14.         break;
  15.         default:      
  16.           echo ("This isn't number or number is > 9 or < 1");
  17.     }
  18.     ?>

Запускаю test.html, ввожу 1 ( по идее должно вывести текст: onethreefivesevennine, но выводит This isn't number or number is > 9 or < 1 ...не понятно почиму (((
 
 Top
Мелкий Супермодератор
Отправлено: 06 Декабря, 2009 - 17:47:35
Post Id



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


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


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




switch($_GET['number'])
может так?


-----
PostgreSQL DBA
 
 Top
nucliar
Отправлено: 06 Декабря, 2009 - 17:56:24
Post Id


Новичок


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


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




Мелкий пишет:
switch($_GET['number'])
может так?

Спасибо, заработало, но там где я прочитал пример этот небыло $_GET[]
Что это вообще такое? Где я могу про него прочитать? можешь ссылку дать если на этом сайте есть?

(Отредактировано автором: 06 Декабря, 2009 - 18:11:23)

 
 Top
Мелкий Супермодератор
Отправлено: 06 Декабря, 2009 - 18:12:17
Post Id



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


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


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




http://php.su/phphttp/forms/?scrint

Ещё из раздела безопасности скриптов: http://php.su/lessons/?lesson_14
А ваш пример рассчитан на включенные register_globals, что есть большая дыра в безопасности, и потому они по-умолчанию выключены (а в PHP6 вообще будут запрещены)


-----
PostgreSQL DBA
 
 Top
Nestor
Отправлено: 06 Декабря, 2009 - 18:12:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2009  


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




Это register_globals, в гугле есть много информации


-----
Aurus CMS
 
 Top
Hunter
Отправлено: 15 Декабря, 2009 - 11:13:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


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




если человек задал такой вопрос то "такие" ответы не дадут ему понятия почему у него не получилось обработать запрос. все очень просто:
при передаче запроса из формы клиента на сервер обработчику данные формы сохраняются в глобальном массиве (см. темы: область видимости переменных и глобальные массивы) $_GET['index'] или $_POST['index'] в зависимости от метода передачи данных. Более приветствуется метод POST в связи с безопасностью, эстэтичьностью и объемом передаваемых данных. 'index' - имя поля формы из которой передаете данные. (см. темы html формы);
все это можно найти в документации к php, которая имеется на этом сайте))))
 
 Top
Мелкий Супермодератор
Отправлено: 15 Декабря, 2009 - 12:35:06
Post Id



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


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


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




Hunter пишет:
Более приветствуется метод POST в связи с безопасностью, эстэтичьностью и объемом передаваемых данных.

Категорично не согласен! Нужно использовать тот метод, который лучше подходит. Знаю один инет-магазин, у которого фильтр товаров сделан постом - на такой фильтр же ссылку не дать, приходится расписывать, что, где, как.


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 18 Декабря, 2009 - 10:42:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Как правило, запросы к скрипту, изменяющие данные (в БД к примеру) - это добавление, редактирование, изменение или еще что - это POST + redirect.
А вот фильтры и прочие запросы, которые просто управляют выводом уже имеющихся данных - это как раз удобнее делать с помощью GET (впрочем, это "классика" - мне вполне могут возразить)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
valenok Модератор
Отправлено: 18 Декабря, 2009 - 15:10:55
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




Добавлю что ссылку со всеми гет параметрами
можно кому нибудь дать со словами - вон сомтри, третий сверху это он.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB