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 :: Версия для печати :: Подключение нескольких страниц с разным функционалом к одному шаблону
Форумы портала PHP.SU » » Вопросы новичков » Подключение нескольких страниц с разным функционалом к одному шаблону

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

1. freelsd - 27 Ноября, 2015 - 11:19:10 - перейти к сообщению
Есть некий шаблон страницы, и чтобы подключить рабочую страницу, раньше использовалась конструкции типа:

PHP:
скопировать код в буфер обмена
  1. $page = $_GET['page]
  2. include("inc/".$page.".php");


Но как вообще правильно подключать основную часть страницы? С точки зрения безопасности и функциональности. Спасибо.
2. lastdays - 28 Ноября, 2015 - 00:15:08 - перейти к сообщению
Если страницы постоянно не изменяются, то любым удобным способом.

Можно так
PHP:
скопировать код в буфер обмена
  1.  
  2. $file = isset($_GET["file"]) ? $_GET["file"] : 'index';
  3.  
  4. if ( file_exists($_SERVER["DOCUMENT_ROOT"].'/'.$file.'.php') )
  5. {
  6.         include($_SERVER["DOCUMENT_ROOT"].'/'.$file.'.php');
  7. }
  8.  
  9.  


Или так
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( isset( $_GET["file"] ) )
  3. {
  4. switch ( $_GET["file"] )
  5. {
  6.   case 'page1' :
  7.      include($_SERVER["DOCUMENT_ROOT"].'/page1.php');
  8.   break;
  9.  
  10.   case 'page2':
  11.      include($_SERVER["DOCUMENT_ROOT"].'/page2.php');
  12.   break;
  13.  
  14.   default:
  15.     include($_SERVER["DOCUMENT_ROOT"].'/index.php');
  16.   break;       
  17. }
  18.  
  19. }
  20.  

Либо доступные страницы в массив
PHP:
скопировать код в буфер обмена
  1.  
  2. $file_array = array('page1', 'page2', 'index');
  3. if ( in_array ($_GET["file"], $file_array) )
  4. {
  5.         include($_SERVER["DOCUMENT_ROOT"].'/'.$file_array[$_GET["file"]].'.php');
  6. }
  7.  

 

Powered by ExBB FM 1.0 RC1