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 :

Probleme de formulaire de contact PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Probleme de formulaire de contact PHP
    Bonjour à tous,

    Déjà 3jours que je bloque sur mon formulaire de contact, je ne trouve pas l'erreur.

    Lorsque je rempli mon formulaire et que je clique sur "Envoyer" ma page s'actualise et je n'ai aucune confirmation du serveur.
    (je ne recois pas non plus l'email)

    Si quelqu'un pouvait m'éclairer, voici le code 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
    <?php
          if ($_POST["submit"]) {
                $name = $_POST['name'];
                $email = $_POST['email'];
                $message = $_POST['message'];
     
                $from = "Message de Sweet Wild Cat";
                $headers = "From:" . $from;
                $to = 'monemail@live.fr'; 
                $subject = 'Message de Contact ';
     
                $body ="Nom: $name\n E-Mail: $email\n \n Message:\n $message";
     
                // Check if name has been entered
                if (!$_POST['name']) {
                      $errName = 'Merci d\'entrer votre nom';
                }
     
                // Check if email has been entered and is valid
                if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                      $errEmail = 'Please enter a valid email address';
                }
     
                //Check if message has been entered
                if (!$_POST['message']) {
                      $errMessage = 'Please enter your message';
                }
     
     
    // If there are no errors, send the email
    if (!$errName && !$errEmail && !$errMessage) {
          if (mail ($to, $subject, $body, $from)) {
                $result='<div class="alert alert-success">Merci ! Nous vous contacterons prochainement.</div>';
          } else {
                $result='<div class="alert alert-danger">Désolé, une erreur s\'est produite. Merci de ré-essayer plus tard.</div>';
          }
    }
          }
    ?>
    Et le code HTML :
    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
    <form name="" method="post" action=""> 
                                <input type="text" name="first_name" id="name" placeholder="YOUR NAME" value="<?php echo htmlspecialchars($_POST['name']); ?>">
                                <?php echo "<p class='text-danger'>$errName</p>";?>
     
                                <input type="email" name="email" id="email" placeholder="YOUR E-MAIL" value="<?php echo htmlspecialchars($_POST['email']); ?>"> 
                                <?php echo "<p class='text-danger'>$errEmail</p>";?>
     
                                <textarea name="message" cols="1" rows="5" placeholder="YOUR MESSAGE"  ><?php echo htmlspecialchars($_POST['message']);?></textarea>
                                <?php echo "<p class='text-danger'>$errMessage</p>";?>
                                <button id="submit" name="submit" type="submit" class="button">Send</button>
     
     
                                <div class="form-group">
                                        <div class="col-sm-10 col-sm-offset-1">
                                              <?php echo $result; ?>  
                                        </div>
                                  </div>
                            </form>
    Merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut plus de rigueur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_POST["submit"]) {
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['submit'])) {
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button id="submit" name="submit" type="submit" class="button">Send</button>
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="submit" id="submit" class="button" value="Send" />
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Ensuite suivant les cas tu peux te heurter à différents problèmes comme le fait que certains mail seront considérés comme spam par certains clients mail (genre hotmail qui est le pire en la matière). C'est assez compliqué d'avoir quelque chose de fonctionnel dans tous les cas ou tout au moins dans le maximum de cas possibles et peut dépendre aussi de ta configuration serveur. Au final comme c'est un sujet spécifique (et long) on utilise souvent une classe comme phpmailer.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    J'ai essayé comme dit mais toujours le meme probleme.

  5. #5
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il faut plus de rigueur :
    d'accord avec ça. Fais attention à ton nommage.

    en php, test :
    en HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <input type="text" name="first_name" id="name" placeholder="YOUR NAME" value="<?php echo htmlspecialchars($_POST['name']); ?>">
    donc tu dois avoir en php $_POST["first_name"]
    Comme tu n'as pas $_POST["name"], tu as $errName à TRUE et ton code ne rentre pas dans l'envoie de mail... d'ailleurs tu aurais pu voir cet erreur parce que la value du input cité plus haut ne se remplit pas...
    My daughter, my laptop, my bike and my double-sticks...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par kalimukti Voir le message
    Comme tu n'as pas $_POST["name"], tu as $errName à TRUE et ton code ne rentre pas dans l'envoie de mail... d'ailleurs tu aurais pu voir cet erreur parce que la value du input cité plus haut ne se remplit pas...
    C'était donc ça l'erreur ! merci ! j'aurais du faire plus attention.

    Le formulaire fonctionne maintenant et je reçois l'email

    Cependant, lorsque je valide mon formulaire il me redirige en haut de la page (alors que le formulaire est tout en bas), du coup l'utilisateur ne voit pas le message de confirmation sans scroller.

    Y'a t'il un moyen de revenir en bas de la page après l'envoie du formulaire ?
    merci !

  7. #7
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    ou alors met ton message de confirmation en haut la page....
    sinon, ben regarde .
    My daughter, my laptop, my bike and my double-sticks...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Merci pour le coup de main !

    Probleme réoslu

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

Discussions similaires

  1. FORMULAIRE de CONTACT PHP
    Par chidap dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2012, 18h08
  2. formulaire de contact PHP
    Par toinformatique dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2012, 08h13
  3. formulaire de contact php
    Par paikan06 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/05/2012, 10h42
  4. Formulaire de contact PHP
    Par xerel dans le forum Langage
    Réponses: 2
    Dernier message: 23/07/2010, 16h31
  5. [Forum] Formulaire de contact php
    Par itmak dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/05/2008, 19h24

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