С нами с 22.10.03
Сообщения: 598
Рейтинг: 706
|
Добавлено: 20/04/05 в 22:25 |
Сабж.
Например:
include ("result.php"); - работает;
include ("result.php?id=5"); - не работает, а надо-бы чтоб работал
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 20/04/05 в 22:33 |
pashtet писал: | Сабж.
Например:
include ("result.php"); - работает;
include ("result.php?id=5"); - не работает, а надо-бы чтоб работал |
а что в файле?
что ты вообще хочешь сделать, объясни
|
|
|
|
/dev/awm
С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127
|
Добавлено: 20/04/05 в 22:40 |
и не будет. ты не правильно понимаешь смысл функции include. incude - обозначает "включить данный файл в обработку интерпретатора". т.е. просто взять текст из этого файла и продолжить парсить с этого места.
если хочешь передать параметры внутрь этого файла, используй глобальные переменные.
например:
file foo.php:
Код: |
<?
$id=5;
incude("result.php");
?>
|
file result.php
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 20/04/05 в 23:53 |
pashtet писал: |
include ("result.php?id=5"); - не работает, а надо-бы чтоб работал |
ты не должен этого хотеть и работать не будет ,выше написали как лучше сделать.
|
|
|
|
С нами с 16.04.05
Сообщения: 754
Рейтинг: 352
|
Добавлено: 21/04/05 в 00:04 |
Если внутренний - то тебе правильный путь уже сказали.
Если это внешний скрипт, то его инклудить нельзя - тебе надо ему POST'ом передать парметры. Если трабл самому написать - стучись
307-032-118
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 21/04/05 в 00:50 |
Sirgey писал: | ...Если это внешний скрипт, то его инклудить нельзя - тебе надо ему POST'ом передать парметры... |
или все-таки GET-ом?
JpS писал: | и не будет. ты не правильно понимаешь смысл функции include. incude - обозначает "включить данный файл в обработку интерпретатора". т.е. просто взять текст из этого файла и продолжить парсить с этого места.
если хочешь передать параметры внутрь этого файла, используй глобальные переменные.
например:
file foo.php:
Код: | <?
$id=5;
incude("result.php");
?> |
file result.php
Код: | <?
echo $id; // здесь переменная $id (как я понял) должна быть
?> | |
Это будет работать только когда result.php программился как подключаемый модуль, а не самостоятельная программа или в ней включены РегистрГлобал Т.е. если программер писал правильно:
result.php
Код: | <?
$id = $_GET['id'];
echo $id; ?> |
получится херня.
Однозначных рекомендаций нет, надо смотреть код этого result.php.
1. перед инклюдом сделать $_GET['id'] = $id; (не всегда проходит и считается плохим стилем)
2. ввести в result.php анализатор инклюда или самостоятельного запуска с параметрами... типа:
result.php
Код: | <?
$id = (isset($inner))? $id : $_GET['id'];
echo $id; ?> |
foo.php:
Код: | <?
$inner=1;
$id=5;
incude("result.php");
?> |
Вот так работать будет.
Удачи в экспериментах
Последний раз редактировалось: sAx (21/04/05 в 00:57), всего редактировалось 1 раз
|
|
|
|
С нами с 16.10.02
Сообщения: 1459
Рейтинг: 1005
|
Добавлено: 21/04/05 в 00:56 |
хмм. вот прикол. а у меня работает.
и так:
Код: | $remURL = "./";
include($remURL."file.php?".$string); |
и так:
Код: | $remURL = "http://domain.com/";
include($remURL."file.php?".$string); |
и так:
Код: | include "http://domain.com/file.php?id=".$id."&v=".$v."&ref=".$ref; |
обьясните, почему внешние скрипты нельзя инклудить?
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 21/04/05 в 01:02 |
fil: я выше ответил. У тебя работает только потому, что скрипты написаны с нарушением правил безопасности (т.е. если отключить РегистрГлобал они вообще откажутся работать).
|
|
|
|
С нами с 22.10.03
Сообщения: 598
Рейтинг: 706
|
Добавлено: 21/04/05 в 07:59 |
sAx +10
2fil. Вот и у меня на локальной машине работало, а на hqhost - нет.
Будем пробовать...
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 21/04/05 в 11:41 |
virtual()
но в любом случае это изврат.
|
|
|
|
С нами с 26.02.03
Сообщения: 2366
Рейтинг: 987
|
Добавлено: 21/04/05 в 16:01 |
fil писал: | обьясните, почему внешние скрипты нельзя инклудить? |
Кто сказал что нельзя ? Вот из хелпа: Код: | Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального pathname. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт |
|
|
|
|
С нами с 18.03.04
Сообщения: 38
Рейтинг: 16
|
Добавлено: 23/04/05 в 02:31 |
Cibtor писал: | Кто сказал что нельзя ? Вот из хелпа: Код: | Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального pathname. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт | |
Так если через fopen открывать url, то мы получим просто вывод вэб сервера, в случае с PHP скриптом
Код: |
<?php
$i=1;
echo $i;
?>
|
получим просто цифру 1
никакие переменные естественно в основной скрипт не передадутся.
|
|
Скрипты на заказ.
(PHP, MySQL, HTML...)
|
2
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 23/04/05 в 14:00 |
Интересна, нахуя делать запрос, открывать лишний раз сокет, тратить память, если можно сделать саб-запрос апача ф-цией virtual()? Велосепидисты....
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 23/04/05 в 14:31 |
Код: | Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального pathname. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. |
хм... я даже и не думал, что бывает программирование с БДСМ уклоном
Любителям пожестче -- задача: Как запросить собственный серв через 3-5 проксей (возможно ВПН).
Чтобы предупредить вопрос "зачем?", сразу отвечу "чтобы жестоко!"
Усложнение задачи: То же самое, только запрос файла из папки за пределами серва.
Еще усложнение: Файл на флешке у саппорта (в кармане).
...вот он какой, Программерский БДСМ!
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 23/04/05 в 14:36 |
|
|
|
|
С нами с 26.02.03
Сообщения: 2366
Рейтинг: 987
|
Добавлено: 23/04/05 в 15:07 |
Прикалываетесь Вопрос то был fil писал: | обьясните, почему внешние скрипты нельзя инклудить? |
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 23/04/05 в 15:18 |
Cibtor писал: | Прикалываетесь Вопрос то был |
Я на него ответил выше. А те садомазохсты не знаю что обсуждают вообще
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 23/04/05 в 15:47 |
Pentarh писал: | Я на него ответил выше. А те садомазохсты не знаю что обсуждают вообще |
так и я же вроде ответил -- вполне рабочий вариант с анализом самостоятельного запуска или инклюда.
А потом пришел СМ и я усложнил задачу... до безобразия усложнил
|
|
|
|