Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение главного модуля из конфига, Трабла 
:(
    Опции темы
newnoob
Дата 4.5.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



index.php:

Код

<?php

// Константы, что бы не вызывали напрямую файлы
define("MODULE_FILE", true);

// Подключаем файл функций
require_once("inc/function.php");

// Запускаем таймер
$Timer = new microTimer;
$Timer->start();

// Запускаем кэширование страницы
ob_start();

// Определяем глобальные переменные
global $StartModule, $mod, $smarty;

// Делаем ссылки вида index.php?mod=
$mod = (isset($_REQUEST['mod'])) ? $_REQUEST['mod'] : '';
if (preg_match("/[^a-zA-Z0-9_]/", $mod)) {
    Header("Location: index.php");
    exit;
}

// Определяем главный файл модуля
if (isset($_GET['file']) || isset($_POST['file'])) {
    $file = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
    if (preg_match("/[^a-zA-Z0-9_]/", $file)) {
        Header("Location: index.php");
        exit;
    }
} else {
    $file = "index";
}

// Делаем ссылки 3 уровня
if(isset($_GET['op'])) $op = $_GET['op'];
else $op = '';

// Читаем файл из кэша
if ($cache)
{
    include_once("inc/classes/class.Cache.inc.php");
    $cache = new cache;
    $cache->check_cache("$mod", 50);
}

// Выводим $StartModule на главную
if (file_exists("mod/$mod/".$file.".php")) {
    include("mod/$mod/".$file.".php");
} else {
    echo ""._ERROR1."";
}

// Кэширование, сбор данных
if ($cache)
{
    $cached = ob_get_contents();
    $cache->set_cache($cached);
}

// Подсчет колличества запросов в базу и генерация страницы
$page_time = $Timer->stop();
$sqlnums = $db->num_queries;
$total_time_db = $db->total_time_db;
$total_time = " ".$sqlnums." "._PAGEGENERATION_DB." ".substr($total_time_db,0,5)." "._SEC.".";

echo "<!-- "._PAGEGENERATION.": $page_time "._SEC." , "._PAGEGENERATION_DB.": $total_time -->";
?>


Проблема в том что когда я ставлю if (file_exists("mod/$mod/".$file.".php")) {
тоесть переменную $mod то все модули работаю, но на главную модуль не отображаеться срабатывает else. Если ставлю $startmodule (В конфиге он просан News) то работает только News и никакой другой. Подскажите как решить проблему что бы и на главную загружался $StartModule (News) и работали остальные модули $mod.
PM MAIL   Вверх
BuShaRt
Дата 4.5.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



у тебя каталог прямо так и называеться "$mod" ?
PM MAIL   Вверх
Alexey007
Дата 4.5.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



newnoob, покажи конфиг
значение переменной $mod.
И ваще полный путь к файлу index.php
мне так кажется что он лежит в папке $mod.'/'.$file.'.php'

 smile про кавычки:
Цитата

В двойных кавычках переменные интерполируются, в одинарных нет. По скорости сказывается незначительно. Но все же...

PM MAIL   Вверх
WolfON
Дата 4.5.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



А $mod чему равен на главной?
мб так:
Код

"mod/".(isset($mod)?"$mod/":"").$file.".php"

PM MAIL ICQ   Вверх
newnoob
Дата 4.5.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



Код

$StartModule = "Blog";


Каталог так и называеться mod. Модуль идет так: mod/Blog/index.php .
PM MAIL   Вверх
newnoob
Дата 6.5.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.1.2007

Репутация: нет
Всего: нет



Идеи закончились? ):
PM MAIL   Вверх
GZep
Дата 6.5.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Цитата(newnoob @  4.5.2007,  14:46 Найти цитируемый пост)
preg_match("/[^a-zA-Z0-9_]/"

оффтоп:
зачем так писАть? можно же просто поставить флаг, чтобы без учета регистра проверка шла...


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0766 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.