Aller au contenu


Formulaire Flash / PHP


49 réponses à ce sujet

#31 jp777

    Ceinture Jaune

  • Members
  • 17 messages

Posté 21 septembre 2011 - 06:42

matt-murdock, le 21 septembre 2011 - 01:14 , dit :

1) tu teste juste avec FF sur PC ou aussi IE, Chrome, Opera?

2) quelle version plugin flash sur mac, quell version plugin PC?

a+

Voila, on avance un peu...

sur Mac: FF = OK, Chrome = NON, IE = pas testé, safari = OK
sur pc: FF = NON, Chrome = NON, IE = OK!
Opera = pas testé

les versions plugin Flash : 10.3

Donc le prob est clairement sur certains navigateurs et pas relatif à l'OS.
c'est pas très rassurant...

... et maintenant on fait koi?? :?:

#32 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté 21 septembre 2011 - 06:52

Je viens de tester sous Mac OS 10.7 + Chrome 14, ça semble être OK pourtant ...

#33 jp777

    Ceinture Jaune

  • Members
  • 17 messages

Posté 21 septembre 2011 - 07:03

Pour Switcher:

Je viens de recevoir ton formulaire (du moins je suppose que c toi! ;-) )
Donc ça se complique car tu l'as envoyé de Chrome sur mac et c'est OK
Sur mon mac avec Chrome je n'ai pas réussi!
Alors c'est plus seulement un prob de navigateur mais sans doute aussi de config...
Je vais réfléchir la-dessus;
merci en tout cas pour le test, ça fait avancer les choses
(mais vers quoi...) :neutral:
jp

#34 matt-murdock

  • Moderateur
  • 6 822 messages

Posté 22 septembre 2011 - 06:53

dcz.switcher, le 21 septembre 2011 - 06:52 , dit :

Je viens de tester sous Mac OS 10.7 + Chrome 14, ça semble être OK pourtant ...
il y avait pas de prob au niveau du "@" qui declanche un beug sur chrome? ( ou c est juste chrome sur PC qui beug...)

#35 jp777

    Ceinture Jaune

  • Members
  • 17 messages

Posté 22 septembre 2011 - 11:37

matt-murdock, le 22 septembre 2011 - 06:53 , dit :

il y avait pas de prob au niveau du "@" qui declanche un beug sur chrome? ( ou c est juste chrome sur PC qui beug...)

bonne idée, j'ai testé ça hier en enlevant le "@" obligatoire pour l'adresse mail mais ça ne change rien.
pour chrome, chez moi ça passe tjrs pas mac ou pc...
(sur mac j'ai 10.5)
++

#36 flore80

    Ceinture Blanche

  • Members
  • 1 messages

Posté 08 novembre 2011 - 11:05

Merci pour votre effort

J'ai suivi votre tuto de A à Z j'ai cree mon formulaire comme demandé et j'ai envoyer le dossier qui contient envoyer_mail.php et formulaire2.swf sur la racine du serveur
le souci que je ne reçois pas le mail ainsi que le destinataire

Merci d'avance

#37 Nataly

  • Moderateur
  • 4 641 messages

Posté 09 novembre 2011 - 10:00

salut :)

la première chose c'est s'assurer que l'hébergeur n'a pas invalidé la fonction mail de php (certains le font par mesure de sécurité)


tu peux vérifier avec cette ligne ds un fichier dédié
phpinfo();

tu trouveras ds les géants tableaux que ça crache ;)
Le savoir est le seul bien qui s'accroit quand on le partage

#38 jp777

    Ceinture Jaune

  • Members
  • 17 messages

Posté 10 février 2012 - 01:03

Bonjour bonsoir,

Je reviens avec ce problème bizarre et toujours non résolu que j'avais laissé quelque peu sur le coté, à savoir:

Le super formulaire de Dada (encore merci!) fonctionne très bien pour moi SAUF à partir de FireFox sur Windows!
(Sur Mac, tout OK, sur Windows + Explorer : OK)

Quelqu'un aurait une nouvelle piste (depuis qu'on s'est déjà cassé la tête la-dessus précédemment??)

