Formulaire d'inscription

Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005 - 1 mai 2005 à 13:52
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005 - 2 mai 2005 à 11:20
bonjour à tous (du moins à tout ceux qui lisent ceci, merci d'ailleurs)


Tout d'abord, je C que la question que je pose a déjà été posé un très grand nombre de fois. D'ailleurs, Pégase31, si tu lis ceci, évite de m'engueler comme avec tous les autres. G fais le tour de toutes des sources et de beaucoup de sujets sur le forum et même un bouquin, mais j'arrive pas vraiment à comprendre. Les formulations sont différentes et je pige pas ce que font chaque ligne.


Je cherche à faire un formulaire d'inscription à une newletter en flash. J'ai lu de nombreux tuto et exemples concrets, l'ennui, C que j'ai du mal à en comprendre les principes de fonctonnement. Ca fait plusieurs jours que je bosse la dessus et j'y arrive pas. C'est pourquoi j'ai besoin de votre aide.


Mon formulaire est très simple: 3 textes de saisie: prenom; nom et mail + un bouton pour valider.


G créé ma base de donnée, pas d'ennui la dessus


G créé le script php qui a surement des problèmes


G créé le script flash qui a surement aussi des problèmes


j'aimerai beaucoup que quelqu'un me vienne en aide et me corrige ou me mette sur la voix


merci d'avance


voici mon script flash


// création de la fonction EnvoiFormulaire


function envoiFormulaire(PHP) {


varEmmeteur = new LoadVars();


varEmmeteur.prenom = prenom_txt;


varEmmeteur.nom = nom_txt;


varEmmeteur.mail = mail_txt;


envoiFormulaire.sendAndLoad("ct_inscrip.php");


};


// quand on clique, appel de la fonction EnvoiFormulaire


bouton_btn.onPress = function(){


envoiFormulaire("ct_inscrip.php");


};


============================================
============================================


voici mon script php:


<?php


// =================== connexion base


$id_connect = mysql_connect ('localhost', 'root', '') or die('erreur: connection à mysql refusée' . mysql_error());


mysql_select_db ('mabase') or die('Erreur: connection à la base refusée' . mysql_error());





// $rqt mysql_query ('INSERT INTO ct_inscription (prenom,nom,mail) Values("'.$_POST['prenom'].'","'.$_POST['nom'].'","'.$_POST['mail'].'")');


?>

2 réponses

cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
1 mai 2005 à 18:57
Hum, c'est un peu plus compliqué, c'est sur la bonne voie, mais il manque encore quelques détails...



Du coté flash:

- tu crées un objet loadVars(), c'est bien.

- tu mets dans cet objet les variables prenom, nom, et mail, c'est bien.

- tu envoies tout le bordel à une page php, c'est bien....



Mais ou est la fonction de reception des données? SendAndLoad() ENVOIE
des données, mais aussi RECOIT des données, et la il te manque: la
déclaration de l'objet qui va receptionner les infos de la page php, et
la fonction de reception qui te permet de savoir si ca a marché, ou non
et dans ce cas, quel est l'erreur.



Il manque donc:

var reception = new Object();

pour la déclaration de l'objet de recpetion qui sera inclus dans: sendAndLoad("ct_inscrip.php",reception,"POST"
)



et la fonction de reception:



varEmmetteur.onLoad = function(success){

if(success){

trace("OK! je recois quelque chose!");

// tes infos à traiter sont dans l'objet "reception"

// si la variable s'appelle erreur, ce sera: reception.erreur

}else{

trace("mais c'est quoi, ca, je ne recois rien de lisible!!!!");

}

}



Du coté php:

Il s'agit de faire un passage de variable... Donc: utiliser le format que conseille flash.

doit ressembler à: "erreur=&retour=ok"
dans le cas d'un retour positif. Bon, ce que j'ai ecrit, ca sort de ma
tete, tu peux mettre le nom que tu veux, et les valeurs que tu désires,
la c'est juste un exemple.

De plus, selon la version du php de l'hebergeur et les bibliotheques
autorisées, tout change au niveau de la reception des variables.

Alors, moi, j'utilises déja un:



if(isset($HTTP_POST_VARS['prenom'])){

$prenom = $HTTP_POST_VARS['prenom'];

}

Pour savoir si la variable est bien recu. Je n'ai jamais vu ton machin, là: $_POST['prenom'], mais bon je suis loin de tout connaitre en php.



Dans le cas ou je le recois pas, je fais un echo "erreur=pas de reception";

Comme ca, du coté flash, tu sais ce qu'il s'est passé.



Il faut se forcer à faire pareil pour les die(): et ne pas oublier de utf8_encode() le tout...



$id_connect = mysql_connect ('localhost', 'root', '') or die(utf8_encode('erreur=connection à mysql refusée' . mysql_error()));



Le utf8_encode permet que les accents soient bien interprétés sous flash.



Bref, déja mets ca en place et aides-toi grace à l'aide de flash pour bien faire...

J'espere au moins que ca te permettra de voir les choses à plat...
0
Broack Dincht Messages postés 22 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 5 juin 2005
2 mai 2005 à 11:20
je te remercie beaucoup pour ton aide. Je crois que je comprend mieux mainteant. J'ai essayé de corriger mes scripts, cependant, ça ne marche toujours pas. Alors désolé de te pendre encore un peu de ton temps, mais si tu pouvais me revenir en aide, je t'en serait très reconnaissant


je bosse avec la versioin 1.8 de easy php.


Je n'arrive pas à comprendre à quoi sert ni où placer cette expression:


if(isset($HTTP_POST_VARS['prenom'])){
$prenom = $HTTP_POST_VARS['prenom'];
}


concernant ceci
: $_POST['prenom'] , moi aussi je trouvais ça bizarre au début, mais pourtant, ça marche... parce que avant de vouloir faire mon formulaire en flash, je l'ai fait en html (et ça marchait!), et CT comme ça qu'on m'a appri à le faire....


encore merci d'avance


voila mon script flash mainteant:


// création de la fonction EnvoiFormulaire


function envoiFormulaire(PHP) {


varEmmeteur = new LoadVars();


varReception = new Object();




varEmmeteur.prenom = prenom_txt;


varEmmeteur.nom = nom_txt;


varEmmeteur.mail = mail_txt;


envoiFormulaire.sendAndLoad("ct_inscrip.php", varReception, "POST");


varReception.onLoad = function(success) {


if (success) {


trace("OK! je recois quelque chose!");


} else {


trace("mais c'est quoi, ca, je ne recois rien de lisible!!!!");


}


};


}


// quand on clique, appel de la fonction EnvoiFormulaire


bouton_btn.onPress = function() {


envoiFormulaire("ct_inscrip.php");


};


et mon script php:


<?php


// =================== connexion base


$id_connect = mysql_connect ('localhost', 'root', '') or die(utf8_encode('erreur=connection à mysql refusée' . mysql_error()));


mysql_select_db ('mabase') or die(utf8_encode('erreur=connection à la base refusée' . mysql_error()));


// $rqt mysql_query ('INSERT INTO ct_inscription (prenom,nom,mail) Values("'.$_POST['prenom'].'","'.$_POST['nom'].'","'.$_POST['mail'].'")');


?>
0
Rejoignez-nous