Fonction PHP : Envoyer des mails

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
Profil introuvable

Profil introuvable Le 26 juin 2016 à 19:14

Re:

Il y a un gros problème, j'ai tester sur Chrome, Firefox, Internet Explorer et Safari.

-Chrome : il affiche le code source du fichier 😕
-Firefox : il affiche le formulaire (OK 😉) mais un peu de code PHP 😤
-Internet Explorer : il affiche le code source du fichier 😕
-Safari : il affiche le code source du fichier 😕

Oui je n'en ai pas eu
Comment tu as procéder ? 😦
Balatharas

Balatharas Le 26 juin 2016 à 19:18

Mais je ne comprends, pas tu as bien ouvert le fichier avec Wamp ?
Profil introuvable

Profil introuvable Le 26 juin 2016 à 19:30

Re:

J'arrivais pas à exécuter Wamp car il me manquait un fichier dll, je l'ai télécharger ici : http://www.telecharger-dll.fr/
Bref, je corrige ce problème et je te tiens au courant 😉
Balatharas

Balatharas Le 26 juin 2016 à 20:36

Alors @Jerem971 ?
Profil introuvable

Profil introuvable Le 26 juin 2016 à 20:46

Re:

Impossible d’exécuter Wamp, j'ai le message d'erreur suivant : "PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_intl.dll' - %1 n'est pas une application Win32 valide."

Que dois-je faire ?
Balatharas

Balatharas Le 26 juin 2016 à 20:54 (Édité le 26 juin 2016 à 20:55)

Hummm...
Désinstalle entièrement Wamp puis clique ici pour télécharger wamp
Profil introuvable

Profil introuvable Le 26 juin 2016 à 21:08

Re:

Toujours le même problème... Que dois-je faire à nouveau ?
Balatharas

Balatharas Le 27 juin 2016 à 17:32

@Jerem971 La je ne vois pas, regarde sur google
Balatharas

Balatharas Le 27 juin 2016 à 18:11

@Jerem971 Euh mais tu as eu la même erreur ? As-tu executer Wamp tout de suite après ? Car moi j'ai eu un message d'erreur et par curiosité, j'ai ré-executé wamp et ca a marcher sans pb.
Profil introuvable

Profil introuvable Le 27 juin 2016 à 18:55

Toujours le même message d'erreur que ce soit la désinstallation ou l'installation... Je l'ai désinstaller de manière propre avec Revo Uninstaller mais toujours le même problème... 😦

Je pense que ce message d'erreur signifie que le fichier php_intl.dll n'est pas compatible pour les systèmes 64 bits... 😦
Balatharas

Balatharas Le 27 juin 2016 à 19:13

Désinstalle le normalement avec le panneau de configuration windows, puis réinstalle le, ensuite après l'installation, même si tu as un message d'erreur démarre "start wampserver64". Tiens moi au courant 😉 
Profil introuvable

Profil introuvable Le 27 juin 2016 à 20:58 (Édité le 27 juin 2016 à 20:58)

Re :

J'ai désinstaller Wamp, puis je l'ai télécharger à nouveau ici. Il fonctionne maintenant 😀
Peut-tu me guider pour la configuration ? 😀
Balatharas

Balatharas Le 29 juin 2016 à 15:44

Tu n'as pas vraiment de configuration a faire a part ceci:
Tu prends le dossier de ton site. Ensuite tu va a la racine de ton disque dur C:/ par défaut.
Wamp ---> www ----> et la tu colle le dossier de ton site. Ensuite tu va a l'adresse locale de ton site qui est
http://127.0.0.1/dossier
Profil introuvable

Profil introuvable Le 29 juin 2016 à 19:45 (Édité le 29 juin 2016 à 19:45)

Re:

Merci 'Beignet' 😉

Mais juste un petit problème à résoudre, quand je tape n'importe quoi dans la partie email, le navigateur m'affiche le message d'erreur c'est OK 😉 mais c'est pas trop cela que j'attendais 😰
Le problème est quand je clique sur "Soumettre le formulaire" et que rien n'est complété, il n'y a pas de message d'erreur, en fait je voulais que cela fasse exactement pareil sur ce site : http://christians-steffen.fr/contact/

On n'y est presque courage 😉

Souviens-toi :

