2010-08-20 16 views
1

我有一个文件,需要一个变量从用户然后打印的东西,让我们说后不工作(同时搞定不工作!)

$something = $_GET['something']; 
echo $something; 

它与GET完全正常,但是,如果你改变这要发布它停止工作。我正在从Flex客户端发送请求到PHP代码,并且当我在PHP中使用获取请求时使用获取请求,而在使用PHP中的发布请求时,我使用flex的发布请求。有没有办法知道为什么POST不起作用?

POST请求我从Flex使用:

var variables:URLVariables = new URLVariables("username=" + username + "&password=" + password); 
var request:URLRequest = new URLRequest(); 
request.url = proxy + "authenticate.php"; 
request.method = URLRequestMethod.POST; 
request.data = variables; 
var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, authenticateUserHandler); 
try { 
loader.load(request); 
} 
catch (error:Error) { 
Alert.show("Unable to load URL"); 
} 

(注意,我用的是同样的事情GET除了我改变.POST到。获得)

请随时问我任何额外的细节或信息。

+0

是否变量显示在$ _GET或$ _POST在所有当你做这个职位吗? 另外,检查$ _REQUEST,这是两者的组合。当您将表单设置为POST时,它会显示在那里吗? – Teekin 2010-08-20 20:14:51

+0

请显示您如何发送POST请求。 – 2010-08-20 20:19:58

+0

Pekka:我做了,我编辑了上面的线程 – user220755 2010-08-20 20:34:16

回答

2

奇怪的是,UrlRequest应该可以正常使用POST,我知道如果您还发送二进制数据但不是您的情况,您不能传递变量。

无论如何,尝试重新考虑使用HttpService(比URlRequest恕我直言更清洁)的问题。你的情况是这样的应该做的工作:

var params:Object = {}; 
params.username = _view.username.text; 
params.password = _view.password.text; 

var service:HTTPService = new HTTPService(); 
service.url = proxy + "authenticate.php"; 
service.method = "POST"; 
service.addEventListener("result", authenticateUserHandler); 
service.send(params); 

希望这有助于