Résolu Help - Formulaire de contact

Statut
N'est pas ouverte pour d'autres réponses.

Steph65l

Membre
Inscription
29 Janvier 2017
Messages
32
Réactions
2
Points
1 391
RGCoins
25
Hello tout le monde, j'ai réalisé un site mais j'arrive pas "encore" à faire en sorte que le formulaire de contact envoi les données sur gmail ou autres.

Le code du form :
Code:
<div id="sendmessage">Votre commande a bien était reçu, nous la traiterons dès que possible.</div>
                <div id="errormessage"></div>
                <form id="contact-form" action="contact.php" method="post" role="form" class="contactForm">
                <div class="row">
                    <div class="col-md-6">
                        <div class="form-group">
                            <label for="name">
                                Pseudo</label>
                            <input type="text" name="name" class="form-control" id="name" placeholder="Votre pseudo" data-rule="minlen:4" data-msg="S'il vous plait, entrez au moins 4 lettres" />
                            <div class="validation"></div>
                        </div>
                        <div class="form-group">
                            <label for="email">
                                Adresse email</label>
                            <div class="form-group">
                                <input type="email" class="form-control" name="email" id="email" placeholder="[email protected]" data-rule="email" data-msg="S'il vous plait, entrez  une adresse email valide" />
                                <div class="validation"></div>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="subject">
                                La plateforme</label>
                            <input type="text" class="form-control" name="subject" id="subject" placeholder="Pc, Ps4, Xbox one, Ps3 & Xbox 360" data-rule="minlen:4" data-msg="S'il vous plait, entrez au moins 4 lettres" />
                            <div class="validation"></div>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <label for="name">
                                Message</label>
                            <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Le jeu" placeholder="Message"></textarea>
                            <div class="validation"></div>
                        </div>
                    </div>
                    <div class="col-md-12">
                        <button type="submit" class="btn btn-skin pull-right" id="btnContactUs">
                            Envoyer la commande</button>
                    </div>
                </div>
                </form>
 
Hey :)
Quelles sont tes connaissances dans le domaine du codage web ? :p
Tu vas devoir utiliser PHP pour que le formulaire envoie des email ;)
Mes compétences sont assez limité je l’avoue, je mis connais surtout en html, php... j'ai pas trop trop touché encore, je sais que pour envoyé l'email il faut du php d'ou le contact.php mais comme je mis connais pas entièrement et pour évité de faire des bêtises je l'ai laissé vide :D
 
Tu recherches à faire quoi exactement ? Tu veux que lorsque que quelqu'un remplit ton formulaire tu reçoives un mail avec les informations de ce formulaire ? :p
 
Hostinger ça pu D:
Essaie de suivre un des deux tutos ci-dessous:




Et tiens moi au courant :)
 
Cette réponse a aidé l'auteur de cette discussion !
Ce qu'il y a c'est que j'ai fait une "one-page" et que le formulaire de contact est directement dans l'index.html et je dois si je dis pas de bétise pour le formulaire faire action="contact.php" et faire une code php dans le contact.php
 
Hostinger ça pu D:
Essaie de suivre un des deux tutos ci-dessous:




Et tiens moi au courant :)
Si tu veux allez jeté un coup d'oeil :
 
Ce qu'il y a c'est que j'ai fait une "one-page" et que le formulaire de contact est directement dans l'index.html et je dois si je dis pas de bétise pour le formulaire faire action="contact.php" et faire une code php dans le contact.php
C'est exactement ça, regarde le premier lien donné par Paul il y a un code tout prêt. :)
 
C'est exactement ça, regarde le premier lien donné par Paul il y a un code tout prêt. :)
D'accord bhe j'essayerais se soir et je vous donnerai des nouvelles


Oui, c'est ça :p
Après il y a plusieurs manières pour le faire (tu peux même exécuter le code php sur la page de ton formulaire) :D

Oue je sais mais je préfère les séparé pour pas tout mettre au même endroit
 
