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
Форумы портала PHP.SU :: Версия для печати :: Непонятно с case
Форумы портала PHP.SU » PHP » Программирование на PHP » Непонятно с case

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

1. nucliar - 06 Декабря, 2009 - 17:33:32 - перейти к сообщению
Вроде бы проще 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 ...не понятно почиму (((
2. Мелкий - 06 Декабря, 2009 - 17:47:35 - перейти к сообщению
switch($_GET['number'])
может так?
3. nucliar - 06 Декабря, 2009 - 17:56:24 - перейти к сообщению
Мелкий пишет:
switch($_GET['number'])
может так?

Спасибо, заработало, но там где я прочитал пример этот небыло $_GET[]
Что это вообще такое? Где я могу про него прочитать? можешь ссылку дать если на этом сайте есть?
4. Мелкий - 06 Декабря, 2009 - 18:12:17 - перейти к сообщению
http://php.su/phphttp/forms/?scrint

Ещё из раздела безопасности скриптов: http://php.su/lessons/?lesson_14
А ваш пример рассчитан на включенные register_globals, что есть большая дыра в безопасности, и потому они по-умолчанию выключены (а в PHP6 вообще будут запрещены)
5. Nestor - 06 Декабря, 2009 - 18:12:26 - перейти к сообщению
Это register_globals, в гугле есть много информации
6. Hunter - 15 Декабря, 2009 - 11:13:06 - перейти к сообщению
если человек задал такой вопрос то "такие" ответы не дадут ему понятия почему у него не получилось обработать запрос. все очень просто:
при передаче запроса из формы клиента на сервер обработчику данные формы сохраняются в глобальном массиве (см. темы: область видимости переменных и глобальные массивы) $_GET['index'] или $_POST['index'] в зависимости от метода передачи данных. Более приветствуется метод POST в связи с безопасностью, эстэтичьностью и объемом передаваемых данных. 'index' - имя поля формы из которой передаете данные. (см. темы html формы);
все это можно найти в документации к php, которая имеется на этом сайте))))
7. Мелкий - 15 Декабря, 2009 - 12:35:06 - перейти к сообщению
Hunter пишет:
Более приветствуется метод POST в связи с безопасностью, эстэтичьностью и объемом передаваемых данных.

Категорично не согласен! Нужно использовать тот метод, который лучше подходит. Знаю один инет-магазин, у которого фильтр товаров сделан постом - на такой фильтр же ссылку не дать, приходится расписывать, что, где, как.
8. EuGen - 18 Декабря, 2009 - 10:42:06 - перейти к сообщению
Как правило, запросы к скрипту, изменяющие данные (в БД к примеру) - это добавление, редактирование, изменение или еще что - это POST + redirect.
А вот фильтры и прочие запросы, которые просто управляют выводом уже имеющихся данных - это как раз удобнее делать с помощью GET (впрочем, это "классика" - мне вполне могут возразить)
9. valenok - 18 Декабря, 2009 - 15:10:55 - перейти к сообщению
Добавлю что ссылку со всеми гет параметрами
можно кому нибудь дать со словами - вон сомтри, третий сверху это он.

 

Powered by ExBB FM 1.0 RC1