IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire problème submit.php


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Formulaire problème submit.php
    Bonjour,

    J'ai a partir du tuto de création de formulaire php essayé de créer un formulaire, donc voila au lieu de faire le formulaire entièrement en html j'ai conçu une page contact.html dont l'action (on post) renvoie à ma page submit.php. Seulement lorsque je fait un test sa marche pas (le script php contient pourtant un else qui spécifie qu'en cas d'erreur retourner le message : message_erreur).
    Alors le code submit.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?php
    if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
     
     // On récupère les champs du formulaire, et on arrange leur mise en forme
        if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes
    ($_POST["nom"])); // trim()  enlève les espaces en début et fin de chaine
     
     // On récupère les champs du formulaire, et on arrange leur mise en forme
        if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes
    ($_POST["prenom"])); // trim()  enlève les espaces en début et fin de chaine
     
        if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes
    ($_POST["email"])); // stripslashes()  retire les backslashes ==> \' devient '
     
        if (isset($_POST["tel"])) $_POST["tel"]=trim(stripslashes(
    $_POST["tel"]));
     
        if (isset($_POST["sujet"])) $_POST["sujet"]=trim(stripslashes
    ($_POST["sujet"]));
     
        if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes
    ($_POST["message"]));
     
    }
    ?>
     
    <?php
     
    else { //  on envoie le mail
        $nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
        $prenom = $_POST["prenom"];
        $email = $_POST["email"];
        $tel = $_POST["tel"];
        $sujet = $_POST["sujet"];
        $message = $_POST["message"];
     
        $mon_email = "contact@e-afrik.com"; // Mise en forme du message que vous recevrez
        $mon_pseudo = "Staff e-AFRIK";
        $mon_url = "www.e-afrik.com";
        $msg_pour_moi = "- Nom : $nom \n
    	- Prénom : $prenom \n
        - Son E-mail : $email \n
        - Son N° de Tél. : $tel \n
        - Sujet : $sujet \n
        - Message : \n $message \n\n";
     
        // Mise en forme de l'accusé réception qu'il recevra
        $accuse_pour_lui = "Bonjour $prenom $nom,\n
        Une requête viens d'être transmise à l'équipe du grooupe e-AFRIK par le possesseur de l'adresse $email.\n\n
        L'objet de votre message : $sujet \n
        Votre message : \n $message \n\n
        Merci et à bientôt sur http://e-afrik.com !\n\n
        S'il s'agit d'une erreur, merci d'ignorer ce mail.";
     
        // Envoie du mail
        $entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
        $entete .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
    	$entete .='Content-Transfer-Encoding: 8bit';
     
        if (@mail($mon_email,$sujet,$msg_pour_moi,$entete) && 
    @mail($email,$sujet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
            echo "<p style=\"text-align:center\">Votre message a &eacute;t&eacute; 
    envoy&eacute;, vous recevrez une confirmation par mail.<br /><br />\n"; 
    // On affiche un message de confirmation
            echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; 
    // Avec un lien de retour vers l'accueil du site
        }
        else { // Sinon il y a eu une erreur lors de l'envoi
            echo "<p style=\"text-align:center\">Un probl&egrave;me s'est produit lors de 
    l'envoi du message.\n";
            echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p> <br>Si des probl&egrave;mes persiste contacter l'administrateur de e-AFRIK : <a href="mailto:support@e-afrik.com">support@e-afrik.com</a></p>\n\n"; 
    // On propose un lien de retour vers le formulaire
        }
    }
    ?>
    Lorsque je clique sur le bouton d'envoi du formulaire (contact.html) je suis redirigé vers submit.php seulement la page reste blanche.
    Pouvez vous svp éclairer ma lanterne.
    Encore une petite question, si je veux intégrer un champ sélection de fichier, ce type de procéder de récupération de donnée est il approprié.
    Merci d'avoir pris le temps de lire mon post.

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Points : 219
    Points
    219
    Par défaut
    bonjour il me semble avoir vu une erreur à la ligne 71

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
    or que dans le bloc else tu récupères des variables $_POST si ton formulaire n'est pas soumis

    A+.

  4. #4
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Sa fonctionne de faire un if dans un premier bloc php de fermer ce bloc et de lancer un else dans un autre bloc ??

  5. #5
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Citation Envoyé par humitake Voir le message
    Sa fonctionne de faire un if dans un premier bloc php de fermer ce bloc et de lancer un else dans un autre bloc ??
    Je ne sait pas mais même si ca marche je vois pas l’intérêt de fermer la balise PHP pour la rouvrir la ligne d'après sans avoir mis de HTML entre les 2


    Les boutons et existent, servez-vous en

  6. #6
    Membre confirmé Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Points : 578
    Points
    578
    Par défaut
    Non sa ne marche pas je viens d'essayer.

    Par contre gnanice affiche tu les erreurs de php ?
    Lorsque j’exécute ton code la page n'est pas blanche mais me retourne l'erreur du else :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_ELSE

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut
    Tu as des erreurs qui ne sont pas affichées, ajoute

    ini_set(display_errors,1)

    au début de submit.php

    Sinon ligne 71 tu as un problème sur la concaténation du html
    corrige
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="mailto:support@e-afrik.com">support@e-afrik.com</a></p>\n\n";
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=\"mailto:support@e-afrik.com\">support@e-afrik.com</a></p>\n\n";
    AU final il te faudrait vérifier si la situation ou le formulaire n'as pas été soumit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <?php
    if (!isset($_POST["envoyer"])) // Si le formulaire a été soumis
    {
    	echo "erreur envoi formulaire";
    }else{
     // On récupère les champs du formulaire, et on arrange leur mise en forme
        if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes($_POST["nom"])); // trim()  enlève les espaces en début et fin de chaine
     
     // On récupère les champs du formulaire, et on arrange leur mise en forme
        if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes($_POST["prenom"])); // trim()  enlève les espaces en début et fin de chaine
     
        if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes($_POST["email"])); // stripslashes()  retire les backslashes ==> \' devient '
     
        if (isset($_POST["tel"])) $_POST["tel"]=trim(stripslashes($_POST["tel"]));
     
        if (isset($_POST["sujet"])) $_POST["sujet"]=trim(stripslashes($_POST["sujet"]));
     
        if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes($_POST["message"]));
     
    	//  on envoie le mail
        $nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
        $prenom = $_POST["prenom"];
        $email = $_POST["email"];
        $tel = $_POST["tel"];
        $sujet = $_POST["sujet"];
        $message = $_POST["message"];
     
        $mon_email = "contact@e-afrik.com"; // Mise en forme du message que vous recevrez
        $mon_pseudo = "Staff e-AFRIK";
        $mon_url = "www.e-afrik.com";
        $msg_pour_moi = "- Nom : $nom \n
    	- Prénom : $prenom \n
        - Son E-mail : $email \n
        - Son N° de Tél. : $tel \n
        - Sujet : $sujet \n
        - Message : \n $message \n\n";
     
        // Mise en forme de l'accusé réception qu'il recevra
        $accuse_pour_lui = "Bonjour $prenom $nom,\n
        Une requête viens d'être transmise à l'équipe du grooupe e-AFRIK par le possesseur de l'adresse $email.\n\n
        L'objet de votre message : $sujet \n
        Votre message : \n $message \n\n
        Merci et à bientôt sur http://e-afrik.com !\n\n
        S'il s'agit d'une erreur, merci d'ignorer ce mail.";
     
        // Envoie du mail
        $entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
        $entete .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
    	$entete .='Content-Transfer-Encoding: 8bit';
     
        if (@mail($mon_email,$sujet,$msg_pour_moi,$entete) && @mail($email,$sujet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
            echo "<p style=\"text-align:center\">Votre message a &eacute;t&eacute; 
    envoy&eacute;, vous recevrez une confirmation par mail.<br /><br />\n"; 
    // On affiche un message de confirmation
            echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; 
    // Avec un lien de retour vers l'accueil du site
        }
        else { // Sinon il y a eu une erreur lors de l'envoi
            echo "<p style=\"text-align:center\">Un probl&egrave;me s'est produit lors de l'envoi du message.\n";
            echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p> <br>Si des probl&egrave;mes persiste contacter l'administrateur de e-AFRIK : <a href=\"mailto:support@e-afrik.com\">support@e-afrik.com</a></p>\n\n"; 
    // On propose un lien de retour vers le formulaire
        }
    }
    ?>

Discussions similaires

  1. problème fonction php Formulaire
    Par momo_m dans le forum Langage
    Réponses: 0
    Dernier message: 08/11/2014, 15h07
  2. [HTML 4.0] Problème tableau/formulaire input (submit/reset)
    Par Flippe.66 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/02/2010, 20h41
  3. Problème formulaire html et php
    Par makalu65 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2008, 15h29
  4. [Wamp] Problème passage données d'un formulaire .Html à fichier .php
    Par lolymeupy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 05/02/2008, 15h51
  5. Problème Formulaire + popup + page PHP
    Par nesbla dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo