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 :: Почему выводится defult'ное условия конструкции switch?

 PHP.SU

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


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

> Без описания
nkl
Отправлено: 01 Февраля, 2012 - 00:05:22
Post Id



Посетитель


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


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




Вот код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <table width="900" border="0" align="center" style="background: black" cellpadding="4">
  2.   <tr>
  3.  <!--ЛЕВАЯ ОБЛАСТЬ-->
  4.     <td style="background: white" width="25%" valign="top">
  5.         <h1>Админка</h1>
  6.         <p><a href="index.php?section=lots">Лоты</a>
  7.         <?php
  8.                 if($_GET['section']=='lots'){
  9.                                 echo '<br /><a href="index.php?section=lots&action=create">>Создать лот</a>';
  10.                                 echo '<br /><a href="index.php?section=lots&action=stok_lots">>Стоковые лоты</a>';
  11.                                 echo '<br /><a href="index.php?section=lots&action=new_lots">>Новинки</a>';
  12.                         }              
  13.                 ?>
  14.         </p>
  15.         <p><a href="index.php?section=pages">Страницы</a>
  16.         <?php
  17.                 if($_GET['section']=='pages'){
  18.                                 echo '<br /><a href="index.php?section=pages&action=create">>Создать страницу</a>';
  19.                                 echo '<br /><a href="index.php?section=pages&action=stok_lots">>Популярные страницы</a>';
  20.                                 echo '<br /><a href="index.php?section=pages&action=new_lots">>И в таком духе...</a>';
  21.                         }              
  22.                 ?>
  23.         </p>
  24.     </td>
  25.    
  26.    
  27.  <!--ПРАВАЯ ОБЛАСТЬ-->    
  28. <td style="background: white" valign="top">
  29.     <?php
  30.                 switch ($_GET['section']){
  31.                                 //если выбран раздел "лоты"
  32.                                 case 'lots':
  33.                                         switch ($_GET['action']){
  34.                                         //если выбрано действие "создать лот"                                  
  35.                                                 case 'create':
  36.                                                         echo '<h1 align="center">Инклуд формы для создания нового лота</h1>';
  37.                                                 break;
  38.                                                 //если ни одно из действий не выбрано
  39.                                                 default:
  40.                                                         echo '<h1 align="center">Инклуд скрипта для вывода таблица с лотами</h1>';
  41.                                                 break;
  42.                                         }
  43.                                 break;
  44.                                 case 'pages':
  45.                                         switch ($_GET['action']){
  46.                                                 case 'create':
  47.                                                         echo '<h1 align="center">Инклуд формы для создание новой страницы</h1>';
  48.                                                         break;
  49.                                                 default:
  50.                                                         echo '<h1 align="center">Инклуд скрипта для вывода таблица страниц</h1>';
  51.                                                 break;                                         
  52.                                         }
  53.                                 default:
  54.                                         echo '<h1 align="center">Главная страница админки, можно вывести всякую прикольную фигню</h1>';
  55.                                 break;
  56.                         }
  57.                        
  58.         ?>
  59.     </td>
  60.   </tr>
  61.   <tr>
  62.     <td colspan="2"  style="background: white" valign="top">
  63.         <p>Отладочная информация: <?php  print_R(get_defined_vars())?></p>
  64.     </td>
  65.   </tr>
  66. </table>

В вот тут результат работы. Первый пункт меню Лоты и действие Создать лот работает как по маслу. А вот для пункта меню Страницы, что-то идет не так и конструкция switch почему-то выполняет операторы находящиеся в секции default, хотя переменная section существует и имеет значение pages. Что не так? Я уже всю голову сломал
 
 Top
OrmaJever
Отправлено: 01 Февраля, 2012 - 00:22:03
Post Id



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


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


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




А у меня например всё работает Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
nkl
Отправлено: 01 Февраля, 2012 - 01:04:18
Post Id



Посетитель


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


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




Мистика какая-то, почему при выборе пункта меню "Страницы" и выборе любого действия из этого пункта выводится заголовок этого действия + заголовок "<h1 align="center">Главная страница админки, можно вывести всякую прикольную фигню</h1>". Что за епт!
(Добавление)
OrmaJever у вас, это на вашем сервере или по моей ссылке?
(Добавление)
Код немного изменен, потому что я продолжаю работать над независимыми частями, в частности, добавлен еще один пункт меню и закоментированы пока не нужные пункты, но проблема остается. Для того, что бы понять в чем проблема идем сюда, смотрим какой нить пункт меню, например Категории или Лоты=>Создать лот, все как бы работает. Но вот идем в пункт меню Страницы или Страницы=>Создать страницу и видим, что вместе с операторами, которые выполняются в том случае если $_GET['section'] = 'pages', выполняются так же и операторы предусмотренные по default'у этой switch-конструкции. Что не так?? Я уже просто в бешенстве!

