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 de contact xhtml/php ne me renvoi rien


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut Formulaire de contact xhtml/php ne me renvoi rien
    bonjour, je n'aie pas encore finis de fouiller le forum pour voir si la question a deja mais voila mon problème :

    j'ai créé un formulaire de contact

    Code html : 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
     
    <form method="POST" action="formmail.php" >
     
    <fieldset>
    	<legend>Coordonnées</legend> <!-- Titre du fieldset -->
    	<table>
    		<!-- première ligne -->
    		<tr>
    			<td><label for="nom">Nom : *</label></td>
    			<td><input type="text" name="nom" id="nom" tabindex="10" /></td>
    			<td><label for="prenom">Prénom :</label></td>
    			<td><input type="text" name="prenom" id="prenom" tabindex="20" /></td>
    		</tr>
    		<!-- deuxième ligne -->
    		<tr>
    			<td><label for="email">E-mail : *</label></td>
    			<td><input type="text" name="email" id="email" tabindex="30" /></td>
    		</tr>
    		<!-- troisème ligne -->
    		<tr>
    			<td><label for="adresse">Adresse :</label></td>
    			<td><input type="text" name="adresse" id="adresse" tabindex="50" /></td>
    			<td><label for="adresse2">Adresse2 :</label></td>
    			<td><input type="text" name="adresse2" id="adresse2" tabindex="50" /></td>
    		</tr>
    		<!-- Quatrième ligne -->
    		<tr>
    			<td><label for="cp">Code Postal :</label></td>
    			<td><input type="text" name="cp" id="cp" size="10" /></td>
    			<td><label for="localite">Localite :</label></td>
    			<td><input type="text" name="localite" id="localite" tabindex="50" /></td>
    		</tr>
     
    		<!-- Cinquième ligne -->
    		<tr>
    			<td><label for="tel">Tel :</label></td>
    			<td><input type="text" name="tel" id="tel" tabindex="20" /></td>
    			<td><label for="Fax">Fax :</label></td>
    			<td><input type="text" name="Fax" id="Fax" tabindex="20" /></td>
    		</tr>
    	</table>
    </fieldset>
     
    <!-- fieldset du message-->
    <fieldset>	
    	<legend>Message *</legend> <!-- Titre du fieldset -->
    	<table>
    		<!-- ligne du message -->
    		<tr>
    			<td><textarea name="message" id="message" rows="5" cols="59"></textarea></td>
    			<td><input type="submit" value="Envoyer"><br />
    			<input type="submit" value="Annuler"></td>
    		</tr>
    	</table>
    </fieldset>
    <table>
    	<!-- Ligne du commentaire -->
    	<tr>
    		<td><span color="red">Les champs précédé d'une * doivent obligatoirement être remplis !</span>
    	</tr>
    </table>
     
    </form>

    et j'execute le code php suivant pour envoyer le mail 'il est inspiré du tuto trouver sur ce site même

    Code php : 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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    <?php
    /* Si le formulaire est envoyé alors on fait les traitements */
    if (isset($_POST['envoye']))
    {
        /* Récupération des valeurs des champs du formulaire */
        if (get_magic_quotes_gpc())
        {
    		$nom = stripslashes(trim($_POST['nom'])); 
    		$prenom = stripslashes(trim($_POST['prenom']));
    		$expediteur = stripslashes(trim($_POST['email'])); 
    		$adresse = stripslashes(trim($_POST['adresse'])); 
    		$adresse2 = stripslashes(trim($_POST['adresse2']));
    		$cp = stripslashes(trim($_POST['cp']));
    		$localite = stripslashes(trim($_POST['localite']));
    		$tel = stripslashes(trim($_POST['tel']));
    		$fax = stripslashes(trim($_POST['fax']));
    		$message = stripslashes(trim($_POST['message']));
        }
        else
        {
    		$nom = trim($_POST['nom']); 
    		$prenom = trim($_POST['prenom']);
    		$expediteur = trim($_POST['email']); 
    		$adresse = trim($_POST['adresse']); 
    		$adresse2 = trim($_POST['adresse2']);
    		$cp = trim($_POST['cp']);
    		$localite = trim($_POST['localite']);
    		$tel = trim($_POST['tel']);
    		$fax = trim($_POST['fax']);
    		$message = trim($_POST['message']);
        }
     
        /* Expression régulière permettant de vérifier si le 
        * format d'une adresse e-mail est correct */
        $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
     
        /* Expression régulière permettant de vérifier qu'aucun 
        * en-tête n'est inséré dans nos champs */
        $regex_head = '/[\n\r]/';
     
        /* Si le formulaire n'est pas posté de notre site on renvoie 
        * vers la page d'accueil */
        if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.be/formmail.php')
        {
          header('Location: http://www.monsite.be/');
    	}
        /* On vérifie que le format de l'e-mail est correct */
        elseif (!preg_match($regex_mail, $expediteur))
        {
            $alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
        }
        /* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
        elseif (!isset($_COOKIE['sent']))
        {
            /* Destinataire */
            $to = 'MON ADRESSE MAIL';
     
            /* Construction du message */
            $msg  = 'Bonjour,'."\r\n\r\n";
            $msg .= 'Ce mail a été envoyé depuis monsite.com par '.$nom.' '.$prenom."\r\n\r\n";
    		$msg .= $adresse.' '.$adresse2.' '.$cp.' '.$localite. "\r\n";
    		$msg .= $tel.' '.$Fax. "\r\n";
    		$msg .= 'Voici le message qui vous est adressé :'."\r\n";
            $msg .= '***************************'."\r\n";
            $msg .= $message."\r\n";
            $msg .= '***************************'."\r\n";
     
            /* En-têtes de l'e-mail */
            $headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n";
     
            /* Envoi de l'e-mail */
            if (mail($to, $sujet, $msg, $headers))
            {
                $alert = 'E-mail envoyé avec succès';
     
                /* On créé un cookie de courte durée (ici 60 secondes) pour éviter de 
                * renvoyer un mail en rafraichissant la page */
                setcookie("sent", "1", time() + 60);
     
                /* On détruit la variable $_POST */
                unset($_POST);
            }
            else
            {
                $alert = 'Erreur d\'envoi de l\'e-mail';
            }
     
        }
        /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
        else
        {
            unset($_POST);
        }
    }
    ?>

    voila alors lorsque on appuie sur envoyer il ne se passe rien ... je ne reçois aucun mail, et tous les navigateur utiliser affiche une page blanche seulement je ne comprend pas ou se trouve mon erreur..

    merci d'avance pour votre aide

    ps: dans le code php j'ai enlever mon adresse mail que j'avais mis en test et j'ai envlever l'adresse mail du site

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['envoye']))
    Il est où le champ "envoye" ?

    Et aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" value="Annuler">
    ce serait pas un type "reset" plutôt ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    alors pour le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST['envoye']))
    c'ela fait partie du code que j'ai récupéré du tutoriel PHP que j'ai trouvé sur se site il est plus que probable que certaine partie m'échappe...

    je suis programmeur VB6 et c'est pour le site de mon patron que je dois faire sa donc j'ai découvert le php cette semaine ...

    et pour le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" value="Annuler">
    c'est le code du site et pour le moment (ou j'en suis dans le tuto) il ne donne que se code pour les boutons

    merci, alors après modification du code selon tes suggestions , maintenant je suis bien rediriger vers la page d'accueil se qui est parfait mais je ne recois toujours pas l'email dois-je aller dans le forum php et poster ma question ?

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par 0n31l Voir le message
    alors pour le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_POST['envoye']))
    c'ela fait partie du code que j'ai récupéré du tuto que j'ai trouvé sur se site il est plus que probable que certaine partie m'échappe...
    Je connais ce tuto puisque c'est moi qui ai écrit cette partie.
    Donc il te manque en effet le name de ton bouton (cf le tuto toujours) pour pouvoir entrer dans le if.

    Et si tu es redirigé vers l'accueil c'est que tu entres dans cette condition :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.be/formmail.php')
    Donc ta vérification ne doit pas être bonne.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    ok et comment je fait pour eviter sa ?

    mais je voudrai quand même être rediriger vers la pages d'acceuil après avoir envoyer l'email

    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
     
    <?php
    /* Récupération des valeurs des champs du formulaire */
    if (get_magic_quotes_gpc())
    {
    	$nom = stripslashes(trim($_POST['nom'])); 
    	$prenom = stripslashes(trim($_POST['prenom']));
    	$expediteur = stripslashes(trim($_POST['email'])); 
    	$adresse = stripslashes(trim($_POST['adresse'])); 
    	$adresse2 = stripslashes(trim($_POST['adresse2']));
    	$cp = stripslashes(trim($_POST['cp']));
    	$localite = stripslashes(trim($_POST['localite']));
    	$tel = stripslashes(trim($_POST['tel']));
    	$message = stripslashes(trim($_POST['message']));
    }
    else
    {
    	$nom = trim($_POST['nom']); 
    	$prenom = trim($_POST['prenom']);
    	$expediteur = trim($_POST['email']); 
    	$adresse = trim($_POST['adresse']); 
    	$adresse2 = trim($_POST['adresse2']);
    	$cp = trim($_POST['cp']);
    	$localite = trim($_POST['localite']);
    	$tel = trim($_POST['tel']);
    	$message = trim($_POST['message']);
    }
     
    /* Expression régulière permettant de vérifier si le 
    * format d'une adresse e-mail est correct */
    $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
     
    /* Expression régulière permettant de vérifier qu'aucun 
    * en-tête n'est inséré dans nos champs */
    $regex_head = '/[\n\r]/';
     
    	/* Destinataire (votre adresse e-mail) */
    	$to = 'MAIL@mail.com';
     
    	/* Construction du message */
    	$msg  = 'Bonjour,'."\r\n\r\n";
    	$msg .= 'Ce mail a été envoyé depuis http://www.mon-site.com/ par '.$nom.' '.$prenom."\r\n";
    	$msg .= $adresse.' '.$adresse2.' '.$cp.' '.$localite. "\r\n";
    	$msg .= $tel. "\r\n";
    	$msg .= 'Voici le message qui vous est adressé :'."\r\n";
    	$msg .= '***************************'."\r\n";
    	$msg .= $message."\r\n";
    	$msg .= '***************************'."\r\n";
     
    	/* En-têtes de l'e-mail */
    	$headers = 'From: '.$nom.' '.$prenom.' <'.$expediteur.'>'."\r\n";
     
    	/* Envoi de l'e-mail */
    	if (mail($to, $sujet, $msg, $headers))
    	{
    		$alert = 'E-mail envoyé avec succès';
     
    		/* On créé un cookie de courte durée (ici 60 secondes) pour éviter de 
    		* renvoyer un mail en rafraichissant la page */
    		setcookie("sent", "1", time() + 60);
     
    		/* On détruit la variable $_POST */
    		unset($_POST);
    	}
    	else
    	{
    		$alert = 'Erreur d\'envoi de l\'e-mail';
    	}
    ?>
    ok j"ai supprimer les lignes de code qui possait problème maintenant j'ai un autres problème il me donner un message d'erreur avec le serveur smtp, peut-on configurer les infos pour le serveur smtp directement dans le fichier php ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Personne n'a d'idée ? pourtant c'est simple peut-on mettre les paramètres du serveur smtp dans le fichier de script de l'envoye du mail ou si on ne peut pas, comment fait-on pour aller rechercher les infos dans le fichier config.php ...


    merci d'avance pour vos réponse ...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    je vien relancer le sujet en désespoire de cause ...

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    dernière relance ... personne ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Salut!
    Tu peut aller voir la : http://www.developpez.net/forums/d10...laire-contact/

    Il y a le code du formulaire qui marche parfaitement de mon coté. Il faut juste remplacé l'e-mail
    Voila

Discussions similaires

  1. Formulaire de contact html/php ne me renvoi rien
    Par hdaworldz dans le forum Langage
    Réponses: 4
    Dernier message: 02/08/2012, 15h09
  2. Souci formulaire de contact (code php)
    Par bsteeve dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 05/02/2011, 09h48
  3. [CS4] Formulaire de contact Flash + PHP Erreur
    Par julien1199 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 17/10/2010, 22h28
  4. Formulaire de contact XML PHP pour site en Flash
    Par suly style dans le forum Flash
    Réponses: 1
    Dernier message: 28/12/2009, 00h02
  5. formulaire de contact Flash/Php
    Par flavioteca dans le forum Flash
    Réponses: 5
    Dernier message: 01/04/2008, 20h31

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