Soucis avec envoi de données Flash vers php et mysql [Résolu]

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- - Dernière réponse : projer
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- 23 nov. 2013 à 19:23
Bonjour,
J'ai un gros soucis sur lequel je butte depuis 2 jours, et il faut impérativement que je trouve la solution avant lundi matin!

J'ai un quizz fait en Flash, avec formulaire à la fin, le formulaire avec les réponses du jeu sont envoyés à un script php qui enregistre les données dans la base.

Le soucis est que chez moi ça s'enregistre bien à chaque fois, mais chez ma cliente et le cliente de ma cliente, pas du tout... C'est totalement incompréhensible pour moi...

Voici les codes :
FLASH AS3 :


import flash.net.URLVariables;
import flash.net.URLRequest;

btn_envoyer.addEventListener(MouseEvent.CLICK, valider);
btn_envoyer.buttonMode =true;
resultat_txt.autoSize=TextFieldAutoSize.LEFT;

function valider(evt:MouseEvent):void {
resultat_txt.text = "";
envoyer_php();
}

var loader:URLLoader = new URLLoader();
var requete:URLRequest= new URLRequest("php/record.php");
var variables:URLVariables=new URLVariables();
requete.method=URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, completeHandler);

function envoyer_php():void{
var checkErreurs:Boolean = false;
var erreurs:String="";

var nom:String = nom_txt.text;
var prenom:String = prenom_txt.text;
var societe:String = societe_txt.text;
var telephone:String = telephone_txt.text;
var email:String = email_txt.text;

if (!nom){
checkErreurs=true;
erreurs="<b>Merci de renseigner votre nom.</b>\n";
}

if (!prenom){
checkErreurs=true;
erreurs+="<b>Merci de renseigner votre prénom.</b>\n";
}

if (!societe){
checkErreurs=true;
erreurs+="<b>Merci de renseigner votre société.</b>\n";
}

if (!telephone){
//trace('email');
checkErreurs=true;
erreurs+="<b>Merci de renseigner votre numéro de téléphone.</b>\n";
}

if (!email){
checkErreurs=true;
erreurs+="<b>Merci de renseigner votre email.</b>";
}

if(checkErreurs){
resultat_txt.htmlText=erreurs;
}else{
//go php
var datas_Q1:String=data_Q1[0];
for(var i = 1; i < data_Q1.length; i++) {
datas_Q1+="-"+data_Q1[i];
}

trace(datas_Q1);

variables.nom=nom;
variables.prenom=prenom;
variables.societe=societe;
variables.telephone=telephone;
variables.email=email;
variables.q1=datas_Q1;
variables.q2=data_Q2;
variables.q3=data_Q3;
variables.q4=data_Q4;
variables.q5=data_Q5;

requete.data=variables;

loader.load(requete);
var resultat=navigateToURL(requete);

}
}

function completeHandler(event:Event):void{
nextFrame();
}

stop();

PHP : (j'ai bien sûr changé les données pour la connection à la base)
<?php
	$host = 	 'myhost';
	$user = 	 'user';
	$password =	 'pass';
	$base = 	 'base';

	$mysqli = new mysqli($host, $user, $password, $base);

	if ($mysqli->connect_error) {
    	die('Erreur de connexion ('.$mysqli->connect_errno.')'. $mysqli->connect_error);
	}

	print_r($_POST);
	// récupération des variables envoyées depuis Flash
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom']; 
	$societe = $_POST['societe'];
	$telephone = $_POST['telephone'];
	$email = $_POST['email'];
	$q1 = $_POST['q1']
	$q2 = $_POST['q2'];
	$q3 = $_POST['q3'];
	$q4 = $_POST['q4'];
	$q5 = $_POST['q5']; 

	//echo("<br>");
	//echo utf8_encode($nom);
	//echo("<br>");

	//test si l'email s'est déjà enregistré
	$test = $mysqli->query ("SELECT id FROM closer_equizz WHERE email='$email'");
	$id = $test->fetch_assoc();

	//print_r($id);

	if(is_null($id)){
		$requete="INSERT INTO closer_equizz (nom, prenom, email, societe, telephone, q1, q2, q3, q4, q5) VALUES ('$nom', '$prenom', '$email', '$societe', '$telephone', '$q1', '$q2', '$q3', '$q4', '$q5')";
		$resultat = $mysqli->query($requete) or die ('<br>Erreur '.$requete.' '.$mysqli->error);
	}

	$mysqli->close();
?>


Merci beaucoup pour votre aide, en espérant que quelqu'un pourra vraiment me sortir de cette impasse qui me fait devenir littéralement fou...
Afficher la suite 

3 réponses

Messages postés
26325
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 septembre 2019
315
0
Merci
Bonjour.

Et ça bloque ou ?

Ton print_r $_POST contient bien les bonnes valeurs ?
La connexion à la bdd se fait bien ?
Tu as la même version de php ?
Tu as un message d'erreur ?
Commenter la réponse de jordane45
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
Apparemment le problème viendrait de mes variables dans Flash, en supprimant ces lignes, la transmission des données se fait bien. J'attends juste que ma cliente rentre pour faire le test et me dire si mes modifications fonctionnent.


variables.q1=datas_Q1;
variables.q2=data_Q2;
variables.q3=data_Q3;
variables.q4=data_Q4;
variables.q5=data_Q5;
Commenter la réponse de projer
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
Bon et bien c'est réglé, j'ai renommé mes variables come ça :
q1 en qun
q2 en qdeux
q3 en qtrois
q4 en qquatre
q5 en qcinq

et là ça fonctionne parfaitement...

Tu parles d'un bug...
Commenter la réponse de projer