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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
cs9249
Отправлено: 30 Октября, 2008 - 14:54:19
Post Id


Новичок


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


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




Подскажите пожалуйста по PHP:
Делаю из блоков сайт. Один из блоков - меню. В меню ссылки расположены в таком вот виде
PHP:
скопировать код в буфер обмена
  1. <?=$site_path;?>/index.php?MID=1
, где MID=1 - цифра, обозначающая выбор меню. В index.php, в оновном <div> сайта пишу следующее:
PHP:
скопировать код в буфер обмена
  1. <? include_once("base.php");
  2. if ($MID == 1) {info1show;};
  3. if ($MID == 2) {info2show;};
  4. if ($MID == 3) {info3show;};
  5. if ($MID == 4) {info4show;}; ?>

Подскажите, чего я пропустил? Почему сайт обрывается на этом <div>, а меню вовсе неработает с *.php?MID (работает, только если указать страницу, напр. U.php).
 
 Top
Champion Супермодератор
Отправлено: 30 Октября, 2008 - 15:05:16
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




1 - switch/case
2 - infoXshow - строки?
 
 Top
cs9249
Отправлено: 30 Октября, 2008 - 15:10:55
Post Id


Новичок


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


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




Пардон, после infoXshow забыл в конце скобки ();
Base.php состоит из следующего
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. HTMLкод
  4. <?PHP
  5. function info1show () { ?>
  6. HTMLкод №1...........
  7. <?PHP } function info2show () { ?>
  8. HTMLкод №2...........
  9. <?PHP } function info3show () { ?>
  10. HTMLкод №3...........
  11. <?PHP } function info4show () { ?>
  12. HTMLкод №4...........
  13. <?PHP } ?>
  14. HTMLкод

(Отредактировано автором: 30 Октября, 2008 - 15:49:12)

 
 Top
Champion Супермодератор
Отправлено: 30 Октября, 2008 - 15:30:12
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




И ничего не выводит? Переменная $MID определена? Проверяли?
 
 Top
cs9249
Отправлено: 30 Октября, 2008 - 15:47:56
Post Id


Новичок


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


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




Champion пишет:
И ничего не выводит? Переменная $MID определена? Проверяли?

Определяет, проверил простым print.
 
 Top
Champion Супермодератор
Отправлено: 30 Октября, 2008 - 15:53:27
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Хорошо. А что значит
cs9249 пишет:
сайт обрывается на этом <div>

Кстати, возможно, вы просто видите в браузере не то, что ожидаете. Вы учли, что у вас сначала появятся оба HTMLкода, а только птом HTMLкод №х?
 
 Top
cs9249
Отправлено: 30 Октября, 2008 - 16:06:09
Post Id


Новичок


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


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




В общем, всё что тут расписал делает следующую штуку. Части HTML/PHP кода в файле base.php даётся идентификатор infoXshow() . Затем на странице index.php эта проидентифицированая часть HTML/PHP кода отображается в теге <div>.
Я хочу, чтобы когда нажимаешь ссылку в меню, в index.php отправлялся параметр $MID, равный Х (http://site.ru/index.php?MID=Х), и в <div> отображался нужный фрагмент HTML/PHP кода. Я написал условие:
Присоеденил с помощью include_once() несколько файлов,
задал условие:
if ($MID=1) {info1show();};
if ($MID=2) {info5show();};
if ($MID=3) {info55show();};
if ($MID=4) {info78show();};
.....

(Отредактировано автором: 30 Октября, 2008 - 16:06:26)

 
 Top
Champion Супермодератор
Отправлено: 30 Октября, 2008 - 16:23:02
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Когда вы проходите по ссылке (http://site.ru/index.php?MID=Х), вы передаете значене Х в переменную - это да. Вы подключаете файл со скриптом. Будем считать, что вы убедились, что он успешно подключен. При подключении файла происходит следующее: Выводится в драузер html-код, который написан там ДО и ПОСЛЕ объявленя функций. При вызове функции всё должно корректно произойти.

И вы не ответили вопрос, что значит сайт обрубается? Ошибку выводит - какую? Просто на divе заканчивается - именно это ваш код и должен сделать
 
 Top
Agassi
Отправлено: 30 Октября, 2008 - 20:07:43
Post Id



Частый гость


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


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




ДУмаю ошыбка в самом коде,что-то пропушено.Так если прочесть вашы слова,то не должно быть проблем.
Проглянте код.Или кинте куски оригинала
 
 Top
Никола
Отправлено: 01 Ноября, 2008 - 05:27:31
Post Id



Гость


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


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




Помоему лучше всего для этого подходит Switch

switch ($MID)
{
case 1: echo "Первая страница"; break;
case 2: echo "Вторая страница"; break;
case 3: echo "Третья страница"; break;
}
 
 Top
Champion Супермодератор
Отправлено: 01 Ноября, 2008 - 08:45:25
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Никола, про switch уже говорили, но не в этом дело. Автор, ты где? Проблему-то решил?
 
 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