Bonjour

Je vous explique la situation dans laquelle je suis.
Je possède une base de donnée en ligne avec une table contenant les utilisateurs de l'application flash.
Je souhaite écrire une fonction connect() qui prend en paramètre le pseudo et le mot de passe d'un utilisateur. Cette fonction doit vérifier que l'utilisateur existe et que le mot de passe est correct pour après le connecter en modifiant un champs dans la table.

Dans le cas ou l'utilisateur n'existe pas ou que le mot de passe est erroné, la fonction retourne un booleen false. Si la connexion s'est déroulée sans problème elle retourne un booleen true.

J'ai donc écrit la fonction comme tel :

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
function connexion(login_user, password_user):Boolean
{
	var resultat = false;
	System.useCodepage = true;
	var info = new LoadVars();
	var reponse = new LoadVars();
	reponse.onLoad = function(){
		if (reponse.connected == 'true')
			resultat = true;
	};
 
	info.userLogin = login_user;
	info.userPassword = password_user;
	info.sendAndLoad("pagePHP", reponse, "POST");
	return resultat;
}
Ainsi la fonction envoi les information à un script PHP (par la méthode POST) qui va s'occuper du traitement et retourner le booléen correspondant.

Jusque là pas de problème.

Cependant lorsque j'appelle ma fonction, celle-ci n'attend pas que le sendAndLoad ait terminé et me retourne donc toujours un false.

Y aurait-il un moyen pour forcer la fonction à attendre la fin du sendAndLoad avant de faire le return ?

Si vous avez une solution je vous en serez très reconnaissant.