Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проблема с Get запросом
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
У меня есть форма регистрации, она отправляется на сервер с помощью ajax по get'у. И все нормально, но я потом еще создал файлик чтобы скрывать директорию в исходном коде страницы, так как если просмотреть исходный код страницы найти этот js кусок с отправкой данных то там же будет прописан полный путь до него типа: system/plugins и тд. А я сделал так чтобы он отправлял эти параметры на файл url.php и туда передавал два параметра 1 параметр название каталога, например x1 где x1 в самом url.php означает каталог system/plugins/ajax, а 2 параметр имя необходимого скрипта.
mod_rewrite в htaccess настроил что бы url был вот таким: http://site[dot]com/url/x1/name_file.php
По этому же принципу я сделал и картинки, файлы стилей...
Но вот теперь при передачи параметров на этот файл(url.php) скрипт подключаемый в этом файле(сам обработчик) не видит их, думаю это связано с ЧПУ которое я сделал для url.php.
И теперь не знаю что делать, как сделать чтобы этот файл(url.php) видел эти параметры?
----- Так было, так есть и так будет
Данил_123
Отправлено: 08 Декабря, 2011 - 21:09:59
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
пример работы:
localhost/catalog/file.php
catalog - $args[0]
file.php - $args[1]
я вас правильно понял?
vanicon
Отправлено: 08 Декабря, 2011 - 22:46:14
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Не помогло, так как параметры передаются по Get'у, а там что типо такого будет: http://test2[dot]ru/url_hide/h435345[dot][dot][dot]&mesto=43545
и вылезает ошибка, так как в $args[2] = register.php?login=67657&password=435454&passwordclone=45435454&email=343434&mesto=43545
Но дело тут не в ошибки все ровно параметры такие как $_GET['login'] и $_GET['password'] и другие, скрипт (сам обработчик да и url.php) не видит.
В принципе можно разбором этой ссылке получить эти get параметры, но все это будет зависеть от их последовательности в передачи get запроса, может есть какой вариант попроще?
----- Так было, так есть и так будет
Bio man
Отправлено: 08 Декабря, 2011 - 23:05:18
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
vanicon пишет:
но все это будет зависеть от их последовательности
неа, не будет. можно получить query_string. кароче, обращение к нужному файлу идет из файла url.php таким образом $args[0].'/'.$args[1].'/'.$args[2]
в $args[2] будут все нужные геты, то есть конечный файл их получит.
и еще вопрос, как у вас работает метод $url_hide->type_file? может дело в нем? (Добавление)
выведете массив $_GET в самом начале файла. пустой будет? print_r или var_dump()
vanicon
Отправлено: 08 Декабря, 2011 - 23:20:58
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Цитата:
неа, не будет. можно получить query_string. кароче, обращение к нужному файлу идет из файла url.php таким образом $args[0].'/'.$args[1].'/'.$args[2]
в $args[2] будут все нужные геты, то есть конечный файл их получит.
Что то у меня все ровно не получается, может делаю что не так...
Цитата:
и еще вопрос, как у вас работает метод $url_hide->type_file? может дело в нем?
этот метод просто берет get параметр file_name в данном случае это register.php и с помощью explode() получаю расширение .php и сравниваю с допустимыми и т.д, ну и сам метод возвращает значение типа файла
----- Так было, так есть и так будет
Bio man
Отправлено: 08 Декабря, 2011 - 23:31:29
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
vanicon пишет:
с помощью explode() получаю расширение .php
ага, и получаешь php?login=67657&password=435454&passwordclone=45435454&email=343434&mesto=43545
если не так то код сюда, интересно взглянуть что за file_name такой из гет запроса...
vanicon
Отправлено: 09 Декабря, 2011 - 04:57:39
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Цитата:
ага, и получаешь php?login=67657&password=435454&passwordclone=45435454&email=343434&mesto=43545
если не так то код сюда, интересно взглянуть что за file_name такой из гет запроса...
Нет там получаю нормально и метод сам не причем, потому что эта get переменная не равна всем эти get запросам а только вот этому register.php, вот только что проверил даже
----- Так было, так есть и так будет
Bio man
Отправлено: 09 Декабря, 2011 - 17:08:41
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
хз. попробуй отладить, выводи все что нужно и смотри что не выводится, не передается и думай почему, так сложно сказать что там не так, по идее должно работать но не работает...
vanicon
Отправлено: 10 Декабря, 2011 - 09:41:59
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Нашел решение этой проблемы,
нужно передавать get параметры вот таким вот образом:
http://test2.ru/url/x1/register.php&login=67657&password=435454&passwordclone=45435454&email=343434&mesto=43545
Теперь вот надо тока json передавать параметры не начиная со знака '?'...
----- Так было, так есть и так будет
tuareg
Отправлено: 10 Декабря, 2011 - 09:51:56
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
Я дико извиняюсь. Не совсем по теме. Но все же если не получается отправлять GET отправляйте POST. И по идее не будет никаких проблем
vanicon
Отправлено: 10 Декабря, 2011 - 10:04:01
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Цитата:
Я дико извиняюсь. Не совсем по теме. Но все же если не получается отправлять GET отправляйте POST. И по идее не будет никаких проблем
Ну можно было методом POST отправлять, но это уже на совсем безвыходный вариант, на сколько я помню методом GET передается немного побыстрее так как он служит для передачи не больших данных на сервер...
----- Так было, так есть и так будет
vanicon
Отправлено: 12 Января, 2012 - 20:41:01
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Подробно прочитал супер глобального массива, нашел $_SERVER['REQUEST_URI'] он то что нужно
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.