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]   

> Без описания
chajnik
Отправлено: 10 Сентября, 2007 - 14:39:55
Post Id


Новичок


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


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




Привет!У меня такая проблема! существует файл core.php со следующим кодом:
PHP:
скопировать код в буфер обмена
  1. <?
  2.         if(isset($pg)):
  3.         $pg = "$pg";
  4.         if(is_file("pg/$pg.php") != FALSE):
  5.                 require_once("pg/$pg.php");
  6.                 else:
  7.                         require_once("pg/error.php");
  8.                         exit;
  9.         endif;
  10.         else:
  11.                 require_once("pg/main.php");
  12.         endif;
  13.  

Он подключается в файле index.php.
Проверяет подлючена ли переменна $pg. Если все ок, то грузица вызываемая страница из каталога pg.
Но этот код не работает на 5-й версии PHP, а на 4-й без проблем!!!Помогите исправить, пожалуйста!!!=)
 
 Top
valenok Модератор
Отправлено: 10 Сентября, 2007 - 18:55:20
Post Id



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


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


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




Код очень интересный ..
Много лишнего или как минимум неоптимизированного.

Я бы написал вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. if(@$pg):
  3.                 if(@require_once("pg/".$pg.".php")) die(0);
  4.                 require_once("pg/error.php"); die(0);
  5. endif;
  6.                 require_once("main.php"); die(0);
  7.  


А вообще для коротких блоков используйте скобки
а проблема вероятно заключается именно в неправильной интерпретации блоков .
Между прочим ваш код у меня работает.
Блок это {..}

PHP:
скопировать код в буфер обмена
  1.  
  2.  if(isset($pg)):
  3.        
  4.         if(is_file("pg/$pg.php") !== FALSE){
  5.                 require_once("pg/$pg.php");
  6.         }else{
  7.                         require_once("pg/error.php");
  8.                         exit(0);
  9.         }
  10.  else:
  11.                 require_once("pg/main.php");
  12.  endif;
  13.  


для блоков состоящих из одной функции скобки можно и не ставить


-----
Truly yours, Sasha.
 
My status
 Top
jetistyum
Отправлено: 13 Сентября, 2007 - 13:17:54
Post Id



Новичок


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.         if(isset($pg)):
  4.         $pg = "$pg";
  5.         if(is_file("pg/$pg.php") != FALSE):
  6.                 require_once("pg/$pg.php");
  7.                 else:
  8.                         require_once("pg/error.php");
  9.                         exit;
  10.         endif;
  11.         else:
  12.                 require_once("pg/main.php");
  13.         endif;
  14.  


а воообще .. я написал бы это так
IMHO(!!!) так удобнее
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         if(!isset($pg))
  4.                 require_once("pg/main.php");
  5.         elseif (!is_file("pg/".$pg.".php")) {
  6.                 require_once("pg/error.php");
  7.                 exit;
  8.         }
  9.         else{
  10.                 require_once("pg/".$pg.".php");
  11.         }
  12. ?>
  13.  
 
 Top
Ivan
Отправлено: 13 Сентября, 2007 - 21:33:19
Post Id


Новичок


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


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




Спасибо вам большое!!!
 
 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