Login/pwd flash/pHP

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 2 nov. 2009 à 18:11
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 9 nov. 2009 à 21:49
Bonjour,

je suis en train de rédiger un script en php qui est destiné à récupérer un login et password venant de flash, et si les identifiants sont ok, à renvoyer sur une autre page. Bien évidemment ça ne marche pas, le script php récupère bien les données car le message "identifiants incorrects" s'affiche lorsque je teste.

Voici mon script php :

<?php
$login = $_GET['txt_login'];
$password = $_GET['txt_password'];

$goodlogin == "bob";
$goodpassword == "toto";

if ($login $goodlogin "bob" && $password == $goodpassword == "toto") {
echo "ok";
} else {
echo "refused";

if ($login $goodLogin "bobby" && $password == $goodPassword == "caca") {
echo "ok";
} else {
echo "refused";
}
?>

et voici mon script AS2 dans le fichier flash:

• sur le calque des textes de saisie :

txt_login = "" ;
txt_password = "" ;

• sur le calque du bouton :

on (release) {
// On teste si les champs sont remplis
if ((txt_login != "") && (txt_password != "")) {
// Envoi des données à la page flash.php
loadVariablesNum ("flash.php", 0, "POST");
gotoAndPlay (2);
} else {
messErreur = "IDENTIFIANTS INCORRECTS !";
}
}

Si quelqu'un de plus expérimenté que moi (ce qui ne sera pas difficile...vu que je n'y connais vraiment pas grand chose) peut éclairer ma lanterne et me dire s'il y a des fautes dans mes scripts, ça me rendrait une fière chandelle.

Merci à tous,

BBFUNK01 (qui découvre le php de manière laborieuse...)

37 réponses

Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 11:45
Bonjour,

Alors tout d'abord je suis en Action Script 2.

Voici un exemple qui je l'espère t'aidera.

Côté Flash, tu vas juste faire un formulaire avec un champs de saisie dans
lequel on entrera un login avec comme nom login_id.
Ensuite on ajoute un bouton qui aura comme nom d'occurence connection_bouton
Et pour finir, un champs texte dynamique qui aura comme nom de variable et pas d'occurrence : resultat.

l'AS2 :
/*----------------------------------------------------------------------------------
LE FORMULAIRE
----------------------------------------------------------------------------------*/
function se_connecter() {
// création de l'objet "envoi" qui permet d'envoyer les variables nécessaire au traitement dynamique via le php.
var envoi = new LoadVars();
// création de l'objet cible "recup" qui reçoit les variables téléchargées.
var recup = new LoadVars();
// on rempli l'objet "envoi" avec les valeur du champs login_id.
envoi.login = login_id.text;
// fonction permettant l'opération de récupération des informations parsée par le PHP, afin d'afficher le résultat voulu.
recup.onLoad = function(success) {//détection des valeurs reçues par le fichier PHP.
//si "success", le PHP à renvoyer (avec Parse) une valeur pour ok
if (success) {
//Si ok est égal à 0, alors, c'est le mauvais login
if (this.ok == "0") {
//on affiche la valeur que le PHP retourne comme "resultat"
resultat = this.resultat;
// on assigne la valeur renvoyée par le PHP au champ dynamique résultat.
//si ok est égal à 1, alors le login est correct
} else if (this.ok == "1") {
//on affiche la valeur que le PHP retourne comme "resultat"
resultat = this.resultat;
//on envoie dans une nouvelle fenêtre (_blank) les variables dans "mapage.php".
getURL("mapage.php", "_blank", "POST");
}
} else {//Si le fichier PHP, n'a pas renvoyer de données, il y a donc échec.
resultat = "Problème avec le fichier PHP";
}
}
envoi.sendAndLoad("login.php", recup, "POST");
// méthode pour envoyer les variables vers le PHP, et récupérer les données que parse le PHP dans "recup".
}
/*----------------------------------------------------------------------------------
ACTION SUR "LOGIN" (clip)
----------------------------------------------------------------------------------*/
connection_bouton.onRelease = function() {
se_connecter(); // on lance la fonction "se_connecter"
}



Côté Php
(login.php)
<?
// Fonction pour parser les variables de resultat vers FLASH
function Parse($variable,$valeur) {
echo "&" . $variable . "=" . utf8_encode($valeur);
}

