Problème d'envoi de données d'un formulaire flash vers MySQL via php [Résolu]

Messages postés
2
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
10 septembre 2010
- - Dernière réponse : zakslayer
Messages postés
2
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
10 septembre 2010
- 10 sept. 2010 à 16:02
Bonsoir tout le monde,
tout d'abord je tiens à préciser que je suis un débutant,
cela dit, j'ai un grand problème avec un site que je développe actuellement:
- je travail avec adobe flash CS5, j'ai un formulaire d'inscription composé de 4 champs de texte pour la saisie, de 2 cases Radio pour le sexe, de 3 Combobox pour la date de naissance, d'un autre Combobox pour la section d'étude, et de 3 CheckBox pour les langues parlées.
- j'ai 2 boutons envoyer et effacer
- et une zone de texte pour afficher le statut de l'envoi

le problème c'est que il n'y a pas insertion des données dans la base MySQL

ci dessous les sources
je vous remercie d'avance pour votre attention
je suis vraiment bloqué, alors si vous pouvez m'éclairer ça serait génial :)

les sources :
- l'action script:
import fl.controls.ComboBox;
import fl.controls.RadioButton;
import fl.controls.RadioButtonGroup;
import fl.controls.CheckBox;

import fl.data.DataProvider;
import fl.events.ComponentEvent;

import fl.accessibility.RadioButtonAccImpl;
import fl.accessibility.CheckBoxAccImpl;
import fl.accessibility.ComboBoxAccImpl;
ComboBoxAccImpl.enableAccessibility();
CheckBoxAccImpl.enableAccessibility();
RadioButtonAccImpl.enableAccessibility();

contact_name.text contact_email.text contact_subject.text =
contact_message.text message_status.text "";
chb1.selected = false;
chb2.selected = false;
chb3.selected = false;
Male.selected = false;
Female.selected = false;


chb1.setStyle("color",0xFFBF00);
chb2.setStyle("color",0xFFBF00);
chb3.setStyle("color",0xFFBF00);


send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);


Male.label = "M";
Male.value = "Male";
Female.label = "F";
Female.value = "Female";

var str:String;
var tab:Array = new Array("non","non","non");
var j, m, a, s;

Male.addEventListener(MouseEvent.CLICK, clickHandler);
Female.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void {
str = event.target.value;
}


chb1.addEventListener(MouseEvent.CLICK, clickHandle);
chb2.addEventListener(MouseEvent.CLICK, clickHandle);
chb3.addEventListener(MouseEvent.CLICK, clickHandle);

function clickHandle(event:MouseEvent):void {
if(chb1.selected){tab[0]="oui";}else{tab[0]="non";}
if(chb2.selected){tab[1]="oui";}else{tab[1]="non";}
if(chb3.selected){tab[2]="oui";}else{tab[2]="non";}
}

jours.addEventListener(MouseEvent.CLICK, clickHandler1);
mois.addEventListener(MouseEvent.CLICK, clickHandler2);
annee.addEventListener(MouseEvent.CLICK, clickHandler3);
section.addEventListener(MouseEvent.CLICK, clickHandler4);

function clickHandler1(event:MouseEvent):void {
j = ComboBox(event.target).selectedItem.data;
}
function clickHandler2(event:MouseEvent):void {
m = ComboBox(event.target).selectedItem.data;
}
function clickHandler3(event:MouseEvent):void {
a = ComboBox(event.target).selectedItem.data;
}
function clickHandler4(event:MouseEvent):void {
s = ComboBox(event.target).selectedItem.data;
}



var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "inscription.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
if( contact_name.text "" || contact_email.text "" ||
contact_subject.text "" || contact_message.text "" )
{
message_status.text = "* Veuillez remplir tout les champs";
}
else if( !validate_email(contact_email.text) )
{
message_status.text = "* Veuillez entrer une adresse mail valide";
}
else
{
message_status.text = "Envoi...";

var email_data:String = "nom=" + contact_name.text
+ "&email=" + contact_email.text
+ "&prenom=" + contact_subject.text
+ "&message=" + contact_message.text + "&sexe="
+ str + "&arabe=" + tab[0]
+ "&français=" + tab[1] + "&anglais=" + tab[2]
+ "&dateNaiss=" + j + "-" + m + "-" + a
+"&section=" + s;

var URL_vars:URLVariables = new URLVariables(email_data);
URL_vars.dataFormat = URLLoaderDataFormat.TEXT;

URL_request.data = URL_vars;
var_load.load( URL_request );
var_load.addEventListener(Event.COMPLETE, receive_response );
}
}

function reset(e:MouseEvent):void
{
contact_name.text contact_email.text contact_subject.text =
contact_message.text message_status.text "";
}

function validate_email(s:String):Boolean
{
var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var r:Object = p.exec(s);
if( r == null )
{
return false;
}
return true;
}

function receive_response(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var email_status = new URLVariables(loader.data).success;

if( email_status == "yes" )
{
message_status.text = "Success! Your message was sent.";
timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, on_timer);
timer.start();
}
else
{
message_status.text = "Failed! Your message cannot sent.";
}
}

function on_timer(te:TimerEvent):void
{
if( timer.currentCount >= 10 )
{
contact_name.text contact_email.text contact_subject.text =
contact_message.text message_status.text "";
timer.removeEventListener(TimerEvent.TIMER, on_timer);
}
}




- et voilà le code php :

<?php
$nom = $_POST['nom'];
$email = $_POST['email'];
$prenom = $_POST['prenom'];
$message = $_POST['message'];
$sexe = $_POST['sexe'];
$arabe = $_POST['arabe'];
$français = $_POST['français'];
$anglais = $_POST['anglais'];
$dateNaiss = $_POST['dateNaiss'];
$section = $_POST['section'];


var $idcon;
var $idbase;
var $resultat;
var $connecté=TRUE;
var $requette;


$idcon=@mysql_connect("localhost","root","");
$idbase=@mysql_select_db("inscription");

if(!$idbase | !$idcon){$connecté=FALSE;}

$requette="insert into personne(nom, prenom, email, message, sexe, dateN, arabe, francais, anglais, section) values ('$nom', '$prenom', '$email', '$message', '$sexe', '$dateNaiss', '$arabe', '$français', '$anglais', '$section')";
$resultat=@mysql_query($requette,$idcon);

if($connecté){@mysql_close($idcon); $connecté=FALSE;}


echo "success=yes";

?>




Merci d'avance
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
2
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
10 septembre 2010
3
Merci
bjr deadolon18, il n'y a pas de quoi (pour le code)

pour le problème j'ai déjà testé la requette çe ne viens pas de là.

donc j'ai pensé à une autre solution, même si elle n'est pas trés esthétique, j'ai pensé à créer un formulaire dans une animation externe et de l'importer dans mon animation principale. et ça marche !!

cordialement ,

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de zakslayer
Messages postés
1
Date d'inscription
vendredi 27 août 2010
Statut
Membre
Dernière intervention
27 août 2010
0
Merci
bonjour tous
svp!
comment faire la liaison entre une fichier flash et la base sql?
merci en avance
Commenter la réponse de latifahalim
Messages postés
2
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
10 septembre 2010
0
Merci
Je tiens avant tout a te remercier pour le code d'envoi d'email qui marche parfaitement (j'utilise juste PHPMaile pour l'envoi d'email car la fonction mail de base n'envoie parfois pas sur toutes les boites email).

Pour ton probleme, je pense que ca vient juste de ta requete SQL :

Tous les champs textes doivent etre entoures de double quote, essaie avec ca :

$requette="insert into personne(nom, prenom, email, message, sexe, dateN, arabe, francais, anglais, section) values ("'$nom'", "'$prenom'", "'$email'", "'$message'", "'$sexe'", "'$dateNaiss'", "'$arabe'", "'$français'", "'$anglais'", "'$section'")";
Commenter la réponse de daedolon18
Messages postés
2
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
10 septembre 2010
0
Merci
Je viens de voir que j'me suis plante, il faut echapper les double quote que j'ai ajoutees en fait, ca donne ca :

$requette="insert into personne(nom, prenom, email, message, sexe, dateN, arabe, francais, anglais, section) values ("'$nom'", "'$prenom'", "'$email'", "'$message'", "'$sexe'", "'$dateNaiss'", "'$arabe'", "'$français'", "'$anglais'", "'$section'")";


(Et encore merci pour le code, on trouve difficilement de l'aide sur Flash CS5, bcp de fonctions/classes sont devenues obsoletes, c'est un peu le bordel)
Commenter la réponse de daedolon18