Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> require, include, можно-ли через них передавать данные GET 
:(
    Опции темы
slang
Дата 9.8.2005, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Каким образом можно заменить
Код

$url="../user/login.php?login=name";
require_once($url);

чтобы это заработало. Что-то не получается.


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.8.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



И не будет.
Выход просто заранее объявить переменную с параметром а затем использовать ее уже в подключаемом файле.
PM ICQ   Вверх
slang
Дата 9.8.2005, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Смысл понятен. Спасибо. Но у меня проблемка такая:
В htaccess стоит: ErrorDocument 404 /index.php
Форма отправляет данные на не существующий url и соответственно попадает на index.php
В index.php есть строка:

Код

$menu="../rec.php" //(например)
require_once($menu);

из GET я достал строку: menu_get = login=789&pas=456&B1=%C2%EE%E9%F2%E8
А как ее теперь передать в rec.php.
Т.е. это я тоже понял, должна быть строка $login=789;
Но как это сделать не укладывается в голове.
Код:
Код

    foreach ($_GET as $index => $val)
    {
        print ("<br>$index -> $val");
    }

Ни чего не выводит. Получается, что если на эту страницу ппали не напрямую из формы, а через 404 ошибку, то GET не действителен что ли? Но ведь $REQUEST_URI работает.
Надеюсь, моя задача решаема.
Хотя хотелось бы всетаки не через GET, а через POST из формы передать. Но в этом случае вообще данные ни где не светятся.

Это сообщение отредактировал(а) slang - 9.8.2005, 16:10


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.8.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



1. Ты что форму через GET посылаешь, при этом показывая пароль???? Нельзя так делать.

Цитата(slang @ 9.8.2005, 17:07)
Получается, что если на эту страницу ппали не напрямую из формы, а через 404 ошибку, то GET не действителен что ли?

GET действителен всегда, но... ErrorDocument работает по принципу старый запрос -> новый запрос и между собой они никак не взаимодействуют, т.к. параметы от первого запроса ты через ErrorDoxument не пердашь во второй.

2. Тут можно попробовать через mod_rewrite поработать. Он сохранит POST и GET данные от старого запроса.

Смотри тут: http://forum.vingrad.ru/index.php?act=modu...nel§ion=803
Особенно: http://forum.vingrad.ru/index.php?act=modu...el&article=2835
PM ICQ   Вверх
slang
Дата 9.8.2005, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Сделал через
Код

$menu=parse_url($REQUEST_URI);

вообще шоколадно. Скрипт, который надо запускать берется из $menu[path].
А вот как обработать $menu[query], которая может быть например равна, опять же,
login=789&pas=789&B1=%C2%EE%E9%F2%E8
черт его знает.



--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.8.2005, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



slang через mod_rewrite?

Цитата(slang @ 9.8.2005, 17:40)
login=789&pas=789&B1=%C2%EE%E9%F2%E8
черт его знает.

Ну в принципе банально smile
Код
<?php

 $str = "login=789&pas=789&B1=%C2%EE%E9%F2%E8";

 preg_match_all( "#(.+?)=(.+?)(?:&|$)#" , $str , $matches , PREG_PATTERN_ORDER );

 print_r( $matches );

# $matches[1] - ключи
# $matches[2] - значения

?>


PM ICQ   Вверх
slang
Дата 9.8.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



по mod_rewrite - прочитал сообщение позже, чем написал предыдущее. обязательно разберусь с этим модулем. Спасибо.
Про банально:
получается строка:
[quote]
Array ( [0] => Array ( [0] => login=789& [1] => pas=789& [2] => B1=%C2%EE%E9%F2%E8 ) [1] => Array ( [0] => login [1] => pas [2] => B1 ) [2] => Array ( [0] => 789 [1] => 789 [2] => %C2%EE%E9%F2%E8 ) )
[/quote]
Каким образом-то мне сказать rec.php, что $login=789, а $pas=789.
У меня с такой длинной строчкой голова пошла кругом.
получается, что:
matches[0]=Array ( [0] => login=789& [1] => pas=789& [2] => B1=%C2%EE%E9%F2%E8 )
matches[1]=Array ( [0] => login [1] => pas [2] => B1 )
matches[2]=Array ( [0] => 789 [1] => 789 [2] => %C2%EE%E9%F2%E8 )

Вопрос полного тормоза - как получить значение matches[1,0]. Я знаю, что написано не правильно.
Знаю, что можно обработать через foreach, но не вижу смысла в данном контексте.
Главный-то вопрос:

Каким образом-то мне сказать rec.php, что $login=789, а $pas=789.

Кстати по mod_rewrite не нашел про POST. Смотрел, конечно не очень внимательно, но там в основном речь идет о структуризованных запросах типа новостных лент - известна дата и от нее прыгаем, т.е. известно максимальное количество вложений по крайней мере в примерах.
[/quote]
http://news.ru/2005/08/09/news.html - соответствует index.php?y=2005&m=08&d=09&str=news, например
[quote]
Я же пытаюсь сделать наоборот: http://news.ru/2005/08/09/ - соответствует ../2005/08/09.php.
Честно говоря не знаю нафига мне это понадобилось, но раз уж взялся хотелось-бы доделать. Пока стандартными средствами все получилось, заморочка только в GET и/или POST получилась. Все остальное порешаю через сессии.


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 9.8.2005, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(slang @ 9.8.2005, 18:26)
Вопрос полного тормоза - как получить значение matches[1,0]. Я знаю, что написано не правильно.
Знаю, что можно обработать через foreach, но не вижу смысла в данном контексте.
Главный-то вопрос:

Код

print $matches[1][$i] . " = " . $matches[2][$i] . "<br />";
// Это в цикле выведешь - поймешь


Цитата(slang @ 9.8.2005, 18:26)
Кстати по mod_rewrite не нашел про POST. Смотрел, конечно не очень внимательно, но там в основном речь идет о структуризованных запросах типа новостных лент - известна дата и от нее прыгаем, т.е. известно максимальное количество вложений по крайней мере в примерах.

И не надо ничего находить. mod_rewrite не делает пересылки на новый GET запрос а просто подменяет его, сохраняя POST параметры. mПри ключе [QSA]
PM ICQ   Вверх
slang
Дата 9.8.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Все получилось. Спасибо.
Следующий раз через mod_rewrite делать буду.


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
slang
Дата 9.8.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: -1
Всего: 0



Сделал через mod_rewrite. Оказалось даже проще. В htaccess написал:
Код

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA] 

И все переменные, переданные через POST получаются в массиве $_POST[key].
Просто супер!


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1144 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.