-Si les champs ne sont pas complétés, il affiche un message d'erreur (en majuscule) "Merci de bien vouloir vérifier que tous les champs contiennent les bonnes informations. Merci."
-Si les champs sont compléter mais invalide, il affiche toujours le même message.
-Si les champs sont compléter et valide, il envoie le message.

Merci de ton aide 😉
Balatharas

Balatharas Le 29 juin 2016 à 19:47

Ouii j'ai du faire une grossière erreur @Jerem971 😰
Par contre désolé mais je pourrais faire le code que demain après 16h30 environ ou alors en fin de semaine. 
Je suis enfin en vacances demain soir ;p
Bref bonne soirée 😀
Profil introuvable

Profil introuvable Le 29 juin 2016 à 19:49

Re:

Pas de problème 😉 Tous le monde à le droit de se reposer 😉 D'ailleurs j'ai mis mon site web de côté pour profiter des vacances 😉
Il n'y a pas de problème 😉

Je souhaite de bonnes vacances à toutes et à tous 😋
Balatharas

Balatharas Le 30 juin 2016 à 19:25

Hello au final je ne suis venu que plus tard 😋
est-ce que je pourrais avoir ton CSS pour le formulaire ? 
Balatharas

Balatharas Le 30 juin 2016 à 20:40 (Édité le 30 juin 2016 à 20:40)

Alors, voilà j'ai refait le code. Je n'ai pas d'explications en + a te donner. J'avais vraiment honte quand j'ai vu mes erreurs 😕
<?php
if(isset($_POST['form-style-9']))
{
   if(!empty($_POST['field1']) AND !empty($_POST['field2']) AND !empty($_POST['field3']) AND !empty($_POST['field5']))
   {
      if(filter_var($_POST['field2'], FILTER_VALIDATE_EMAIL))
      {
         $destinataire = "tonmail";
         $header="MIME-Version: 1.0\r\n";
         $header.='From:"pseudo"<tonmail@gmail.com>'."\n";
         $header.='Content-Type:text/html; charset="uft-8"'."\n";
         $header.='Content-Transfer-Encoding: 8bit';
         $message='
            <html>            
               <body>
                  <u>De:</u> <b>'.$_POST['field1'].'</b><br />
                  <u>Email:</u> <b>'.$_POST['field2'].'</b><br />
                  <u>Objet:</u> <b>'.$_POST['field3'].'</b><br />
                  <u>Message:</u> <br /><br />
                  '.nl2br($_POST['field5']).'
               </body>
            </html>
            ';
         mail($destinataire, "Nouveau message du formulaire de contact !", $message, $header);
      }
      else
      {
         $error = "Format de l'e-mail invalide.";
      }
   }
   else
   {
      $error = "Merci de bien vouloir vérifier que tous les champs sont bien remplis. Merci.";
   }
}
?>
<html>
   <head>
      <title>Contact</title>
      <meta charset="UTF-8" />
   </head>
   <body>
      <form action="" method="POST" class="form-style-9" name="form-style-9">
            <ul>
                <li>
                    <input type="text" name="field1" id="field1" class="field-style field-split align-left" placeholder="Nom (requis)"/>
                </li><br />
                <li>
                    <input type="mail" name="field2" id="field2" class="field-style field-split align-right" placeholder="Email (requis)"/>
                </li><br />
                <li>
                    <input type="text" name="field3" id="field3" class="field-style field-full align-none" placeholder="Sujet"/>
                </li><br />
                <li>
                    <textarea name="field5" id="field5" class="field-style" placeholder="Message"></textarea>
                </li><br />
                <li>
                    <input type="submit" value="Soumettre le formulaire" name="form-style-9" title="Soumettre le formulaire"/>
                </li>
            </ul>
        </form>
        <?php
        if(isset($error))
        {
            echo '<font color="#C22B2B">'.$error.'</font>';
        }
        ?>
   </body>
</html>
Profil introuvable

Profil introuvable Le 1 juillet 2016 à 18:38 (Édité le 1 juillet 2016 à 18:39)

Hello 'Beignet' 😄