J'ai mis ce code dans le contact.php, mais je ne recois pas l'email :/


Code:
<!DOCTYPE html>
<html lang="en">

    <head>

        <meta charset="utf-8">
        <title> Commande confirmé</title>
        <meta name="author" content="">
        <meta name="norobots" content="noindex,nofollow">
        <meta name="keywords" content="">
        <meta name="description" content="">       
          
        <link href="css/style.css" rel="stylesheet" type="text/css" />
        <link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
        
        <link href='http://fonts.googleapis.com/css?family=Lato:400,900italic,900,700italic,400italic,300italic,300,100italic,100' rel='stylesheet' type='text/css'>
        
        <link rel="shortcut icon" href="img/favicon.ico">
          
    </head>

    <body>
    
        <div id="contentForm">

            <?php
            
            if(isset($_POST['email'])) {
                
                                      
                $email_to = "[email protected]";
                $email_subject = "Commande Azrogames";
                
                  
                $first_name = $_POST['first_name']; // required
                $email_from = $_POST['email']; // required
                $subject = $_POST['subject']; // required
                $comments = $_POST['message']; // required
                
                $email_message = "Form details below.\n\n";
                
                    
                function clean_string($string) {
                    $bad = array("content-type","bcc:","to:","cc:","href");
                    return str_replace($bad,"",$string);
                }
                
                
                $email_message .= "Name: ".clean_string($first_name)."\n";
                $email_message .= "Email Address: ".clean_string($email_from)."\n";
                $email_message .= "Website Contact Request "."\n";
                $email_message .= "subject: ".clean_string($subject)."\n";
                $email_message .= "Message: ".clean_string($comments)."\n";
                
                    
                
                $headers = 'From: '.$email_from."\r\n".
                
                'Reply-To: '.$email_from."\r\n" .
                
                'X-Mailer: PHP/' . phpversion();
                
                @mail($email_to, $email_subject, $email_message, $headers);
                
                ?>
                
                <div class="container">
                    <div class="row">
                        <div class="col-sm-6 col-sm-offset-3">
                            <div id="form_response" style="text-align:center;">
                                <img style="text-align:center;" src="img/mail_sent.png" alt="image" />
                                <h1>Commande confirmer !</h1>
                                <p>Nous vous remercions <b><?=$first_name;?></b> d'avoir commandé chez nous et nous traiterons votre commande au plus vite.</p>
                                </p>


                                
                                <a class="btn btn-primary btn-lg" href="index.html">Retourner sur le site</a>
                            </div>
                        </div>   
                    </div>                   
                </div>

                <?php
                
                }

                ?>

        </div>
        

        
        

            
    </body>

</html>

Je vais donc essayé un code proposé sur le site que tu m'as envoyé
 
J'en ai marre, j'ai essayé de suivre le tutoriel via les liens mais j'y arrive pas enfin ca me mets commande envoyé mais je ne reçois aucun email :/ vous connaîtrez pas quelqu'un capable de me le faire si je lui envoi les fichiers ? Gratuitement de préférence.
 
J'en ai marre, j'ai essayé de suivre le tutoriel via les liens mais j'y arrive pas enfin ca me mets commande envoyé mais je ne reçois aucun email :/ vous connaîtrez pas quelqu'un capable de me le faire si je lui envoi les fichiers ? Gratuitement de préférence.
Tu as regardé dans les spams ?
 
Oui partout, j'ai rien trouvé. Voilà les codes actuels du concernant le formulaire de contact :

index.html :
Code:
<form action="contact.php" name="contactform"  method="post" id="contact-form">
                    <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="name"> Pseudo</label>
                                  
                                        <input id="name" class="form-control" type="text" name="first_name" placeholder="Entrez votre speudo"/>
                                  
                                </div>
                                <div class="form-group">
                                     <label for="email"> Adresse email</label>
                                    <div id="input_email" class="input-group">
                                        <span class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span></span>
                                        <input id="email" class="form-control" type="text" name="email" placeholder="Entrez votre adresse email" />
                                    </div>
                                </div> 
                              
                                <div class="form-group">
                                    <label for="subject"> PLateforme</label>
                                  
                                        <input id="subject" class="form-control" type="text" name="subject" placeholder="Entrez la plateforme de votre choix"/>
                                  
                                </div>
                              
                                </div>
                          
                                <div class="col-md-6">     
                                <div id="input_message" class="col-md-12">
                                <label for="message"> Message</label>
                                        <textarea id="comments" class="form-control" name="message" rows="6" placeholder="Entrez le produits souhaités"></textarea>
                                    </div>
                                </div>
                                    <div class="col-md-12">
                                  
                                        <input class="btn btn-skin pull-right" type="submit" value="Envoyer" id="submit">
                                    </div>
                                  
                                </div>
                  
                                </form>

contact.php :
Code:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {


  $name     = htmlentities($_POST['pseudo']); 
  $email   = htmlentities($_POST['email']);
  $subject     = htmlentities($_POST['plateforme']); 
  $message = htmlentities($_POST['message']);


  $destinataire = '[email protected]';
  $sujet = 'Commande Azrogames';
  $contenu = '<html><head><title>Titre du message</title></head><body>';
  $contenu .= '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
  $contenu .= '<p><strong>Pseudo</strong>: '.$name.'</p>';
  $contenu .= '<p><strong>Email</strong>: '.$email.'</p>';
  $contenu .= '<p><strong>Plateforme</strong>: '.$subject.'</p>';
  $contenu .= '<p><strong>Message</strong>: '.$message.'</p>';
  $contenu .= '</body></html>';

  $headers = 'MIME-Version: 1.0'."\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";

  mail($destinataire, $sujet, $contenu, $headers);
  echo '<h2>Commande envoyé!</h2>';
}
?>
 
Tu as marqué "$sujet" au lieu de "$subject" dans les paramètres de la fonction mail() :p

PHP:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
    $name = htmlentities($_POST['pseudo']);
    $email = htmlentities($_POST['email']);
    $subject = htmlentities($_POST['plateforme']);
    $message = htmlentities($_POST['message']);

    $destinataire = '[email protected]';
    $sujet = 'Commande Azrogames';
    $contenu = '<html><head><title>Titre du message</title></head><body>';
    $contenu = '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
    $contenu = '<p><strong>Pseudo</strong>: '.$name.'</p>';
    $contenu = '<p><strong>Email</strong>: '.$email.'</p>';
    $contenu = '<p><strong>Plateforme</strong>: '.$subject.'</p>';
    $contenu = '<p><strong>Message</strong>: '.$message.'</p>';
    $contenu = '</body></html>';

    $headers = 'MIME-Version: 1.0'."\r\n";
    $headers = 'Content-type: text/html; charset=iso-8859-1'."\r\n";

    mail($destinataire, $subject, $contenu, $headers);
    echo '<h2>Commande envoyé!</h2>';
}
?>

Edit: Le code est mal foutu, essaie de ne faire qu'un seul $contenu regroupant tous les autres :mmh:
 
Tu as marqué "$sujet" au lieu de "$subject" dans les paramètres de la fonction mail() :p

PHP:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
    $name = htmlentities($_POST['pseudo']);
    $email = htmlentities($_POST['email']);
    $subject = htmlentities($_POST['plateforme']);
    $message = htmlentities($_POST['message']);

    $destinataire = '[email protected]';
    $sujet = 'Commande Azrogames';
    $contenu = '<html><head><title>Titre du message</title></head><body>';
    $contenu = '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
    $contenu = '<p><strong>Pseudo</strong>: '.$name.'</p>';
    $contenu = '<p><strong>Email</strong>: '.$email.'</p>';
    $contenu = '<p><strong>Plateforme</strong>: '.$subject.'</p>';
    $contenu = '<p><strong>Message</strong>: '.$message.'</p>';
    $contenu = '</body></html>';

    $headers = 'MIME-Version: 1.0'."\r\n";
    $headers = 'Content-type: text/html; charset=iso-8859-1'."\r\n";

    mail($destinataire, $subject, $contenu, $headers);
    echo '<h2>Commande envoyé!</h2>';
}
?>

