#1 06.03.07 21:03
PHP - Помогите разобраться с голосованием и функцией Include!
Создаю в скрипте новое голосование
(выдаётся информация - В нужном месте страницы установите голосование с адресом путь_к_голосованию/index_gol.php?idg=33)
Из документа readme
(Полный список голосований вы найдете по адресу путь_к_голосованию/index_x.php
Если у вас страница написанна средствами PHP, установка голосования производится функцией include. В нужном месте страницы установите такой код <?php include ("index_gol.php"); ?>)
Когда пишу в main.php файле <?php include ("index_gol.php"); ?>) всё работает нормально выдаёт список голосований со ссылками например одна из них (index_gol.php?idg=33)
и само голосование выдаёт по адресу http://страница.ru/main.php?idg=33
!!! Когда пишу <?php include ("index_gol.php?idg=33"); ?>) выдаёт ошбку! !!! Видимо здесь чтото нето пишу
Warning: main(index_gol.php?idg=33): failed to open stream: No such file or directory in
Warning: main(): Failed opening 'index_gol.php?idg=33' for inclusion (include_path='.:') in адрес страницы on line 217
в чём прикол? кто может подсказать?
Исправлено Slawa (06.03.07 21:12)
Offline
#3 06.03.07 21:46
Re: PHP - Помогите разобраться с голосованием и функцией Include!
в том и дело что насколько понимаю никаких путей ненадо файл main.php и index_gol.php в одной папке лежат ведь в корневой. Можно конечно выкрутиться и выдать ссылку на главну страницу http://megaher.h17.ru/main.php?idg=33 но это както грустно*(
Offline
#4 06.03.07 21:52
Re: PHP - Помогите разобраться с голосованием и функцией Include!
Простите, а разве через include вобще возможна передача get-запроса!? На сколько я знаю, include суть фунция, осуществляющая подстановку текста указанного файла в текущее место php-скрипта: естественно, что файла /path/to/site/index_gol.php?igd=33 в твоей файловой системе нет. Тут либо реорганизовывай структуру приложения (что б не include-ить файл, а делать редирект на него), либо правь его содержимое (чтоб переменные брал не из $_GET массива, а локально)... Вот...
Offline
#5 06.03.07 22:15
Re: PHP - Помогите разобраться с голосованием и функцией Include!
efferson, ну дело в том что скрипт писал не я а он взят из базы давно используемых рабочих простеньких скриптов для чайников не шарящих или слабо шарящих в PHP ну таких типо как я. Ну дык вот и он естественно проверялся на работоспособность и прочее? называется он
ArT-Голосование v.0.1
http://web-master.h14.ru/dlcount.php?ur … rt_vot.zip - ссылка на его собствнно.
может кто настраивал его?
Offline
#9 07.03.07 00:19
Re: PHP - Помогите разобраться с голосованием и функцией Include!
efferson написал(а):
require также может?
require и include идентичны во всём, за исключением обработки ошибок. include() выдаёт Warning, а require() выдаёт Fatal Error.
Slawa написал(а):
Karminsky, спасибо всё заработал. Ну и просто интересно почёму при указании глобального адреса работает?
Потому что без указания http-протокола, файл ищется в локальной файловой системе; а локально, без сервера, вызвать файл с GET-запросом ты не можешь.
Offline
#10 07.03.07 00:22
Re: PHP - Помогите разобраться с голосованием и функцией Include!
Slawa написал(а):
Ну и просто интересно почёму при указании глобального адреса работает?
потому что выполняется метод get (протокол http) для указанного url, а в нем передаются параметры, что разрешено
в случае с локальным открытием файла никакой get не выполняется, вместо этого выполняется системный вызов open, который http (и url, соответственно) не понимает
Offline
#11 07.03.07 00:31
#12 07.03.07 13:14
Re: PHP - Помогите разобраться с голосованием и функцией Include!
а не проще ли сделать файл конфига в котором прописать
if (!defined("PATH_SEPARATOR"))
define("PATH_SEPARATOR", getenv("COMSPEC")? ";" : ":");
ini_set("include_path", ini_get("include_path").PATH_SEPARATOR.dirname(__FILE__));
таким образом для каждого файла создаётся дополнительный путь для поиска файлов, подгружаемых через include или require
Offline

