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


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut Formulaire de contact
    Bonjour à tous,

    J'ai développé mon portfolio, mais j'ai un dernier soucis avec mon formulaire de contact. En effet, celui ne marche par alors que j'ai déjà utilisé ce script pour 2 autres sites sur lesquels il marchait.
    Voici mon site : www.pariselliot.fr

    Voici le code HTML de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <form action="envoyer.php" method="post"  >
    <div class="row">
    	<div class="6u 12u$(mobile)"><input type="text" name="nom" placeholder="Nom" AUTOCOMPLETE=OFF required/></div>
    	<div class="6u$ 12u$(mobile)"><input type="text" name="prenom" placeholder="Prenom" AUTOCOMPLETE=OFF required/></div>
    	<div class="12u$"><input type="email" name="email" placeholder="Email" AUTOCOMPLETE=OFF required/></div>
    	<div class="12u$">
    		<textarea name="message" placeholder="Message" required></textarea>
    	</div>
    	<div class="12u$">
    		<input type="submit" value="Envoyer" />
    	</div>
    </div>
    </form>
    Et voici mon script 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
     
    <?php
    header('Content-Type: text/html; charset=utf-8');
     
    $nom=$_POST['nom'];
    $email=$_POST['email'];
    $prenom=$_POST['prenom'];
    $monmessage=$_POST['message'];
     
    $to = "***@gmail.com";
    $subject = "Mail provenant du site.";
    $message = " Nom: " . $nom . "\r\n Email: " . $email . "\r\n\n Message: " . $monmessage;
     
     
    $from = "Elliot PARIS site web";
    $headers = "De:" . $from . "\r\n";
    $headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n"; 
     
     
    	?>
    	<script type="text/javascript">
    	  alert('Message bien envoyé.');
    	  document.location.href='index.php';
    	</script>
    ?>
    Si quelqu'un pouvait m'éclairer ce serait parfait, j'ai beau chercher, impossible de trouver le problème...
    Merci d'avance !

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je vais sans doute dire une bêtise, mais où envoies-tu le mail dans ce code ? Je ne vois ni appel à la fonction mail, ni utilisation d'une classe du type PHPMailer.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Autant pour moi j'ai copier le mauvais code...

    Le voici :
    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
     
    <?php
    header('Content-Type: text/html; charset=utf-8');
     
    $nom=$_POST['nom'];
    $email=$_POST['email'];
    $prenom=$_POST['prenom'];
    $monmessage=$_POST['message'];
     
    $to = "***@gmail.com";
    $subject = "Mail provenant du site.";
    $message = " Nom: " . $nom . "\r\n Email: " . $email . "\r\n\n Message: " . $monmessage;
     
     
    $from = "Elliot PARIS site web";
    $headers = "De:" . $from . "\r\n";
    $headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n"; 
     
    if(@mail($to,$subject,$message,$headers) && $_POST['name'] != '' && $_POST['email'] != '' && $_POST['objet'] != '' && $_POST['message'] != '')
    {
    	?>
    	<script type="text/javascript">
    	  alert('Message bien envoyé.');
    	  document.location.href='index.php';
    	</script>
    	<?php
    }
     
    ?>

  4. #4
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Lorsque je valide ma saisie en cliquant sur "envoyer", une page blanche s'affiche. La redirection n'a pas lieu et la pop-up ne s'affiche pas.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(@mail($to,$subject,$message,$headers) && $_POST['name'] != '' && $_POST['email'] != '' && $_POST['objet'] != '' && $_POST['message'] != '')
    Ca ne sert à rien de vouloir trop synthétiser et tout écrire en une seule ligne...

    • Fais d'abord la gestion d'erreur.
    • Ensuite l'envoi.


    2/ Tu n'as rien trouver d'autre que de mettre un code JavaScript pour la redirection ?
    Un simple lien HTML, par exemple ?

  6. #6
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Certes, mais pourquoi cela marche sur un site et pas sur un autre ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Il n'y a pas de else à ton if.

    Et enlève l'@ à @mail(...).



    N.B. Pas moyen d'accéder à www.pariselliot.fr.

  8. #8
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Autant pour moi, j'ai modifié le lien.

    J'ai fait ce que tu m'as indiqué et cela ne marche toujours pas. Voici le code :
    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
     
    <?php
     
    header('Content-Type: text/html; charset=utf-8');
     
    $name=$_POST['name'];
    $email=$_POST['email'];
    $city=$_POST['objet'];
    $monmessage=$_POST['message'];
     
    $to = "***@gmail.com";
    $subject = "Mail provenant du site.";
    $message = " Nom: " . $name . "\r\n Email: " . $email . "\r\n\n Message: " . $monmessage;
     
     
    $from = "Site web d'Elliot PARIS";
    $headers = "De:" . $from . "\r\n";
    $headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n"; 
     
     
    if(mail($to,$subject,$message,$headers))
    {
    	?>
    	<script type="text/javascript">
    	  alert('Message bien envoyé.');
    	  document.location.href='index.php';
    	</script>
    	<?php
    }
    else
    {
    	echo "Erreur lors de l'envoi.";
    }
     
    ?>
    PS : Je test sous MAMP.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $from = "Site web d'Elliot PARIS";
    essaie en enlevant l'apostrophe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $from = "Site web d Elliot PARIS";
    Il est peut-être nécessaire d'échapper :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $from = "Site web d'Elliot PARIS";
    $headers = "From:" . htmlspecialchars ($from, ENT_QUOTES, 'UTF-8') . "\r\n";
    A faire sur les autres variables.
    Dernière modification par Invité ; 09/10/2015 à 11h31.

  10. #10
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Non ca ne marche pas :/

  11. #11
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Je n'arrive pas a trouver de script pour l'envoi d'un mail via un formulaire de contact simple comme celui-ci.

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le Header correct, c'est "From:" pas "De:" (faut pas tout traduire dans les scripts en anglais )

    Citation Envoyé par ParisElliot Voir le message
    pourquoi cela marche sur un site et pas sur un autre ?
    Différents hébergeurs ? différentes versions de PHP ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    Même hébergeurs (OVH) et même version de PHP :/

  14. #14
    Invité
    Invité(e)
    Par défaut
    1/
    Citation Envoyé par ParisElliot Voir le message
    Je n'arrive pas a trouver de script pour l'envoi d'un mail via un formulaire de contact simple comme celui-ci.
    Pour trouver, il faut chercher...


    N.B. essaie plutôt avec PHPmailer.

    2/ Avant tout envoi d'email : on en vérifie la validité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function verifEmail ($email) {
        return (filter_var ($email, FILTER_VALIDATE_EMAIL) === false) ? false : true;
    }

  15. #15
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2014
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 123
    Points : 102
    Points
    102
    Par défaut
    J'ai suivi vos conseils !
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  2. [Formulaire] de contact
    Par inferno66667 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 19h32
  3. Prob avec formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2005, 18h53
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06
  5. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47

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