[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемка с $_GET
m4a1fox
Добрый день еще раз. Определяю в файле вот это

define('CL_LIBS_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/libs/');
define('CL_TPL_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/tpl/');

пытаюсь сделать так

<?php
if (!isset($_GET['show']))
{
include_once CL_TPL_PATH .'tpl_banner.php';
}
?>

а не работает. Причем если делать так

echo CL_TPL_PATH ;

то все нормально работает. Объясните почему так?



Спустя 6 минут, 26 секунд (5.04.2011 - 14:35) pak написал(а):
Вы где нибуть до этого вызывали
include_once CL_TPL_PATH .'tpl_banner.php';
??

Спустя 1 минута, 47 секунд (5.04.2011 - 14:36) m4a1fox написал(а):
pak
Да нет!

Спустя 4 минуты, 7 секунд (5.04.2011 - 14:40) pak написал(а):
а так ?
if (isset($_GET['show']))
{
include_once CL_TPL_PATH .'tpl_banner.php';
}

Спустя 9 секунд (5.04.2011 - 14:41) Игорь_Vasinsky написал(а):
может слеша не хватает?

include_once(CL_TPL_PATH .'/tpl_banner.php');

Спустя 5 минут, 20 секунд (5.04.2011 - 14:46) m4a1fox написал(а):
pak
Так тоже не сработало....
Игорь_Vasinsky
Да слеш на месте....

Спустя 5 минут, 48 секунд (5.04.2011 - 14:52) killer8080 написал(а):
m4a1fox
а вы уверены что правильно объявляете константы
define('CL_LIBS_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/libs/');
define('CL_TPL_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/tpl/');

может надо так
define('CL_LIBS_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/libs/');
define('CL_TPL_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/tpl/');

Спустя 4 минуты, 16 секунд (5.04.2011 - 14:56) Игорь_Vasinsky написал(а):
может потому что нужно не абсалютный путь, а относительный указывать

Спустя 49 секунд (5.04.2011 - 14:57) Игорь_Vasinsky написал(а):
т.е. не адрес, а путь - как он есть на сервере

Спустя 23 минуты, 33 секунды (5.04.2011 - 15:20) m4a1fox написал(а):
Даже если так написать

define('CL_LIBS_PATH', '/admin/skins/libs/');
define('CL_TPL_PATH', '/admin/skins/tpl/');

один черт не работает!

Спустя 1 минута, 26 секунд (5.04.2011 - 15:22) m4a1fox написал(а):
killer8080
А вот это

define('CL_LIBS_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/libs/');
define('CL_TPL_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/tpl/');
помогло. Блин, ну как так?

Спустя 5 минут, 37 секунд (5.04.2011 - 15:27) m4a1fox написал(а):
Вообще странно как-то.

define('CL_LIBS_PATH', 'http://'. $_SERVER['SERVER_NAME'].'/admin/skins/libs/');
define('CL_TPL_PATH', 'http://'. $_SERVER['SERVER_NAME'].'/admin/skins/tpl/');

и

define('CL_LIBS_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/libs/');
define('CL_TPL_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/admin/skins/tpl/');

не работают с include. Может что то в настройках файла.htaccess напортачил?


А вот это

define('CL_LIBS_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/libs/');
define('CL_TPL_PATH', $_SERVER['DOCUMENT_ROOT'].'/admin/skins/tpl/');

сработало.

Спустя 12 минут, 18 секунд (5.04.2011 - 15:40) killer8080 написал(а):
Ничего странного, инклюдить файлы нужно через файловую систему, а не через веб. Было бы странно если б заработало. Делая так
define('CL_LIBS_PATH', 'http://'. $_SERVER['SERVER_NAME'].'/admin/skins/libs/');
define('CL_TPL_PATH', 'http://'. $_SERVER['SERVER_NAME'].'/admin/skins/tpl/');

вы будете не подключать содержимое файла, а запрашивать страницу, то есть
include_once CL_TPL_PATH .'tpl_banner.php';
сделает запрос к вебсерверу, а тот в свою очередь запустит скрипт tpl_banner.php и вернет то, что он выдаст наружу.
Если делать так
define('CL_LIBS_PATH', '/admin/skins/libs/');

то это абсолютный путь от корня файловой системы, что то же ошибка.

Спустя 9 минут, 18 секунд (5.04.2011 - 15:49) m4a1fox написал(а):
killer8080
Так в том и проблема, что вот так

define('CL_LIBS_PATH', '/admin/skins/libs/');

тоже не работает!

Спустя 2 минуты, 6 секунд (5.04.2011 - 15:51) m4a1fox написал(а):
killer8080
А.... извините... не дочитал до конца сообщение!

Спустя 5 минут, 40 секунд (5.04.2011 - 15:57) killer8080 написал(а):
Цитата (m4a1fox @ 5.04.2011 - 14:49)
тоже не работает!

Естественно, сайт ведь находится в какой то директории (например /home/user/www), а не в корне. Относительный путь пишется так
define('CL_LIBS_PATH', 'admin/skins/libs/');

но в константах правильно указывать абсолютный путь, и прописывать не вручную, а через переменную окружения $_SERVER['DOCUMENT_ROOT'], тогда он будет без ошибок работать и на локалхосте при отладке, и на рабочем хостинге.

Спустя 1 час, 43 минуты, 10 секунд (5.04.2011 - 17:40) m4a1fox написал(а):
killer8080
Спасибо конечно. Но буду лучше обычным способом.

Спустя 14 минут, 48 секунд (5.04.2011 - 17:55) Игорь_Vasinsky написал(а):
Шаблон выводится вот так:

echo CL_TPL_PATH."tpl_banner.php";


а вот так путь выводиться:

echo CL_TPL_PATH;

Спустя 39 минут, 34 секунды (5.04.2011 - 18:34) killer8080 написал(а):
Цитата (m4a1fox @ 5.04.2011 - 16:40)
Но буду лучше обычным способом.

обычным это каким? что не обычного в переменных окружения?

Спустя 1 минута, 1 секунда (5.04.2011 - 18:35) m4a1fox написал(а):
Игорь_Vasinsky
То есть через include выводить путь - нельзя?

Спустя 36 секунд (5.04.2011 - 18:36) m4a1fox написал(а):
killer8080
То что мне показывается полный путь.... вот собственно это.

Спустя 7 минут, 52 секунды (5.04.2011 - 18:44) Игорь_Vasinsky написал(а):
Цитата
То есть через include выводить путь - нельзя?


Инклуд не путь выводит, а грузит страницу (это ты знал, не спорим)

echo - предположу что тоже выведет твой шаблон - при условии что путь верен

ты покажи вывод константы CL_TPL_PATH

во вторых пробел около точки

include_once CL_TPL_PATH_.pl_banner.php';

в третьих если исключить константы и переменные - и тупо прописать URL - строкой

в четвертых - достаточно было бы указать путь до папки с шаблоном от корня:

define('CL_LIBS_PATH', './admin/skins/libs/');
define('CL_TPL_PATH', './admin/skins/tpl/');

Спустя 9 минут, 5 секунд (5.04.2011 - 18:53) m4a1fox написал(а):
Игорь_Vasinsky
Хорошо! Я не спорю, так как вы гораздо лучше разбираетесь... но вот это

define('CL_LIBS_PATH', './admin/skins/libs/');
define('CL_TPL_PATH', './admin/skins/tpl/');

я пишу в файле подключения db.
А вывожу вот так

<?php
if (!isset($_GET['show']))
{
include_once CL_TPL_PATH .'tpl_banner.php';
}
?>

По вашему - это верно?

Спустя 3 минуты, 50 секунд (5.04.2011 - 18:57) Игорь_Vasinsky написал(а):
Я не знаю кто лучше разбирается :D

ты так пробовал?

define('CL_LIBS_PATH', './admin/skins/libs/');
define('CL_TPL_PATH', './admin/skins/tpl/');


какие ошибки вылетают?

а то 2я страница а нотиов всё нет и нет...

Спустя 2 минуты, 7 секунд (5.04.2011 - 18:59) m4a1fox написал(а):
Игорь_Vasinsky
Нотисы отключены у меня rolleyes.gif

Спустя 3 минуты, 29 секунд (5.04.2011 - 19:02) m4a1fox написал(а):
Все. Разобрался. Удалил слово admin из ссылки!

Спустя 1 минута, 52 секунды (5.04.2011 - 19:04) Игорь_Vasinsky написал(а):
так блин....

ну нельзя же так - ты сам в слепую прёшь и нас за собой водишь.

вклчай вывод ошибок и давай сюда....

вот блин... huh.gif

Спустя 31 секунда (5.04.2011 - 19:05) Игорь_Vasinsky написал(а):
да уж... меняй ник на SUSANIN biggrin.gif

Спустя 2 минуты, 46 секунд (5.04.2011 - 19:08) m4a1fox написал(а):
Игорь_Vasinsky
Хм... Тут еще кое что. Вывод ошибок. Не получается его регулировать при помощи .htaccess. Думаю это надо менять где то в другом месте...

Спустя 2 минуты, 44 секунды (5.04.2011 - 19:10) Игорь_Vasinsky написал(а):
ну естественно.

эррор_репортинг_олл

что то токое... я ужнать сел

Спустя 2 минуты, 53 секунды (5.04.2011 - 19:13) alex12060 написал(а):
Я вот не понял, все трындят и трындят, а никто не знает что-ли, что подключение файлов через ссылки (http, ftp, https) по умолчанию запрещены?

Не дочитал нормально)
Ок

