Инклюд по условию общие и частные вопросы

VovkaS

Guest
Инклюд по условию общие и частные вопросы

Начну с частного.

Ситуация такая.
Есть ссылка типа index.php?b=view
и код который ЭТО обрабатывает

if (empty($b)){include("start.php");}
else {print include "$b./index.php";}

Файл включается но появляется паразит в виде 1

Чесно скажу я где-то читал об этой единице, но вспомнить не могу и найти тоже.
Как ее убрать?
 

Кром

Новичок
>if (empty($b)){include("start.php");}
>else {print include "$b./index.php";}

VovkaS
Хо-хо, парниша! Шикарный код!
 

VovkaS

Guest
Кром как умею так и.....
но это временный вариант, не терпится посмотреть на све сделанное в собранном виде. А на изучение шаблонов у меня уйдет пара месяцев, не ждать же все это время.

Если можешь, чегото подсказать буду рад выслушать. Мне не нужен работающий код, с этим я постараюсь сам разобраться. А вот концепцию сборки сайта из частей я пока не понимаю....


Я в некоторых местах получаю:
Warning: main(/inc/connect.php): failed to open stream: No such file or directory in C:\WEBSER~1\home\mgrt\www\news\~out.php on line 4
Fatal error: main(): Failed opening required '/inc/connect.php' (include_path='.;c:\php4\pear') in C:\WEBSER~1\home\mgrt\www\news\~out.php on line 4

Это когда запускаю выполнение кода в PHP-Dev а когда запускаю сайт, то все работает и ничего фатального не случается.... Что у меня не так.
 

SiMM

Новичок
Автор оригинала: VovkaS
Кром как умею так и.....
Думаю, Кром намекал на то, что твой код небезопасен - представь, что произойдёт, если я вызову index.php?b=http://my_site/crack
но это временный вариант, не терпится посмотреть на све сделанное в собранном виде.
Ничто не бывает столь постоянным, как временное.
Вообще, если тебе нужен работающий код, то тебе крайне необходимо ознакомиться с самой важной информацией по PHP полностью. Начать можешь с PHP FAQ: Не передаются переменные!!!, чтобы в будущем брать данные откуда следует.
 

#!/Perlik

Guest
mozhno sdelat vot tak:

if (!isset($_GET['action'])) {$_GET['action']='news';}

switch ($_GET['action']) {
case "faq":
require "inc/faq.inc.php";
break;
 

Фанат

oncle terrible
Команда форума
#!/Perlik
ага, и так для каждого документа.
Скажем, на сайте появляется по две новости в день...
 

VovkaS

Guest
Фанат я читал эту тему но не понимаю, что именно делаю не так.
я делаю так
require($_SERVER["DOCUMENT_ROOT"]."/inc/connect.php");
чтобы было универсально... но, что-то не так....
(буду весьма признателен за общую инфу по сборке сайтов, планированию структурыи т.п.)

SiMM этот вариант лежит у меня на локалхосте и никто кроме меня им не наслаждается :)

Фанат
> ага, и так для каждого документа.
У меня новости берутся из базы :)
 

antiportal

Guest
Убери print. Этот оператор используется только для вывода переменных/результатов работы ф-ции.

я делаю так
require($_SERVER["DOCUMENT_ROOT"]."/inc/connect.php");
Если ты делаешь так и у тебя не мисконфиг сервера, то все должно работать.
 

SiMM

Новичок
Автор оригинала: VovkaS
Фанат я читал эту тему но не понимаю, что именно делаю не так.
я делаю так
require($_SERVER["DOCUMENT_ROOT"]."/inc/connect.php");
чтобы было универсально... но, что-то не так....
Что не так тебе подскажет выполнение рекомендаций PHP FAQ: Ничего не работает! Что делать???
 

Фанат

oncle terrible
Команда форума
VovkaS
я делаю так
require($_SERVER["DOCUMENT_ROOT"]."/inc/connect.php");
А что содержится в $_SERVER["DOCUMENT_ROOT"]? В результате путь получается правильный?
буду весьма признателен за общую инфу по сборке сайтов, планированию структурыи т.п
Ну, вот, например:
У меня новости берутся из базы
а зачем тебе тогда вообще что-то инклюдить из квери стринга?
почему бы тебе не обращаться напрямую к скриптам - start.php, news.php?
Зачем писать специальную программу единственная задача которой - показывать другие скрипты?

обращаться к скриптам напрямую - это очень удобная и простая структура.
В самом начале скрипта инклюдишь настройки, где надо - шаблон с общими частями.
Все компактно и самостоятельно.
 

antiportal

Guest
почему бы тебе не обращаться напрямую к скриптам - start.php, news.php?
Зачем писать специальную программу единственная задача которой - показывать другие скрипты?
Опять глупость скажу: а как же все удобства единой точки входа?
 

SiMM

Новичок
Автор оригинала: antiportal
а как же все удобства единой точки входа?
Какие удобства? И вообще, какое отношение этот вопрос имеет к топику под названием "Инклюд по условию"?
 

Фанат

oncle terrible
Команда форума
SiMM, поскольку он у нас антипод, человек из антиматерии, и все у него вверх ногами, то его слова надо понимать, как НЕудобства.
Такие ,как проблемы с разделениес скриптов на до точки входа и после, проблема отправки заголовков, проблема написания лишнего кода - и так далее.
 

antiportal

Guest
Фанат
Спасибо. Я с этими проблемами пока не сталкивался.. посмотрю.
И тем более с
проблема отправки заголовков, проблема написания лишнего кода
С заголовками - всегда есть буфер, а про лишний код -- в каждом скрипте:
В самом начале скрипта инклюдишь настройки, где надо - шаблон с общими частями.
 

Фанат

oncle terrible
Команда форума
а про лишний код -- в каждом скрипте:
этого кода не больше, чем при подключении нового раздела в индекс.

А вообще, мне надоело разжевывать тебе азы.
Пойди отдохни.
В форум больше не пиши - удалю.
 

antiportal

Guest
Фанат
Ай, ай Рома.. Вот где ты модератор, там у тебя и хороший форум.
 
Сверху