Soucis avec envoi de données Flash vers php et mysql

Résolu
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015 - 23 nov. 2013 à 08:08
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...

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
23 nov. 2013 à 08:44
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 ?
0
projer Messages postés 112 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 17 janvier 2015
23 nov. 2013 à 16:00
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;
0
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
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...
0
Rejoignez-nous