Вот код, на всяк случай:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. ini_set('display_errors',1);
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>Документ без названия</title>
  9. </head>
  10.  
  11. <body>
  12. <table width="900" border="0" align="center" style="background: black" cellpadding="4">
  13.   <tr>
  14.  <!--ЛЕВАЯ ОБЛАСТЬ-->
  15.     <td style="background: white" width="20%" valign="top">
  16.         <h1>Админка</h1>
  17.                 <p><a href="index.php">Главная</a></p>        
  18.         <p><a href="index.php?section=categories">Категории</a>
  19.         <?PHP
  20.                 if($_GET['section']=='categories'){
  21.                                 echo '<br /><a href="index.php?section=categories&action=create">>Создать категорию</a>';
  22. /*                              echo '<br /><a href="index.php?section=categories&action=stok_lots">>Стоковые лоты</a>';
  23.                                 echo '<br /><a href="index.php?section=categories&action=new_lots">>Новинки</a>';*/
  24.                         }              
  25.                 ?>
  26.         </p>        
  27.         <p><a href="index.php?section=lots">Лоты</a>
  28.         <?PHP
  29.                 if($_GET['section']=='lots'){
  30.                                 echo '<br /><a href="index.php?section=lots&action=create">>Создать лот</a>';
  31. /*                              echo '<br /><a href="index.php?section=lots&action=stok_lots">>Стоковые лоты</a>';
  32.                                 echo '<br /><a href="index.php?section=lots&action=new_lots">>Новинки</a>';*/
  33.                         }              
  34.                 ?>
  35.         </p>
  36.         <p><a href="index.php?section=pages">Страницы</a>
  37.         <?PHP
  38.                 if($_GET['section']=='pages'){
  39.                                 echo '<br /><a href="index.php?section=pages&action=create">>Создать страницу</a>';
  40. /*                              echo '<br /><a href="index.php?section=pages&action=stok_lots">>Популярные страницы</a>';
  41.                                 echo '<br /><a href="index.php?section=pages&action=new_lots">>И в таком духе...</a>';*/
  42.                         }              
  43.                 ?>
  44.         </p>
  45.     </td>
  46.    
  47.    
  48.  <!--ПРАВАЯ ОБЛАСТЬ-->    
  49. <td style="background: white" valign="top">
  50.     <?PHP
  51.                 switch ($_GET['section']){
  52.                                 //если выбран раздел "лоты"
  53.                                 case 'categories':
  54.                                         switch ($_GET['action']){
  55.                                         //если выбрано действие "создать лот"                                  
  56.                                                 case 'create':
  57.                                                         include('inc/cat_create.php');
  58.                                                 break;
  59.                                                 //если ни одно из действий не выбрано
  60.                                                 default:
  61.                                                         echo '<h1 align="center">Инклуд скрипта для вывода таблицы с категориями</h1>';
  62.                                                 break;
  63.                                         }
  64.                                 break;                         
  65.                                 //если выбран раздел "лоты"
  66.                                 case 'lots':
  67.                                         switch ($_GET['action']){
  68.                                         //если выбрано действие "создать лот"                                  
  69.                                                 case 'create':
  70.                                                         include('inc/lot_create.php');
  71.                                                 break;
  72.                                                 //если ни одно из действий не выбрано
  73.                                                 default:
  74.                                                         echo '<h1 align="center">Инклуд скрипта для вывода таблицы с лотами</h1>';
  75.                                                 break;
  76.                                         }
  77.                                 break;
  78.                                 case 'pages':
  79.                                         switch ($_GET['action']){
  80.                                         //если выбрано действие "создать лот"                                  
  81.                                                 case 'create':
  82.                                                         echo '<h1 align="center">Инклуд формы для создания новой страницы</h1>';
  83.                                                 break;
  84.                                                 //если ни одно из действий не выбрано
  85.                                                 default:
  86.                                                         echo '<h1 align="center">Инклуд скрипта для вывода таблицы страниц</h1>';
  87.                                                 break;
  88.                                         }
  89.                                 default:
  90.                                         echo '<h1 align="center">Главная страница админки, можно вывести всякую прикольную фигню</h1>';
  91.                                 break;
  92.                         }
  93.                        
  94.         ?>
  95.     </td>
  96.   </tr>
  97.   <tr>
  98.     <td colspan="2"  style="background: white" valign="top">
  99.         <p>Отладочная информация: <?PHP  print_R(get_defined_vars())?></p>
  100.     </td>
  101.   </tr>
  102.   <tr>
  103.     <td colspan="2"  style="background: white" valign="top">
  104.         <p align="center"><b>MEMBER ME!!!</b></p>
  105.         <p>1. Напомнить сделать то-то, то-то</p>
  106.     </td>
  107.   </tr  
  108. </table>
  109.  
  110. </body>
  111. </html>

(Отредактировано автором: 01 Февраля, 2012 - 02:41:08)

 
 Top
IllusionMH
Отправлено: 01 Февраля, 2012 - 02:50:03
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




nkl, перед default: в 90 строке (последний пост) пропущен break; относящийся к case 'pages':
 
 Top
nkl
Отправлено: 01 Февраля, 2012 - 03:06:41
Post Id



Посетитель


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


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




ееее!!! Большое спасибо! Пляшем дальше...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB