Bonjour,

j'ai un petit soucis qui doit être tout bête dans mon application flex.

J'ai un petit formulaire de connexion à un site dans mon fichier mxml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    <mx:Panel title="Login" id="loginPanel" horizontalCenter="0" verticalCenter="-46">
    <mx:Form>
        <mx:FormItem label="Login :" required="true">
            <mx:TextInput id="user"                        
                    maxChars="16" />
        </mx:FormItem>
        <mx:FormItem label="Mot de passe :" required="true">
            <mx:TextInput id="pass"                        
                    maxChars="16"
                    displayAsPassword="true" />
        </mx:FormItem>
    </mx:Form>
    <mx:ControlBar horizontalAlign="right">
        <mx:Button id="submit"
                label="Valider"
                click="sendInfos();" />
        <mx:Button id="reset"
                label="Effacer"
                click="reset_click();" />
    </mx:ControlBar>
	</mx:Panel>
Ayant déjà un fichier as déclarant un HTTPService en objet, j'avais un conflit pour en créer un en dur dans mon fichier mxml, alors que je l'ai aussi fait en objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    private var srv:HTTPService = new HTTPService();
    srv.url = "login.php";
    srv.useProxy = false;
    srv.method = "POST";
    srv.resultFormat = "text";
    srv.request = {user: user.text, pass: pass.text};
    
    srv.addEventListener(ResultEvent.RESULT, answer);
Les fonctions associées à la form et au service sont :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    <mx:Script>
	<![CDATA[
		import mx.controls.Alert;
		private function sendInfos():void {
			if(user.text == "" || pass.text == ""){
				mx.controls.Alert.show("Remplissez tous les champs svp!")
			}else{
				srv.send();
			}
		}
		private function answer(evt:Event):void{
			if(String(srv.lastResult) == "ok"){				
				loginPanel.visible = false;
				logincanva.visible = false;
			}else{
				mx.controls.Alert.show(srv.lastResult.toString());
			}
		}
		private function reset_click():void{
			user.text = "";
			pass.text = "";
		}   		
	]]>
	</mx:Script>
Mon fichier php étant juste là pour tester l'appli dans un premier temps, il est assez succin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
 
if(isset($_POST['user'])&&isset($_POST['pass'])) {
	if($_POST['user'] == 'admin') {
		echo 'ok';
	}else {
		echo 'error -- user : '.$_POST['user'].' | pass : '.$_POST['pass'].'';
	}
}
 
?>
Voici mon problème : le message de retour est toujours "error" avec rien comme user et mot de passe, comme si mes requests (déclarés en objet) ne passaient pas.

idem avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
srv.request = {'user': user.text, 'pass': pass.text};
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    srv.request.user = user.text;
    srv.request.pass = pass.text;
J'ai trouvé plusieurs méthodes sur internet : création d'un variable de type objet, une variable de type xml, etc.. mais aucunes pour l'instant n'a été fructueuses, avez vous une idée pour régler mon problème?

Merci