merci à tous,
jp

PS: On peut tester ce form tout simple sur ce site, en cliquant sur "contact"

#39 Nelchaël

  • Members
  • 1 807 messages
  • Logiciels utilisés:Flash CS6

Posté 13 février 2012 - 10:55

J'ai testé avec succès le formulaire sur le site ellyptica à partir de Firefox sur Windows XP.
Pour mieux voir ce qu'il se passe, tu peux ajouter cette instruction :
envoyeur.send("...","_blank", "POST");
Cela affichera dans une nouvelle fenêtre la page php.
nelchael.fr freelance flash CS6

#40 jp777

    Ceinture Jaune

  • Members
  • 17 messages

Posté 13 février 2012 - 04:52

Merci Elfe,

J'ai en effet bien reçu ton test. Et comme d'autres ont fonctionné également en FF Windows, j'en viens à me dire que c'est seulement sur quelques configurations particulières (trop anciennes?) qu'il y a un souci. (sur mon vieux pc par ex.)
Conclusion, je ne vais pas pousser plus loin pour résoudre ce problème, car sinon je devrais me replonger dans les méandres zinfernales des configs windosiennes et je suis pas sur de revenir à la surface cette année... ;-)

En tout cas merci pour le test et bonne idée pour l'instruction que je vais tester illico.
Et merci à tous pour le super boulot de tutos et de suivi...
jp

#41 Leuprochon

    Ceinture Orange

  • Members
  • 31 messages

Posté hier, 07:26

Bonjour à tous.

Je relance ce sujet car j'ai un soucis moi aussi avec cette méthode, il ne m'envoie pas les données sur mon adresse mail. Voici le code php que j'ai ( celui qui est disponible dans ce tuto : http://forums.mediab..._flash_flex_php ) :

<?php

// On récupère les variables envoyés par Flash                              
if(isset($_POST['Nom'])) $Nom = $_POST['Nom']

if(isset($_POST['Email'])) $Email = $_POST['Email'];   

if(isset($_POST['Message'])) $Message = $_POST['Message'];

if(isset($_POST['Tel'])) $Tel = $_POST['Tel']

// Adresse de réponse
$mail_to = "Mazdamundi91@hotmail.com";

// Nom de l'expéditeur                                
$from = "Site AMDS";

// L'objet
$sujet = "Demande d'informations";

// Header du mail
$headers = "Content-Type: text/html; charset=\"UTF-8\";\r\n";
$headers .= "From: Formulaire de contact <admin@formulaire.com>; \r\n";

// Message au format HTML
$message = <<<EOF
<br/>
<b>Mail envoyé par: </b> {$from}<br/><br/>

---------- Infos sur le visiteur -------------<br/><br/>

<b>Nom:</b> {$Nom}<br/>
<b>Téléphone:</b> {$Tel}<br/>
<b>E-mail:</b> {$Email}<br/>
     

----------- Message du visiteur -------------<br/><br/>

<b>Message:</b> {$Message}<br/><br/>

EOF;

// Appel de la fonction 'mail'
$OK = mail ($mail_to, $sujet, $message, $headers);

// En fonction du retour, on affiche le message suivant sent=OK ou sent=ERREUR
if ($OK)
{
        echo("sent=OK");
}
else
{
        echo("sent=ERREUR");
}

?>

Donc ce bout de code je l'ai mis dans le répertoire : www/contact/formulaire.php

voici le code en AS3 :

         //envoyer les données
                                var vars:URLVariables = new URLVariables();
                                vars.Message = Tvt.text;
                                vars.Tel = SaisiTel.text;
                                vars.Nom = SaisiNomPrenom.text;
                                vars.Email = SaisiEmail.text;
                                var req:URLRequest = new URLRequest('./contact/formulaire.php');
                                req.method= URLRequestMethod.POST;
                                req.data = vars;
                               
                                var sender:URLLoader = new URLLoader();
                                //sender.load( req );

