2014-09-29 4 views
0

Можно ли перечислить $_POST переменной по URL-адресу без использования form? или другой "invisible" тип переменной в URL.

Моя ситуация:

Существует запрос (от сервера «ZETA»), который вызывает мой PHP скрипт через URL, но этот сценарий нужно мое имя файла (то будет переменной, я хочу, чтобы отправить). Итак, я знаю, что могу использовать $_GET, но я не хочу, чтобы имя файла было очищено в URL.

Так возможно или я просто теряю время: р

пс: только HTML и PHP, пожалуйста.

Thx

Update 1

Это, как я называю мой сценарий:

http://10.13.48.60/XML_MYSQL/xml_to_mysql.php?name=1201072-14913200.xml 

Я просто хочу, чтобы "имя" переменная невидима, когда я посылаю.

+0

Для этого вы можете использовать 'curl'. – TiMESPLiNTER

+0

Если вы спрашиваете, можете ли вы отправить GET и POST одновременно, ответ да – Machavity

+0

Вы можете использовать [curl] (http://php.net/manual/en/book.curl.php), чтобы сделать запрос с почтовым отправлением – Jerodev

ответ

3

№. PHP заполняет $_GET данными из URL-адреса и использует только тело запроса для заполнения $_POST.

Вы не можете поместить незашифрованные данные в URL-адрес, не будучи видимым всем, кто может видеть запрос (в этом случае вы не можете помещать незашифрованные данные в любом месте запроса без видимости им).

Если вы не хотите отправлять данные в ящик, используйте HTTPS вместо HTTP. Это защитит запрос от перехвата (хотя любой в любом конце все еще может видеть данные ... но поскольку он его создает, а другой должен его читать, это не должно быть проблемой).

+0

Спасибо за объяснение, я дам попробовать с решением cardeol, иначе я буду придерживаться https ^^ –

+0

Использование POST вместо GET ничего не делает для обеспечения безопасности. – Quentin

+0

его просто им не нравится, когда они видят имя файла в явном виде в URL-адресе –

-1

Чтобы использовать POST, вам нужно будет использовать тег, и в зависимости от того, как вы потянете эти URL-адреса, было бы проще использовать javascript, чтобы помочь. Вот простой пример:

<form method="post" action="data.php"> 
    <input type="hidden" name="parameter" value="1234" /> 
    <input type="submit" value="Go" /> 
</form> 

Кнопка Go будет POST данные формы, и теперь в data.php вы будете иметь возможность получить значение из $ _POST [ «параметр»]. Обратите внимание, что при использовании POST вы, вероятно, захотите перенаправить (HTTP 302) обратно на страницу, чтобы при нажатии пользователем кнопки «Назад» браузер не запрашивает повторную отправку формы.

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

Смежные вопросы