2014-09-29 174 views
0

是否可以通過網址發送$_POST變量而不使用form?或URL中的其他"invisible"變量類型。

我的情況:

有一個請求(從服務器「ZETA」),其中要求通過URL我的PHP腳本,但這個腳本需要我的文件名(這就是我要發送的變量)。 所以我知道我可以使用$_GET,但我不想在URL中明確發送文件名。

因此,它是可能的,或者我只是在浪費我的時間:P

PS:只有HTML和PHP,請。

THX

更新1

這是我如何把我的腳本:

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

我只想讓VAR 「名」 看不見的時候我送。

+0

你可以使用'curl'。 – TiMESPLiNTER 2014-09-29 13:14:37

+0

如果你問能否同時發送GET和POST,答案是肯定的 – Machavity 2014-09-29 13:14:43

+0

你可以使用[curl](http://php.net/manual/en/book.curl.php)來製作一個請求郵政正文 – Jerodev 2014-09-29 13:14:58

回答

3

否.PHP將填充$_GET來自URL的數據,並僅使用請求正文填充$_POST

您不能將未加密的數據放入URL中,任何人都不能看到請求(對於這一點,您不能在請求中的任何位置放入未加密的數據,而不會將其看到)。

如果您不想以明文形式發送數據,請使用HTTPS而不是HTTP。這將保護請求被攔截(儘管任何一方都可以看到數據......但是由於一方正在創建它,另一方應該讀取它,所以這應該不成問題)。

+0

感謝您的解釋,我會嘗試使用cardeol的解決方案,否則我會堅持使用https ^^ – 2014-09-29 13:22:49

+0

使用POST而不是GET對安全性沒有任何影響。 – Quentin 2014-09-29 13:23:56

+0

只要他們不喜歡當他們在URL中清楚地看到文件名稱 – 2014-09-29 13:24:59

-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,您可以在發佈表單之前將參數輸入設置爲不同的值。