// on récupère la variable login envoyée par Flash
$login=$_POST['login'];
if ($login=="toto") {
Parse("ok","1");//on renvoie à Flash ok = 1
Parse("resultat","Login correct");//on renvoie à Flash la valeur de "resulat"
}
else {
Parse("ok","0");//on renvoie à Flash ok = 0
Parse("resultat","Login incorrect");//on renvoie à Flash la valeur de "resulat"
}
?>

Pour mapage.php
rien de spécial, c'est la page qui s'affichera si login = toto

Voilà, perso j'ai commencé avec des exemples simples et puis une fois la technique comprise tu verras qu'il est facile (en AS2 je connais pas encore AS3) d'interagir avec une base de données, renvoyer des infos de la base dans une comboBox Flash etc...
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 16:31
Bonjour Vamosplaya,

ton code a l'air pas mal du tout, je vais le tester de ce pas et tenter de comprendre un peu mieux le codage et l'interaction Flash/Php. Penses-tu que je puisse le décliner en ajoutant une variable "password" sur la base de la méthode que tu as utilisée pour "login" ?
En tout cas je te tiens au courant du résultat.

Merci beaucoup pour ton aide.

A plus,

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 17:13
Oui il est possible de rajouter le mdp.

En me relisant je m'aperçois que j ai oublié de stipuler pour le champs de saisie login qu'il doit avoir comme occurrence login_id et en variable (zone var) login

++
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 17:18
Merci pour la précision, je suis en train de tester l'appli. et ça ne marche pas, c'était probablement dû à ça.

Merci beaucoup,

A plus,

BBFUNK01
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 17:29
Je reviens vers toi car je ne parviens pas à faire fonctionner le code, faut-il que sur le flash je place le script complet sur un calque "action" ou bien je peux le placer sur le calque qui contient mes zones de textes et mon bouton ?
Ce qui est bizarre c'est que je n'ai pas de retour indiquant qu'il y eu une connexion entre le flash et le php.
Je poursuis mon investigation.

A plus,

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 17:46
Mieux vaut faire un calque Action dans lequel tu place tout l'AS.
Le calque Action doit alors être le premier
(le plus haut dans la liste)
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 18:01
Merci Vamosplaya,

j'ai essayé en mettant tout l'AS sur le calque Action mais ça ne fonctionne toujours pas, voici comment j'ai utilisé ton code :

j'ai copié-collé tout l'AS dans mon calque Action,
j'ai créé mon texte de saisie var "login" avec occurence "login_id" et "login" en variable, j'ai créé mon texte dynamique avec en variable "resultat",
et enfin j'ai créé mon clip bouton nommé "connection_bouton" avec en occurence "connection_bouton".

Pour le php, j'ai simplement copié-collé ton code.

Lorsque je teste, je n'ai aucun résultat ; je clique sur le bouton après avoir entré "toto" dans la saisie de texte et ... rien, aucun message d'erreur et aucune connexion vers la page privée souhaitée.

D'après mes explications ci-dessus, est-ce que tu remarques une erreur de ma part dans l'utilisation de ton code ?

Merci,

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 18:18
re ;)

Attention ton bouton en question est bien dans propriété considéré comme un clip et pas comme un bouton ?

Je viens de retester mon code et pour moi tout fonctionne.

Dis moi, si tu as vraiment pb je zip et je te donne un lien.
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 18:26
Euh... non mon bouton est considéré comme "bouton" et non comme un "clip", donc tout s'éclaire je comprend mieux pourquoi ça ne marchait pas, et réflexion faite si j'avais été un peu plus attentif au code j'aurais remarqué "LOGIN" (clip) dans ton AS, ce qui m'aurait peut-être mis sur la voie.

Je reteste tout ça après modif.,

un grand merci pour ta patience et ton code.

BBFUNK01
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 18:33
Bon j'ai retesté après modif. et ça ne marche toujours pas, je ne sais pas ou j'ai coincé mais si tu es toujours ok pour me fournir le zip j'accepte avec grand plaisir, je suis forcé de constater que je n'ai pas encore la carrure pour rédiger et m'auto-corriger au niveau du code.

En tout cas merci pour tout.

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 18:48
En faites tout dépend de la façon dont tu réalise ton "bouton".
Oui c'est assez étonnant mais bon je me pose plus la question.

Si tu réalise le bouton à partir du menu "Fenêtre" "Composants" "Bouton" il semble qu'il faut le considéré comme un clip.

Par contre tu réalises une image bouton.gif
que tu met dans ta bibliothèque. Ensuite tu met bouton.gif sur ta scène puis clic droit "convertir en symbole" et là tu dis Bouton.
Maintenant dans propriété tu gère non plus un clip mais un Bouton