Спустя 4 минуты, 18 секунд (5.04.2011 - 19:17) m4a1fox написал(а):
alex12060
Аааааааааааааааааааааа фак мой мозг. Как вы это узнали???????????? И где вы были раньше?????????????

Спустя 1 минута, 18 секунд (5.04.2011 - 19:19) Игорь_Vasinsky написал(а):
biggrin.gif biggrin.gif biggrin.gif всегда в толпе тупых - найдётся умный и в конце всех добъёт wink.gif

Спустя 1 минута, 49 секунд (5.04.2011 - 19:21) alex12060 написал(а):
biggrin.gif biggrin.gif biggrin.gif

Спустя 2 минуты, 30 секунд (5.04.2011 - 19:23) Игорь_Vasinsky написал(а):
ну вот! снова друг!

Спустя 6 минут, 14 секунд (5.04.2011 - 19:29) m4a1fox написал(а):
alex12060
Значит нельзя, да?

Спустя 4 минуты, 23 секунды (5.04.2011 - 19:34) Игорь_Vasinsky написал(а):
я не эксперементировал, ну раз Лёха сказал - наверно нет.

Спустя 10 минут, 30 секунд (5.04.2011 - 19:44) killer8080 написал(а):
m4a1fox
я уже объяснял почему нельзя инклудить файлы с расширением php через http.
Цитата (alex12060 @ 5.04.2011 - 18:13)
подключение файлов через ссылки (http, ftp, https) по умолчанию запрещены?

всё зависит от хостера. На платных хостингах обычно включён.

PS за это отвечает директива в php.ini allow_url_fopen
в любом случае инклюдить локальные файлы через ftp/http это то же самое, что удалять зуб через задний проход biggrin.gif

Спустя 38 минут, 25 секунд (5.04.2011 - 20:23) killer8080 написал(а):
Пардон, ошибся не allow_url_fopen, а allow_url_include и по умолчанию она выключена

Спустя 13 минут, 44 секунды (5.04.2011 - 20:36) twin написал(а):
Цитата
инклюдить локальные файлы через ftp/http это то же самое, что удалять зуб через задний проход

Скорее это похоже на забивание гвоздей гранатой.

Спустя 4 минуты, 19 секунд (5.04.2011 - 20:41) alex12060 написал(а):
Чуваки, я думал вы реально прикалываетесь, а вы оказывается не знали? оО
Или до сих пор прикалываетесь?))

ааааа, черт)

Спустя 2 минуты, 8 секунд (5.04.2011 - 20:43) Игорь_Vasinsky написал(а):
ну там стока про относительный путь понаписано

Спустя 2 часа, 33 минуты, 22 секунды (5.04.2011 - 23:16) m4a1fox написал(а):
Походу, Леха, ты один знал biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.