Un grand merci à toi, du bon travail 😉 C'est exactement cela que je voulais, mais cependant il reste 2 choses à résoudre :
-Quand tous les champs remplis sont correct (même l'adresse e-mail), je clique sur "Soumettre le formulaire" et Wamp m'indique une erreur, voici le message d'erreur : "Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\Test\contact.php on line 24" (j'imagine qu'il faut que je configure quelque chose alors ?)
-Je voudrais que le message d'erreur "Format de l'e-mail invalide." apparaisse sur tous les navigateurs car Internet Explorer, Mozilla Firefox et Google Chrome m'affiche leur message personnalisé. Le seul navigateur qui affiche le message que tu as taper est Safari sur Windows.

Et voici le code CSS de mon formulaire pour que cela soit propre pour toi 😉

.form-style-9 ul{
    padding:0;
    margin:0;
    list-style:none;
}
.form-style-9 ul li{
    display: block;
    margin-bottom: 20px;
    min-height: 35px;
}
.form-style-9 ul li  .field-style{
    box-sizing: border-box; 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box; 
    padding: 8px;
    outline: none;
    border: 1px solid #000000;
    border-radius: 8px;
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
}.form-style-9 ul li  .field-style:focus{
    box-shadow: 0 0 5px #0000FF;
    border:1px solid #0000FF;
    overflow: hidden;
}
.form-style-9 ul li .field-split{
    width: 19.1%;
}
.form-style-9 ul li .field-full{
    width: 19.1%;
}
.form-style-9 ul li input.align-left{
    float:left;
}
.form-style-9 ul li input.align-right{
    float:left;
}
.form-style-9 ul li textarea{
    width: 50%;
    height: 200px;
}
.form-style-9 ul li input[type="button"], 
.form-style-9 ul li input[type="submit"] {
    -moz-box-shadow: inset 0px 1px 0px 0px #000000;
    -webkit-box-shadow: inset 0px 1px 0px 0px #000000;
    border-radius: 8px;
    background-color: #FF0000;
    border: 1px solid #000000;
    display: inline-block;
    cursor: pointer;
    color: #FFFFFF;
    padding: 8px 18px;
    text-decoration: none;
    padding:15px 6px 15px 6px;
    width:210px;
    font:bold 12px Arial;
    text-transform:uppercase;
    margin:auto;
    margin-top:40px;
    box-shadow:2px 2px 6px;
}
.form-style-9 ul li input[type="button"]:hover, 
.form-style-9 ul li input[type="submit"]:hover {
    background: linear-gradient(to bottom, #0000FF 5%, #0000FF 100%);
    background-color: #0000FF;
}
Et voici le code du fichier contact.php que tu as modifier vu que tu n'avais pas le design (désolé 😰) (j'ai enlever les sauts de ligne)

<?php
if(isset($_POST['form-style-9']))
{
   if(!empty($_POST['field1']) AND !empty($_POST['field2']) AND !empty($_POST['field3']) AND !empty($_POST['field5']))
   {
      if(filter_var($_POST['field2'], FILTER_VALIDATE_EMAIL))
      {
         $destinataire = "monmail@gmail.com";
         $header="MIME-Version: 1.0\r\n";
         $header.='From:"pseudo"<monmail@gmail.com>'."\n";
         $header.='Content-Type:text/html; charset="uft-8"'."\n";
         $header.='Content-Transfer-Encoding: 8bit';
         $message='
            <html>
               <body>
                  <u>De:</u> <b>'.$_POST['field1'].'</b><br />
                  <u>Email:</u> <b>'.$_POST['field2'].'</b><br />
                  <u>Objet:</u> <b>'.$_POST['field3'].'</b><br />
                  <u>Message:</u> <br /><br />
                  '.nl2br($_POST['field5']).'
               </body>
            </html>
            ';
         mail($destinataire, "Nouveau message du formulaire de contact !", $message, $header);
      }
      else
      {
         $error = "Format de l'e-mail invalide.";
      }
   }
   else
   {
      $error = "Merci de bien vouloir vérifier que tous les champs contiennent les bonnes informations. Merci.";
   }
}
?>
<html>
   <head>
      <title>Contact</title>
      <meta charset="UTF-8"/>
     <link rel="stylesheet" href="css\contact.css" type="text/css" media="all"/>
   </head>
   <body>
      <form action="" method="POST" class="form-style-9" name="form-style-9">
         <ul>
            <li>
               <input type="text" name="field1" id="field1" class="field-style field-split align-left" placeholder="Nom (requis)"/>
            </li>
         <li>
      <input type="email" name="field2" id="field2" class="field-style field-split align-right" placeholder="Email (requis)"/>
         </li>
            <li>
               <input type="text" name="field3" id="field3" class="field-style field-full align-none" placeholder="Sujet"/>
         </li>
      <li>
      <textarea name="field5" id="field5" class="field-style" placeholder="Message"></textarea>
         </li>
            <li>
               <input type="submit" value="Soumettre le formulaire" name="form-style-9" title="Soumettre le formulaire"/>
         </li>
      </ul>
      </form>
        <?php
        if(isset($error))
        {
            echo '<font color="#FF0000">'.$error.'</font>';
        }
        ?>
   </body>
</html>
Merci 'Beignet' 😉
Balatharas

Balatharas Le 1 juillet 2016 à 20:31 (Édité le 1 juillet 2016 à 22:24)

Salut salut 😄 @Jerem971
Derien, mais pour "Format de l'email invalide" je ne crois pas pouvoir empêcher cela. C'est moi qui ai défini l'erreur donc je ne vois pas comment faire. De plus, sur Chrome, Mozilla et InternetExplorer j'ai bien "Format de l'email invalide"...

Pour ce qui est de Wamp, c'est normal lorsque tu mettra le fichier en ligne il n'y aura pas de problèmes.
Sinon regarde ceci (par @PrimFX)
EDIT: Ah et j'ai rajouté une petite ligne sur ton CSS juste comme ça 
.form-style-9 ul li input[type="button"], 
.form-style-9 ul li input[type="submit"] {
    -moz-box-shadow: inset 0px 1px 0px 0px #000000;
    -webkit-box-shadow: inset 0px 1px 0px 0px #000000;
    border-radius: 8px;
    background-color: #FF0000;
    border: 1px solid #000000;
    display: inline-block;
    cursor: pointer;
    color: #FFFFFF;
    padding: 8px 18px;
    text-decoration: none;
    padding:15px 6px 15px 6px;
    width:210px;
    font:bold 12px Arial;
    text-transform:uppercase;
    margin:auto;
    margin-top:40px;
    box-shadow:2px 2px 6px;
    transition: all 0.5s ease;
}
Tout en bas ça fait juste une petite transition pour le bouton submit 😗
TheFlameflo

TheFlameflo Le 1 juillet 2016 à 21:33

Salut !

Pour les mails, j'ai trouvé un tuto qui reprend les mêmes principes que PrimFX avec fakesendmail mais, ça utilise mailtrap.io :
https://www.youtube.com/watch?v=_YDkxxoAnvY.

Bonne chance pour la suite ! 😀
Profil introuvable

Profil introuvable Le 1 juillet 2016 à 23:04 (Édité le 1 juillet 2016 à 23:05)

Re:

Merci 'Beignet' d'avoir pris le temps de m'aider, j'ai vu le tuto de Boris, au tout début du topic tu pourras voir le lien de la vidéo 😉
Je ne comprend pas pourquoi tu as rajouter une ligne de commande dans le fichier CSS, que veux-tu dire au navigateur par "transition: all 0.5s ease;" ? Pourquoi tu lui dit de faire une transition, moi j'ai rien vu quand j'ai tester.

Merci 'TheFlameflo' pour le lien, je vais regarder cela 😉

Je tiens donc à remercier les personnes qui me sont venus en aide : 'Ranarxhag', 'Beignet', 'TheFlameflo' 😉

Je met donc le topic en "Résolu" 😉 Merci et bonne continuation 😉

PS : 'Ranarxhag', 'Beignet', 'TheFlameflo', Pour m'avoir aider, je serais ravis de vous aidez dans vos projets (sites web...), vous pouvez me contacter, je pourrais surement vous aidez pour la programmation HTML/CSS de vos sites ou la désinfection de vos machines si cela vous intéresse 😉
Balatharas

Balatharas Le 2 juillet 2016 à 13:49

@Jerem971 j'ai juste rajouter la ligne comme ça  en gros si tu passe la souris sur ton submit et que l'enleve ca fait juste une petite transition 😄 ca sert a rien mais je m'ennuyais alors xD
Si tu as un autre probleme n'hésite pas 😀 
Profil introuvable

Profil introuvable Le 2 juillet 2016 à 16:51 (Édité le 2 juillet 2016 à 16:51)

Bonjour 'Beignet',

C'était juste pour savoir cette histoire de transition 😋 😄 Tu peux m'aider si tu veux il y a un autre topic ici à résoudre.

Merci pour tout 😉
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte