BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
2 nov. 2009 à 18:11
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 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.
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...)
Vamosplaya
Messages postés127Date d'inscriptionvendredi 16 octobre 2009StatutMembreDernière intervention10 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...
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
Vamosplaya
Messages postés127Date d'inscriptionvendredi 16 octobre 2009StatutMembreDernière intervention10 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
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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 ?
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
Vamosplaya
Messages postés127Date d'inscriptionvendredi 16 octobre 2009StatutMembreDernière intervention10 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
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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 ?
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 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 ?