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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Модульное программирование на PHP, или как написать маленький портал 
:(
    Опции темы
Enya
Дата 5.11.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Блин, что за ошибка? Решила построить маленький свой сайтик.
Вот взяла вот эту модульную систему.
Так мне не удаётся вызвать модуль.
Пишет вот:
Цитата

Notice: Undefined variable: PHP_SELF in y:\home\ldo.net\www\mods\mod1.php on line 2
Access denied
А вот  это условие с этой переменной.
Код

if (!eregi("index.php", $PHP_SELF)) { die ("Access denied"); }
У меня дома ДЕНВЕР. PHP 5. Может эта модульная система не оптимизированная под PHP 5?


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Wolf1994
Дата 5.11.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Попробуйте:
Код

if (!eregi("index.php", $_SERVER ['PHP_SELF'])) die ("Access denied");

PM MAIL WWW   Вверх
Enya
Дата 5.11.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Wolf1994, работает.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
CyClon
Дата 5.11.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вообще, не нравится стиль написания кода в уроке и сама структура/код местами тоже. Поэтому мнение отрицательное smile))

Добавлено @ 18:19 
К примеру...

Код
if (!eregi("index.php", $_SERVER ['PHP_SELF'])) die ("Access denied");


Тут лучше использовать константы... То есть, в файле index.php:

Код
define('KERNEL', 1);


В файле для подключения:

Код
if (!defined('KERNEL')) exit;



--------------------
user posted image
PM   Вверх
SelenIT
Дата 5.11.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Enya, вообще, конечно, пример для начала Вам попался действительно неудачный:
  • прежде всего, он безнадежно устарел - он рассчитан еще на работу с register_globals=on, как во времена PHP < 4.1;
  • передавать имя реального файла может быть небезопасно;
  • по большому счету, этот пример не иллюстрирует преимуществ модульности, т.к. еще неизвестно что удобнее - иметь один index.php, куда инклюдится все на свете (отсюда - куча проверок, что в какой ситуации выводить) либо набор отдельных файлов типа news.php, guestbook.php и т.п., отвечающих только за свою функциональность и инклюдящие при необходимости общие вещи (те же config.php, dbconnect.php, header/footer/menu.php...) - по крайней мере, Вашу проблему с header-редиректом явно проще решить вторым вариантом.

Так что развивать/дорабатывать этот "движок" я Вам решительно не советую. Лучше начните с того, что в Вашей системе должны представлять собой модули - полностью независимые скрипты, фрагменты страницы, наборы данных с шаблоном оформления или что-то еще. В каждом случае будет свой оптимальный вариант реализации.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Goganchic
Дата 22.5.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Господа, раз уж все так яростно осуждаю данный двиг, может тогда собраться всем вместе и написать некий небольшой движок-пример с модульной структурой? Я бы может тоже принял в этом участие.
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0872 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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