2012-06-23 49 views
3

想象一下,我在Flash應用程序中有兩個字段input1和input2。當用戶填寫完這個表單後,它會進入一個php頁面。 目前,我正在使用$_GET方法發送數據。
像這樣:navigateToURL通過POST發送數據到php頁面

var request:URLRequest; 
request = new URLRequest("http://site.com/page.php?data1="+input1.text+"&data2="+input2.text); 
navigateToURL(request); 

而在PHP代碼:

$_GET["data1"]; 
$_GET["data2"]; 

但是這樣一來,信息停留在URL。我怎樣才能通過$_POST發送?

+1

嗨CEAFDC,你到目前爲止嘗試過什麼? 堆棧溢出社區可能能夠幫助你找出問題 ,但不能沒有具體的數據,這不是一個「寫我一些代碼」類型的網站。 幫助我們幫助你,通過分享你現在使用的代碼,可能有一些樣本數據和你遇到的任何可能的錯誤。 適應你的問題,包括這些,你一定會得到一個有用的答案。感謝您的考慮。 :) –

+0

好的,我已經粘貼了一些代碼;) – Gonzo

+0

在你得到這裏的幫助之前,它不是一個「quid pro quo」的東西,但它會確保你的問題得到答案,並且人們可以幫助你。我們無法查看您的代碼,有時錯誤可能相當深奧或具有雙重性。幫助我們幫助您的最佳方式是儘可能詳細地瞭解您嘗試的錯誤和選項/代碼。感謝您的考慮。 –

回答

5

在AS 3中的使用,以說明您的需求URLRequest類有一個method屬性,該屬性可以用來設置HTTP他提交方法的選擇,你需要將其設置使用URLRequestMethod不變POST完美的形式發佈或你可以使用「POST」字符串。

你可以找到一個comprehensive examplesnipplr

所以一言以蔽之:

var url:String = "http://localhost/myPostReceiver.php"; 
var request:URLRequest = new URLRequest(url); 
var requestVars:URLVariables = new URLVariables(); 
requestVars.foo = "bar"; 
// ... fill in your data 
request.data = requestVars; 
request.method = URLRequestMethod.POST; 
// after this load your url with an UrlLoader or navigateToUrl 

當使用Adobe AIR的你需要使用的,而不是因爲navigateToURL()以下珍聞的URLLoader類:

參數 請求:URLRequest - 一個URLRequest對象,指定要導航的URL大門。

對於在Adobe AIR中運行的內容,使用navigateToURL()函數的情況下,運行時將使用POST方法(一個具有其方法屬性設置爲URLRequestMethod.POST)作爲使用GET方法的URLRequest。

基本上每當要使用POST方法設置正確,如也由文檔navigateToUrl指示:

在你超全局 $_POST陣列中接收所述變量的PHP下

,在這裏可以訪問它像這樣:

<?php 
$foo = $_POST['foo']; 
/* $foo now contains 'bar' 
    assignment to another value is not necessary to use $_POST['foo'] 
    in any function or statement 
*/ 
+0

這是AIR的情況嗎?我需要在打開瀏覽器時發送發佈數據,並使用AIR。 –