Edit: Le code est mal foutu, essaie de ne faire qu'un seul $contenu regroupant tous les autres :mmh:

Comment faire un seul contenu ?
 
Comment faire un seul contenu ?
Je ferais ça comme ça moi :mmh:
Après la dernière fois que j'ai utilisé mail() remonte au moins à 2012 donc je ne saurais te dire si c'est bien correct mais intuitivement j'aurais fait comme ça :xD:


PHP:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
    $name = htmlentities($_POST['pseudo']);
    $email = htmlentities($_POST['email']);
    $subject = htmlentities($_POST['plateforme']);
    $message = htmlentities($_POST['message']);

    $destinataire = '[email protected]';
    $sujet = 'Commande Azrogames';
    $contenu = '<html><head><title>Titre du message</title></head><body>
    <p>Bonjour, vous avez reçu un message à partir de votre site web.</p>
    <p><strong>Pseudo</strong>: '.$name.'</p>
    <p><strong>Email</strong>: '.$email.'</p>
    <p><strong>Plateforme</strong>: '.$subject.'</p>
    <p><strong>Message</strong>: '.$message.'</p>
    </body></html>';

    $headers = 'MIME-Version: 1.0'."\r\n";
    $headers = 'Content-type: text/html; charset=iso-8859-1'."\r\n";

    mail($destinataire, $subject, $contenu, $headers);
    echo '<h2>Commande envoyé!</h2>';
}
?>

Dis moi si ce code fonctionne ;)
 
Je ferais ça comme ça moi :mmh:
Après la dernière fois que j'ai utilisé mail() remonte au moins à 2012 donc je ne saurais te dire si c'est bien correct mais intuitivement j'aurais fait comme ça :xD:


PHP:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
    $name = htmlentities($_POST['pseudo']);
    $email = htmlentities($_POST['email']);
    $subject = htmlentities($_POST['plateforme']);
    $message = htmlentities($_POST['message']);

    $destinataire = '[email protected]';
    $sujet = 'Commande Azrogames';
    $contenu = '<html><head><title>Titre du message</title></head><body>
    <p>Bonjour, vous avez reçu un message à partir de votre site web.</p>
    <p><strong>Pseudo</strong>: '.$name.'</p>
    <p><strong>Email</strong>: '.$email.'</p>
    <p><strong>Plateforme</strong>: '.$subject.'</p>
    <p><strong>Message</strong>: '.$message.'</p>
    </body></html>';

    $headers = 'MIME-Version: 1.0'."\r\n";
    $headers = 'Content-type: text/html; charset=iso-8859-1'."\r\n";

    mail($destinataire, $subject, $contenu, $headers);
    echo '<h2>Commande envoyé!</h2>';
}
?>

Dis moi si ce code fonctionne ;)
Sur le site (tu peux voir par toi meme si tu veux) ca valide l'envoi du formulaire mais je recois rien sur gmail, dans spam etc... il y a rien, est ce qu'il faudrait pas par hasard touché au phpadmin de hostinger ?
 
Remplace tes $headers par ça:
PHP:
    $headers  = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= 'Reply-to: Seomeone <[email protected]>' . "\n" ;
    $headers .= 'Return-path: Seomeone <[email protected]>' . "\n" ;
    $headers .= 'From: Seomeone <[email protected]>' . "\r\n";
Si ça ne fonctionne pas je ne pourrais malheureusement plus t'aider je suis en train de finir ma valise et je pars dans 3h x)
Peut-être qu'Hostinger bloque l'envoie d'email aussi ? En tout cas je te déconseille cet hébergement, il est vraiment mauvais D:


Bonne fin d'après-midi,
Paul GTP
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut