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

Résolu
zakslayer Messages postés 2 Date d'inscription jeudi 25 décembre 2008 Statut Membre Dernière intervention 10 septembre 2010 - 22 août 2010 à 15:43
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

4 réponses

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
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 ,
3
latifahalim Messages postés 1 Date d'inscription vendredi 27 août 2010 Statut Membre Dernière intervention 27 août 2010
27 août 2010 à 11:17
bonjour tous
svp!
comment faire la liaison entre une fichier flash et la base sql?
merci en avance
0
daedolon18 Messages postés 2 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 10 septembre 2010
10 sept. 2010 à 12:51
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'")";
0
daedolon18 Messages postés 2 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 10 septembre 2010
10 sept. 2010 à 12:55
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)
0