Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что делают эти строки (include)?
 
 автор: Panker   (10.09.2006 в 12:06)   письмо автору
 
 

<?
 
if (!IsSet($mod)){include "./modules/$main_page.php";}
 else {include 
"./modules/".$mod.".php";} ?>

у меня в КМС они есть, а вот чего они делают я не знаю :)

   
 
 автор: komex   (10.09.2006 в 12:11)   письмо автору
 
   для: Panker   (10.09.2006 в 12:06)
 

Тут проверяется, существует ли $mod. Если не существует, в страницу подключается ./modules/$main_page.php, а если существует подключается ./modules/$mod.php

   
 
 автор: kasmanaft   (10.09.2006 в 12:12)   письмо автору
 
   для: Panker   (10.09.2006 в 12:06)
 

Если не передан скрипту $mod (наверное, переменная, содержащая название модуля), подключится дефолтная страница, если передан, подключится этот модуль.

   
 
 автор: Panker   (10.09.2006 в 12:20)   письмо автору
 
   для: kasmanaft   (10.09.2006 в 12:12)
 

большое спасибо, а то я в самом начале пихнул эту штуку, знаюб что с модулями работает, а что точно делает ... :) хз ))

Тогда вот ещё вопрос на зосыпку :)


function printmenu(){ include "templars/$templars/menu.php";}

от чего может бюыть такое что ПЕРЕМЕНУЮ темпларс НЕ ВИДНО ?
Она определена!!


<?php
require("configuration.php");
require(
"config.php");
//страницы сайта $contents
 
$mod=$_GET["mod"];
 if (!IsSet(
$mod))
 {include 
"./modules/$main_page.php";}
 else 
 {include 
"./modules/".$mod.".php";}


// Шаблоны сайта
function printmenu(){ include "templars/$templars/menu.php";}
function 
printtop(){include "templars/$templars/top.php";}
function 
printbok(){include "templars/$templars/bok.php";}
function 
printdown(){include "templars/$templars/down.php";} ?>

в файле configuration точка пхп, есть определение переменной templars - $templars="one";
но почему то её не видно в файле!
пишет вот такую ересть



Warning: printmenu(templars//menu.php): failed to open stream: No such file or directory in y:\home\kmk\www\index.php on line 13

Warning: printmenu(): Failed opening 'templars//menu.php' for inclusion (include_path='.;c:\php4\pear') in y:\home\kmk\www\index.php on line 13


что эта может быть ??

   
 
 автор: kasmanaft   (10.09.2006 в 12:25)   письмо автору
 
   для: Panker   (10.09.2006 в 12:20)
 

Потому что у переменной локальная облась видимости. То есть переменные $templars внутри и снаружи ф-ии - две разные переменные. Ее надо передать в качестве параметра

function printmenu($templars){ include "templars/$templars/menu.php";}

или объявить ее глобальной

function printmenu(){ 
global $templars;
include "templars/$templars/menu.php";}

Первый вариант предпочтительнее

   
 
 автор: PIXEL   (11.09.2006 в 00:53)   письмо автору
 
   для: Panker   (10.09.2006 в 12:20)
 

ты никогда не задумывался о безопасности своих скриптов?
хоть какнибудь проверяй запросы гет

   
 
 автор: PantiL   (10.09.2006 в 23:58)   письмо автору
 
   для: Panker   (10.09.2006 в 12:06)
 

Этот код лучше так записать

<?php
if (empty($mod)){include "./modules/$main_page.php";} 
 else {include 
"./modules/".$mod.".php";}
?>

Потому что если передать пустую переменную то скрипт попробует подключить /modules/.php

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования