Bonjour à tous
J'espère que vous allez pouvoir m'aider parce que je craque :-)
Je viens de lire une vingtaine de tuto en rapport avec mon problème et je ne trouve pas de solution, alors je décide de poster un appel à l'aide :-D
Dans ma page flash, j'affiche deux champs : nom et prenom
Je récupère ces 2 variables et je les envois à php. Celui-ci doit vérifier si cette personne est dans la base et si oui, alors il renvoie une variable ok=1.
- Ma récup de données dans mon formulaire marche.
- Mon script php se lance (pour vérifier je modifie une valeur de ma base quand le script s'ouvre)
Mais le script
- php ne recoit pas les données
j'essaie de modifier un attribut appartenant à la personne passée
- php ne transmet rien à flash
même si j'initialise la variable juste avant de l'envoyer
---------- Voici le code de mon .fla --------------------------------------
// importer les classes necessaires
import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.Button;
// referencer les composants en indiquant
var tiNom:TextInput = this.nom_ti;
var tiPrenom:TextInput = this.prenom_ti;
var taSortie:TextArea = this.sortie_ta;
var taSortie2:TextArea = this.sortie_ta2;
var mcEnvoyer:Button = this.envoyer_mc;
// config de sortie_ta
taSortie["depthChild0"]._visible = false;
taSortie.setStyle("color", "0xB13501");
taSortie.setStyle("fontStyle", "italic");
taSortie.label.selectable = false;
// declaration des variables
var nom:String;
var prenom:String;
// fonction pr message d'erreurs
function afficherEnSortie(pChaine:String):Void
{ taSortie.text = pChaine; }
function afficherEnSortie2(pChaine:String):Void
{ taSortie2.text = pChaine; }
// fonction pr envoyer les parametre
function envoyerVar ():Void
{
mcEnvoyer.enabled = false;
var envoyeur:LoadVars = new LoadVars();
var recepteur:LoadVars = new LoadVars();
envoyeur.nom = nom;
envoyeur.prenom = prenom;
recepteur.onLoad = function(success:Boolean) {
if (success) {
// réception réussie
// vérif du nombre de lignes de la requete
afficherEnSortie2("Il y a : " + this.envoi);
if (this.envoi == 1) {
afficherEnSortie("L'enregistrement s'est correctement déroulé.");
} else {
afficherEnSortie("L'enregistrement de vos données a échoué.");
}
}
};
envoyeur.sendAndLoad("verif_base.php", recepteur, "POST");
afficherEnSortie("Traitement en cours...");
}
mcEnvoyer.onRelease = function():Void
{
envoyerVar();
}
-------------------- mon script php --------------------------------------
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabase");
if ( isset( $_POST['nom'] ) ) $nom = $_POST['nom'];
else $erreurPHP .= "Variable 'nom' non transmise\n";
if(isset($_POST['prenom'])) $prenom = $_POST['prenom'];
else $erreurPHP .= "Variable 'prenom' non trasmise\n";
if($erreurPHP != ""){
$erreurPHP .= " : Abandon, les variables ne sont pas transmises \n";
}else{
$nom = utf8_decode($nom);
$prenom = utf8_decode($prenom);
$req = mysql_query("select * from etudiant where nom=".$nom." and prenom=".$prenom." ;") or die (mysql_error());
$num = mysql_num_rows($req);
if ( $num <1 ){
$reponse = 0;
$erreurPHP .= "Problème : trop de resultats";
}else{
$reponse = 1;
$erreurPHP .= "Tout va bien";
}
}
$erreurPHP .= "Je sors de php\n";
mysql_close();
$envoi = utf8_encode("&reponse=".$reponse);
echo $envoi;
?>
----------------------- FIN --------------------------------------------
Pour mon environement : j'utilise Flash 8 et EasyPHP
J'ai vu ds des discussions que des options de EasyPHP pouvaient empécher l'échange de variables... Je ne sais plus où chercher j'ai essayé pleins de trucs...
S'il vous plait, une idée !!!! J'y ai passé ma journée hier et ma matinée aujourd'hui, je craaaaaaaaaaaaaque !!!!!
[ et merci d'avoir lu tout ca (j'avais mis plein de tab pour aérer mais elles sont parties...) ]
Partager