récupérer formulaire contact en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : récupérer formulaire contact en php

Re: récupérer formulaire contact en php

par piotrowski-s » 11 mai 2012, 16:57

moi pour les caractères spéciaux j'encodes le tout en iso <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Re: récupérer formulaire contact en php

par paikanPHP » 11 mai 2012, 10:46

Bonjour à tous,

J'ai effectué plusieurs recherches et je viens d'essayer une solution pour les caractères spéciaux :

Code : Tout sélectionner

$headers .='Content-Type: text/plain; charset="utf-8"'." "; $headers .='Content-Transfer-Encoding: 8bit';
Mais le résultat est toujours le même :(

Si vous avez une petite idée, perso je suis nul en php mais je pense que ça ne doit pas être compliqué :)

Merci et bonne journée à tous.

Re: récupérer formulaire contact en php

par paikanPHP » 09 mai 2012, 16:27

Bonjour à tous,

Après plusieurs dizaine de testes je suis arrivé à un résultat plus ou moins satisfaisante mais qui fonctionne.
Pour la redirection j'utilise un code javascript tout bête mais pas très jolie :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/plain; charset=UTF-8" /> </head> <?PHP if (get_magic_quotes_gpc()) { $nom = stripslashes($_POST['nom']); $email = stripslashes($_POST['email']); $nation = stripslashes($_POST['nation']); $prenom = stripslashes($_POST['prenom']); $telephone = stripslashes($_POST['telephone']); $adresse = stripslashes($_POST['adresse']); $profession = stripslashes($_POST['profession']); $statut = stripslashes($_POST['statut']); $interet = stripslashes($_POST['interet']); $message = stripslashes($_POST['message']); } else { $nom = $_POST['nom']; $email = $_POST['email']; $nation = $_POST['nation']; $prenom = $_POST['prenom']; $telephone = $_POST['telephone']; $adresse = $_POST['adresse']; $profession = $_POST['profession']; $statut = $_POST['statut']; $interet = $_POST['interet']; $message = $_POST['message']; /* Destinataire (votre adresse e-mail) */ $to = '[email protected]'; // Subject $subject = 'Demande informations concernant monsupersite'; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; /* Construction du message */ $msg = 'Bonjour,'."\r\n\r\n"; $msg .= 'Ce mail a été envoyé depuis le site monsupersite.com par '.$nom.' '.$prenom."\r\n\r\n"; $msg .= 'Voici le message qui vous est adressé :'."\r\n"; $msg .= '***************************'."\r\n"; $msg .= 'Le nom est :'.$nom."\r\n\r\n"; $msg .= 'Le prénom est :'.$prenom."\r\n\r\n"; $msg .= 'La nationalité est :'.$nation."\r\n\r\n"; $msg .= 'Le numéro de téléphone est :'.$telephone."\r\n\r\n"; $msg .= 'L adresse email est :'.$email."\r\n\r\n"; $msg .= 'L adresse de domiciliation est :'.$adresse."\r\n\r\n"; $msg .= 'Sa profession est :'.$profession."\r\n\r\n"; $msg .= 'Son statut est :'.$statut."\r\n\r\n"; $msg .= 'Son intérêt est :'.$interet."\r\n\r\n"; $msg .= 'Son message est :'.$message."\r\n\r\n"; $msg .= '***************************'."\r\n\r\n"; /* En-têtes de l'e-mail */ $headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n"; /* Envoi de l'e-mail */ mail($to, $subject, $msg, $headers); // la fonction de redirection ------------ function redir($url){ echo "<script language=\"javascript\">"; echo "window.location='$url';"; echo "</script>"; } // Utiliser la redirection --------------- redir("http://www.monsupersite.com"); }?>
Maintenant j'essaye désèperement de rendre 2 ou 3 champs obligatoires.
J'ai vue 5 ou 6 solutions pour arriver à mes fins, je préfère vous demander votre avis car si j'ai bien compris, chaque solutions a un style particulier et je pense qu'il est plus facile de trouver la bonne en voyant le code. (vous avez bien compris que j'étais nul en php ^^).

Quand je reçois les informations du formulaire par mail, les caractère spéciaux ne sont pas transcrit en caractères avec accents, j'ai bien essayé :
$headers .= "Content-type: text/plain; charset=UTF-8 comme en html mais sans succès.

Si vous avez des idées ou des pistes de travail, vous êtes les rois du monde (ou presque) :D

Merci d'avance

Re: récupérer formulaire contact en php

par xTG » 08 mai 2012, 12:34

Regardes du côté des popup en DHTML.
Pour la redirection, pareil va falloir pencher du côté de javascript avec window.location.href

Re: récupérer formulaire contact en php

par paikanPHP » 08 mai 2012, 11:33