;)
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 19:06
Pour créer mon bouton, je dessine la forme dans flash puis je vais dans fenêtre, convertir en symbole, et je sélectionne "bouton".
A mon avis je me suis planté sur ce point vu que le flash ne communique pas avec le php, du moins lorsque je teste rien ne m'indique qu'il y a eu un échange entre les deux. Je vais plancher là-dessus pour trouver la solution.

Merci,

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 19:44
J"ai testé ta méthode pour créer le bouton et en effet dans ce cas la propriété dans bien être "Bouton"

Test : Bouton fait à partir d'une image (OK sur fond vert) conversion symbole et propriété Bouton.

puis un autre Bouton fait en dessinant puis conversion symbole et propriété Bouton.

Test 1


Ps : si mot de passe = toto tu auras une page erreur 404 normale puisque mapage.php n'existe pas.
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 20:01
Je viens de tester ton appli. après l'avoir mise en ligne sur mon site et ... ça marche ! Le seul problème c'est que j'ai un message d'erreur : "Method Not Allowed

The requested method GET is not allowed for the URL /jukebox.html.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Apache/1.3.41 Server at www.musichrono.com Port 80"

j'ai modifié le lien "mapage.php" en le changeant par "jukebox.html" et la page ne s'affiche pas. Est-ce que ce serait dû d'après toi au fait que ma page est en html et contient le swf de mon flash ?

Bref, si j'avais testé directement en ligne l'appli. j'aurais pu creuser plus tôt ce nouveau problème et par conséquent ça t'aurait évité bien des explications fastidieuses pour m'aider.

Le fait que l'appli. fonctionne, il ne me reste plus maintenant qu'à permettre l'affichage de la page souhaitée, et à décliner ton code afin d'y ajouter les paramètres du password.

Merci infiniment pour ton aide qui m'a été précieuse, je te tiendrai au courant si je parviens à réaliser le code que je souhaite.

Bonne soirée, et encore merci.

BBFUNK01
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
4 nov. 2009 à 20:12
ça y est, j'ai résolu mon problème :
j'ai modifié le script AS :

getURL("jukebox.html", "_blank", "POST");
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
4 nov. 2009 à 20:44
ah ok j'avais pas saisie que tu testais en local.
Si tu as besoin hésite pas à poster à la suite de celui-ci comme cela je recevrais un email.

j'ai un formulaire tout fais qui contrôle login mot de passe dans une base de données MySql et qui renvoie vers une page si tu es authentifié.

Seul impératif avoir un serveur Php/mySql

++
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
5 nov. 2009 à 14:17
Salut Vamosplaya, merci pour ta proposition, j'ai une petite question, tu es sur pc ou sur mac ? Moi je suis sur mac, j'ai téléchargé "MAMP" qui est l'équivalent de "WAMP" sur pc, pour ce qui est du fonctionnement : si je veux tester en local grâce à "MAMP" une appli. comme celle que tu m'as donnée, où dois-je mettre le php, le flash, etc. pour pouvoir effectuer le test ?

Merci,

BBFUNK01
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
5 nov. 2009 à 15:35
Rebonjour VAMOSPLAYA, ça y est j'ai terminé les modifications de ta source afin d'en faire un formulaire login/password qui permet en fonction de chaque couple login/password entré d'aller sur une page privée différente.
J'ai posté la source sur le site donc je t'invite à aller y jeter un oeil et à me donner ton avis. C'est la seule source que j'ai posté donc tu devrais la trouver facilement.

A plus et merci de m'avoir permis d'adapter cette source à mes bsoins.

BBFUNK01
0
Vamosplaya Messages postés 127 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 10 décembre 2012
5 nov. 2009 à 15:58
Bonjour,

J'ai pour principe de créer des répertoire pour mes sites web.

A la raçine je copie les prog (php)
puis un répertoire flash, un répertoire images , un répertoire scripts, ...

Ensuite si ton flash est intégré dans une page php, il suffit de mettre le chemin (style flash/monSwf.swf).

Ta balise Object devrait ressembler à cela dans ta page html ou php :

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="978" height="330" title="Mon Titre">



</object>
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
5 nov. 2009 à 19:16
euh... là ça devient compliqué pour moi, je réalise tout mon site en flash, je publie donc chaque page afin d'avoir des fichiers.html, et je les range dans une arborescence que j'essaie d'ordonner au mieux. Est-ce qu'il est possible avec cette méthode de tester le site en local via MAMP ?

BBFUNK01
0
Rejoignez-nous