Официальный сайт студ.городка НГТУ
Программирование и БД » PHP - Помогите разобраться с голосованием и функцией Include! 

#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

#2  06.03.07 21:32

Re: PHP - Помогите разобраться с голосованием и функцией Include!

Разберись с путём к файлу. Если совсем никак разобраться с "./" и "../", то пиши полный путь вместе с http, пофиг, тебе сойдёт :)

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

#6  06.03.07 23:02

Re: PHP - Помогите разобраться с голосованием и функцией Include!

// Не будет работать; ищет файл 'file.php?foo=1&bar=2' в локальной
// файловой системе.
include 'file.php?foo=1&bar=2';

// Работает.
include 'http://www.example.com/file.php?foo=1&bar=2';

Offline

#7  06.03.07 23:42

Re: PHP - Помогите разобраться с голосованием и функцией Include!

Karminsky написал(а):

// Работает.
include 'http://www.example.com/file.php?foo=1&bar=2';

Акуеть... не знал... require также может?

Offline

#8  07.03.07 00:05

Re: PHP - Помогите разобраться с голосованием и функцией Include!

Karminsky, спасибо всё заработал. Ну и просто интересно почёму при указании глобального адреса работает?

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

Re: PHP - Помогите разобраться с голосованием и функцией Include!

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

Offline

#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

Программирование и БД » PHP - Помогите разобраться с голосованием и функцией Include! 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 1.051 сек.
Выполнено 11 запросов.