Après de nombreux essaie et beaucoup de café je suis arrivé à pondre ça :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?PHP if (get_magic_quotes_gpc()) { $nom = stripslashes($_POST['nom']); $email = stripslashes($_POST['email']); $prenom = stripslashes($_POST['prenom']); $telephone = stripslashes($_POST['telephone']); $adresse = stripslashes($_POST['adresse']); $profession = stripslashes($_POST['profession']); $statut = stripslashes($_POST['statut']); $interet = stripslashes($_POST['interet']); $message = stripslashes($_POST['message']); } else { $nom = $_POST['nom']; $email = $_POST['email']; $prenom = $_POST['prenom']; $telephone = $_POST['telephone']; $adresse = $_POST['adresse']; $profession = $_POST['profession']; $statut = $_POST['statut']; $interet = $_POST['interet']; $message = $_POST['message']; /* Destinataire (votre adresse e-mail) */ $to = '[email protected]'; // Subject $subject = 'Demande de contact'; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=UTF-8\r\n"; /* Construction du message */ $msg = 'Bonjour,'."\r\n\r\n"; $msg .= 'Ce mail a été envoyé depuis le site monsupersite.com par '.$nom.' '.$prenom."\r\n\r\n"; $msg .= 'Voici le message qui vous est adressé :'."\r\n"; $msg .= '***************************'."\r\n"; $msg .= $nom."\r\n"; $msg .= $prenom."\r\n"; $msg .= $telephone."\r\n"; $msg .= $email."\r\n"; $msg .= $adresse."\r\n"; $msg .= $profession."\r\n"; $msg .= $statut."\r\n"; $msg .= $interet."\r\n"; $msg .= $message."\r\n"; $msg .= '***************************'."\r\n"; /* En-têtes de l'e-mail */ $headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n"; /* Envoi de l'e-mail */ /*mail($to, $subject, $msg, $headers);*/ if (mail($to, $subject, $msg, $headers)) { echo "<center>Votre mail a été envoyé</center><br>"; } else { echo "Une erreur s'est produite"; } }?> <p align="center">Vous allez bientôt être redirigé vers la page d’accueil<br/> Si vous n’êtes pas redirigé au bout de 5 secondes cliquez <a href="http://www.monsupersite.com">ici </a></p>
Je sais que le code n'est pas magnifique mais ça fonctionne.
Maintenant que cherche deux fonctionnalités :

Une fois le formulaire remplie et envoyé , j'aimerai qu'une fenêtre style popup apparaisse avec l'indication "message envoyé" et quand on clic sur ok, que le visiteur soit redirigé vers la page d'accueil.

SI vous avez une idée ou une piste de recherche c'est avec plaisir.

Merci d'avance

Re: récupérer formulaire contact en php

par paikan php » 08 mai 2012, 11:07

merci beaucoup pour ton aide.
Je suis actuellement en train de refaire complétement mail.php
Je regarde du côté du site du zero et je reviens donner des news :D

Re: récupérer formulaire contact en php

par Selinaa » 08 mai 2012, 10:58

Hi !

Ça serait bien si tu nous montrais ton code "mail.php" et que tu nous dises l'erreur que tu rencontres actuellement. :wink:
Sinon, tu devrais jeter un oeil ici : http://www.siteduzero.com/tutoriel-3-13 ... #ss_part_5

C'est vraiment bien fait !

Ja nee,

Re: récupérer formulaire contact en php

par paikanPHP » 08 mai 2012, 09:18

SI une âme charitable passe par la !!!!
Je viens de reprendre les différents tutos sur la création d'un fichier traitement.php ou mail.php dans mon cas.
comme par exemple :
http://a-pellegrini.developpez.com/tutoriels/php/mail/

Mais je dois avouer que je suis complétement pommé :( j'ai essayé différentes solutions mais à chaque fois j'ai un message d'erreur différents.
Je recherche lamentablement un début de code compatible avec mon <from></from> me permettant de comprendre la récupération, la vérification et l'envoie d'informations.

Je vous remercie d'avance pour votre aide et vos conseils :priere:

récupérer formulaire contact en php

par paikanPHP » 07 mai 2012, 16:43

Bonjour à tous :D

Je suis actuellement en train de créer un formulaire de contacte sur un site internet ( je dois avouer que c'est pas spécialement ma branche).

J'ai réussi à créer le code <form></form> à l'aide de différents tutos et je suis satisfait du résultat.

Code : Tout sélectionner

<form id="form" method="post" action="mail.php"> <input type=hidden name=subject value=formmail /> <div class="column1" style="width: 251px"> <div class="row"> <input name="nom" type="text" class="input" value="Nom:" /> </div> <div class="row"> <input name="email" type="text" class="input" value="Email:" /> </div> <div class="row"> <input name="prenom" type="text" class="input" value="Prénom:" /> </div> <div class="row"> <input name ="tel" type="text" class="input" value="Téléphone:" /> </div> <div class="row"> <input name="adresse" type="text" class="input" value="Adresse:" /> </div> <div class="row"> <input name="profession" type="text" class="input" value="Profession:" /> </div> <div class="row" style=> Statut: <select name="statut"> <option value="choix1">Particulier</option> <option value="choix2">Société</option> <option value="choix3">Groupe</option> <option value="choix4">Agent immobilier</option> </select> </div> <div class="row" style="width: 279px"> Intérêt: <select name="type"> <option value="choix1">Residence principale</option> <option value="choix2">Residence secondaire</option> <option value="choix3">Investissement Locatif</option> <option value="choix4">Investissement financier</option> <option value="choix5">Investissement</option> <option value="choix6">Commerce</option> </select> </div> </div> <div class="column2"> <div class=""> <textarea cols="1" rows="1">Message:</textarea><br /> <div class="div"> <input type="submit" name="envoi" value="Envoyer le formulaire !" /> </div> </div> </div> <div class="clear"></div> </form>
Par contre je rencontre un mal fous à rédiger le fichier mail.php qui permet d'envoyer le mail depuis le serveur. :cry:

Cela fait plus d'une semaine que j'essaye dans tous les sens avec différentes sources. Je suis sous Win Webserver IIS7 - Php5 et je sais que tout fonctionne bien niveau serveur.

Si une âme charitable a une idée lumineuse, je suis preneur, je pense que pour des habitués ça doit être un jeux d'enfants !!

Merci d'avance et très bonne journée à tous :D