Formulaire Flash/PHP Help!!!!

vodkaget Messages postés 11 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 3 avril 2009 - 3 avril 2009 à 15:58
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 3 avril 2009 à 19:32
Bonjour, je suis entrain de créer mon site tout en flash, vient le moment du formulaire et là c'est de le drame.
Une journée que je galère, je m'explique :
J'ai été sur plein de site dont flashkod pour récupérer des sources,
et a chaque fois que je met mes éléments chez mon hébergeur "Amen" j'ai toujours une erreur PHP.

Voici le dernier en date :
code dans flash :

// Auteur : BOUAMOUT Younes - Maroc
// FORMULAIRE FLASH MX & PHP - Console Mail (version 3.0)

// Version console mail FlashMX/PHP avec utilisation de la méthode loadVars

// = ======================= INITIALISATION

en_cours._visible = false ;
// efface le clip "en_cours" tant que l'on ne lance pas l'envoi du mail. (voir calque -> Clip "encours")

// ======================== INITIALISATION  (^.^;)

// ======================== FONCTIONS

// Cette fonction permet l'activation ou la désactivation des champs dynamique du formulaire
// elle est agrémentée d'effets sur les TextField pour toute information consultez la référence de flash MX.
function switch_champs(boule) {
    if (boule) {
        var couleur_texte = 0x000000; // couleur du texte si actif
    } else {
        var couleur_texte = 0xBBBBBB; // couleur du texte si inactif
    }
    nom_id.border = boule;
    nom_id.textColor = couleur_texte;
    nom_id.selectable = boule;
    mail_id.border = boule;
    mail_id.textColor = couleur_texte;
    mail_id.selectable = boule;
    numtel_id.border = boule;
    numtel_id.textColor = couleur_texte;
    numtel_id.selectable = boule;
        message_id.border = boule;
    message_id.textColor = couleur_texte;
    message_id.selectable = boule;
    en_cours._visible = !boule; // on rend visible ou invisible le clip en fonction de la valeur bouléene de la variable boule.
}

// Fonction pour envoyer le mail
// il manque à ce tutorial des tests sur les champs dynamiques (adresse mail correcte, etc..) ceci est traité dans d'autres tutoriaux sur le forum.

function envoyer_mail() {
    _root.resultat = ""; // on initialise la variable resultat
    switch_champs(false); // on désactive les champs du formulaire.
    var envoi = new LoadVars(); // création de l'objet "envoi" qui permet d'envoyer les variables nécessaire au traitement dynamique via le php.
    var recup = new LoadVars(); // création de l'objet cible "recup" qui reçoit les variables téléchargées.
    // on rempli l'objet "envoi" avec les champs du formulaire.
    envoi.nom = nom_id.text;
    envoi.mail = mail_id.text;
    envoi.numtel = numtel_id.text;
    envoi.message = message_id.text;
    // fonction qui permet lorsque l'opération de récupération des informations parsée par le PHP d'afficher le résultat voulu.
    recup.onLoad = function(success) { // utilisez la référence de flash pour en savoir plus sur les méthodes et propriétés de loadVars.
        switch_champs(true); // on réactive les champs du formulaire.
        if (success) { // si l’opération de chargement s’est déroulée avec succès
            _root.resultat = this.resultat; // on assigne la valeur renvoyée par le PHP au champ dynamique résultat.
        } else {
            _root.resultat = "Problème avec le fichier PHP"; // problème côté serveur l'opération n'a pas pu se faire.
        }
    };
    envoi.sendAndLoad("envoie.php", recup, "POST"); // méthode pour envoyer les variables vers le PHP et récupérer dans "recup" les variables que parse le PHP.
}
// ======================== FONCTIONS  (^.^;)

// ======================== PROGRAMME PRINCIPAL

// action sur le bouton pour envoyer le mail.
_root.bouton.onRelease = function () {
    _root.envoyer_mail(); // on envoi le mail :D
}
// ======================== PROGRAMME PRINCIPAL  (^.^;)

Code PHP

<?php

$nom =$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$numtel=$HTTP_POST_VARS['numtel'];

 
$message  = " Nom Prenom        : \t ";
$message .="$nom \n ";

$message .= "Adresse Mail      : \t ";
$message .="$mail \n ";

$message .= "Numero Telephone  : \t ";
$message .="$numtel \n ";
$message .= "Message  : \t ";
$message .=$HTTP_POST_VARS['message'];

$destinataire=$mail; /* votre adresse mail ici, j ai fais $mail juste pour le test
                        car je fesais mon adresse mail et ma boîte perso est presque saturée*/
$sujet = "Test PHP Flash";

/*function decoder($texte){
    $texte = utf8_decode($texte);
    $texte = stripslashes($texte);
    $texte = trim($texte);
    $texte = htmlentities($texte, ENT_QUOTES);
    $texte = strip_tags($texte);
    $texte = nl2br($texte);
    $texte = str_replace("&gt;", ">", $texte);
    $texte = str_replace("&lt;", "<", $texte);
    return $texte;
}

$sujet = decoder($sujet);
$message = decoder($message);
*/
$headers = $sujet;

$mail_OK=mail($destinataire, $sujet, $message, $headers) ;

if ($mail_OK) {
    echo "resultat=Envoi effectué";
} else {
    echo "resultat=Probleme lors de l'envoi ou @mail non valide";
}

?>

Si quelqu'un peux m'aider ca serait top, je suis graphiste et pas super à l'aise avec le code.

3 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
3 avril 2009 à 16:17
Bonjour,

probablement que si tu est en php 5 tu n'as plus accès au $HTTP_POST_VARS[]
$nom=$HTTP_POST_VARS['nom'];

essaye en les remplaçant tous par des $_REQUEST[]


$nom= $_REQUEST['Nom'];

@+
0
vodkaget Messages postés 11 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 3 avril 2009
3 avril 2009 à 17:19
Merci de prendre le temps de me répondre mais est ce que tu pourais m'en dire un peux plus, c'est un peux du chinois pour moi!

ca veut dire qu'a chaque fois que j'ai un :
$HTTP_POST_VARS

je le remplace par :
$nom= $_REQUEST

?

Merci,
seb
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
3 avril 2009 à 19:32
wouaip, exactement.

Si je ne me trompe pas dans les configurations par défaut de php (version 5)  l'accès au $HTTP_POST_VARS est désactivé  (va savoir pourquoi... j'en sais rien, surement une question de sécurité...) par contre vie $_REQUEST c'est accessible par défaut...

Bref, moi c'est toujours $_REQUEST que j'utilise (l'avantage, c'est que ça fonctionne avec les méthodes POST et GET des loadvars (AS2) et autre URLLoader/URLRequest (AS3)

@+
0
Rejoignez-nous