J'ai aucun message d'erreur donc je sais pas trop si ça vient dem on code AS3 ou de mon code php. En faisant un trace après mon code AS3 il marche bien. Du moins il reste pas bloqué sur un endroit.

Leuprochon

#42 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté hier, 09:27

Salut,

Pour tester, il suffit que tu appelles le script PHP directement dans ton navigateur en codant en dur les données (destinataire, corps du texte ...)

Important : avec certains hébergeurs, il est nécessaire de définir un "return-path" pour que les mails partent.

Sans cette info, la fonction mail retourne vrai mais rien ne part.

http://www.php.net/m...mail.php#107321

#43 Leuprochon

    Ceinture Orange

  • Members
  • 31 messages

Posté hier, 06:00

Je suis sur OVH, avec la formule perso à 28.5 euros par mois.

Donc j'ai lancé le formulaire via mon navigateur et voici ce qu'il me dit :


Notice: Undefined variable: Nom in /homez.527/amdsipyi/www/contact/formulaire.php on line 32

Notice: Undefined variable: Tel in /homez.527/amdsipyi/www/contact/formulaire.php on line 33

Notice: Undefined variable: Email in /homez.527/amdsipyi/www/contact/formulaire.php on line 34

Notice: Undefined variable: Message in /homez.527/amdsipyi/www/contact/formulaire.php on line 38
sent=OK

les lignes 32 33 et 34 sont :

<b>Nom:</b> {$Nom}<br/>
<b>Téléphone:</b> {$Tel}<br/>
<b>E-mail:</b> {$Email}<br/>

et la 38 :

 <b>Message:</b> {$Message}<br/><br/>

Si j'ai bien compris il reconnait pas les variables. Pourtant il est pas sensé m'afficher " sent : ok " si y a des erreurs.

Leuprochon

#44 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté hier, 06:05

Il y a plusieurs niveaux d'erreur en PHP, les erreurs du type "Notice" n'arrêtent pas le programme, elles informent simplement qu'il y a quelque chose de pas parfait, comme une variable utilisée qui n'existe pas.

Comme tu travailles directement sur le script PHP, les variables envoyées par ton formulaire flash n'existent pas, tu dois donc les donner "en dur" à ton script

par exemple de cette manière

<?php
//début de ton script
$Nom = "Mediabox" ;
$Tel = "0102030405" ;
$Email = "test@mediabox.fr" ;
//... la suite du script d'envoi du mail
 

Je profite de ce message pour te conseiller de ne pas utiliser de majuscule comme première lettre des variables. Par convention, seules les classes ont un nom qui commence par une majuscule.

exemple :

$tel ; //plutôt que $Tel
 


#45 Leuprochon

    Ceinture Orange

  • Members
  • 31 messages

Posté hier, 06:59

J'ai l'habitude de commencer toutes mes phrases par une majuscule, donc les variables aussi mais je prends note, merci !

Je comprends ce que tu me dis mais je comprends pas pourquoi il ne prend pas directement les variables de mon code AS. Car quand je marque :

<?php

// On récupère les variables envoyés par Flash
if(isset($_POST['Nom'])) $Nom = $_POST['Nom'];

if(isset($_POST['Email'])) $Email = $_POST['Email'];

if(isset($_POST['Message'])) $Message = $_POST['Message'];

if(isset($_POST['Tel'])) $Tel = $_POST['Tel'];

Il est sensé récupérer les données de mon code non ? Car la, si je mets $Nom = "Mediabox" ; il va pas me mettre le nom de la personne qui a vraiment complété le formulaire, si ? Je viens de tester et c'est bien ça /:. Il me récupère pas les données de mon code en fait.

#46 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté hier, 07:09

Leuprochon, le hier, 06:59 , dit :

Il est sensé récupérer les données de mon code non ? Car la, si je mets $Nom = "Mediabox" ; il va pas me mettre le nom de la personne qui a vraiment complété le formulaire, si ?

En effet, mais comme tu appelles le script PHP directement depuis ton navigateur, il n'y a aucune information transmise du flash vers le script PHP

Ce morceau de code signifie simplement

if(isset($_POST['Nom'])) $Nom = $_POST['Nom'];
// si une variable appelée Nom existe dans le tableau $_POST
// alors la variable $Nom est égale à la valeur de celle du tableau
 

En travaillant de cette manière, tu isoles le script PHP, une fois que tu arriveras à envoyer un mail sur une adresse "en dur", tu pourras supprimer le morceau de code et partir du flash.

Si le mail ne part toujours pas, tu pourras alors vérifier :
1. que le flash appelle bien le bon script
2. que flash lui envoie bien les données nom, mail etc.
3. que les données sont bien reçues et utilisée dans le PHP (pour cela, un simple enregistrement d'un fichier log ou le retour au flash des variables passées suffit)

Donc, pour résumer, tu dois d'abord faire fonctionner ton script PHP d'envoi de mail avec des infos "bidons" écrites "en dur", ça te permettra de t'assurer que le soucis ne vient pas de lui.

Enfin, c'est comme ça que je procéderais.

#47 Leuprochon

    Ceinture Orange

  • Members
  • 31 messages

Posté hier, 08:45

Ahhh ok ! Donc ça marche bien en appelant directement le script. Dès que je le fais via le flash ça ne marche pas.

J'ai mis mon script dans le fichier www/contact. Mon flv est dans le fichier www. Pour envoyer mes données dans mon script voici la ligne de commande :
Ahhh ok ! Donc ça marche bien en appelant directement le script. Dès que je le fais via le flash ça ne marche pas.

J'ai mis mon script dans le fichier www/contact. Mon flv est dans le fichier www. Pour envoyer mes données dans mon script voici la ligne de commande :

var vars:URLVariables = new URLVariables();
vars.Message = Tvt.text;
vars.Tel = SaisiTel.text;
vars.Nom = SaisiNomPrenom.text;
vars.Email = SaisiEmail.text;
var req:URLRequest = new URLRequest('.../contact/formulaire.php');
req.method= URLRequestMethod.POST;
req.data = vars;

var sender:URLLoader = new URLLoader();

Je pense que la ou je me trompe c'est dans la ligne de commande ou je marque " '.../contact/formulaire.php' "

ps : désolé de ne pas mettre les balises de code mais si je le fais ça me transforme mon code en un truc ilisible avec plein de chiffre /:

#48 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté hier, 08:54

Je pense aussi que le soucis vient du chemin

Tout d'abord, il ne peut y avoir 3 points, (0, 1 ou 2, pas plus)

Si ton arborescence ressemble à ça :

www/flash.swf
www/contact/formulaire.php

le chemin - relatif - sera :
"contact/formulaire.php"

note : l'utilisation de la syntaxe avec 2 points comme ça : "../chemin" indique que tu remontes d'un niveau, vers le répertoire parent.

#49 Leuprochon

    Ceinture Orange

  • Members
  • 31 messages

Posté aujourd'hui, 08:22

Ça ne marche toujours pas. Pour l'enregistrement d'un fichier log, il faut que je fasse comment ? J'ai essayé naïvement en remplaÇant formulaire.php par formulaire.txt mais Ça ne marche pas :P.

#50 dcz.switcher

  • Moderateur
  • 2 075 messages
  • Logiciels utilisés:sublime text 2, flash builder, inkscape

Posté aujourd'hui, 11:24

Il faut d'abord t'assurer que le flash réussi à appeler le script PHP

Normalement, si tu as la version du lecteur flash "debug", tu devrais avoir un message d'erreur si le script PHP n'est pas trouvé.

L'as-tu (le flash player debug) ?

Sinon, voici le lien pour le télécharger
http://www.adobe.com.../downloads.html

Je viens de regarder le tuto que tu as suivi et je pense que tu gagnerais à plutôt utiliser de l'actionscript 3

Voici un exemple sur le site d'Adobe qui présente la manière de faire la même chose.

Un des avantages est la gestion fine des erreurs dans le cas où le serveur ne répond pas, si le script n'est trouvé etc.
http://help.adobe.co...ExamplesSummary





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS - Tel. 0826 466 613 - Fax. 01 72 70 31 38

FFP