Tutoriel Vidéo PHP : Formulaire de contact en PHP

Dans ce tutoriel vidéo vous apprendrez à coder un formulaire de contact qui soit utilisable. Dans un premier temps, nous verrons la création d'un formulaire XHTML permettant à l'internaute la saisie des informations. Dans un deuxième temps, nous verrons le traitement de ces informations via un script PHP qui enverra le contenu du formulaire par mail.


Télécharger la vidéo
(Réservé aux premiums)

Télécharger les sources
(Réservé aux premiums)


Après avoir appris sur Internet quoi de plus normal que de partager à son tour ? Passionné par le web depuis un peu plus de 5 ans maintenant j'aime partager mes compétences et mes découvertes avec les personnes qui ont cette même passion pour le web : Vous.

Vous aimerez aussi

Générer un extrait en PHP

Générer un extrait en PHP
14m

Dans ce nouveau tutoriel PHP, nous allons voir ensemble comment générer...

Utilisation du Foreach, Implode, Explode

Utilisation du Foreach, Implode, Explode
7m

Encore du php, et trois "outils" indispensables, le foreach,...

159 commentaires
Ajouter un commentaire

Sandwish Il y a 2 jours Répondre

Merci pour ce tuto très bien expliqué,
j'aurai une question, en fait c'est lorsque je test le formulaire, je visualise contact.html (jusque là tout vas bien), je rempli toutes les case puis je clic sur envoyé (et là c'est le drame ...) il me conduit vers une page blanche (contact.php) sans m'envoyer de texte d'erreur ou de confirmation.

Y-a t-il une manipulation à faire dans la partie MySQL,

et encore merci.

laty Il y a 23 jours Répondre

Merci pour ce cour, très bien expliqué, et de votre générosité -:)

Touthmosis Il y a 2 mois Répondre

super tutoriel très explicite...comme d'habitude.

Marie Il y a 3 mois Répondre

Merci pour ce tuto très explicite, qui m'a bien aidé !

le milouin Il y a 3 mois Répondre

merci pour ce superbe tuto ! cela faisait plusieurs jours que je galéré avec ce formulaire de contact et là tout marche nikel
de plus, il m'a permit de m'améliorer en php
encore merci

s0nyk Il y a 6 mois Répondre

Merci pour le tutoriel !

fishhareng Il y a 9 mois Répondre

Excellent ! Merci pour ce tuto, je vais améliorer mon site de ce pas !

Ophé Il y a 9 mois Répondre

Exactement le même problème que chrisfay ! :-(

Natie Il y a 10 mois Répondre

Merci pour ce tuto, il est vraiment bien expliqué et simple !!!

chrisfay Il y a 10 mois Répondre

Salut Mr Grafikart ,
Voilà deux jours que je planche et je commence sérieusement a m'arracher les cheveux !!!
J'ai essayé des dizaine de formulaire de contact et j'ai toujours le même problème.
Quand je met sur mon site (héberger chez Amen) et que je clique sur envoyer ca ne m'envoie rien, et cela me redirige vers ma page contact.php.
Si une bonne âme charitable pouvais m'aider se serais vraiment sympa
Merci

mahdi sfax Il y a 11 mois Répondre

Un tutoriel intéressant qui explique bien et simplement le formulaire contact.
Merci et bonne continuation.

yougos Il y a 12 mois Répondre

Bonjour à tous

Excellent script et de surcroît très bien expliqué.
Tout fonctionne correctement sous firefox ou chrome mais sous internet explorer 8 les emails n'aboutissent pas.
Est ce que quelqu'un saurait d'ou cela peut venir ?

Merci d'avance
yougos

dboo Il y a 1 an Répondre

Salut, je rencontre ce même problème avec l'encodage, les e-mail me reviennent dans le mauvais encodage, que dois-je ajouter et où le mettre ??? je suis perdu avec cela... Merci

Sima Il y a 1 an Répondre

Bonjour,
J'ai utilisé votre proposition et l'ai mis en ligne.
Cependant en remplissant le formulaire voici le message d'erreur que j'ai

Warning: mail() [function.mail]: 504 5.5.2 <sima>: Sender address rejected: need fully-qualified address in contact.php on line 14
Le mail a bien été envoyé.

Pourriez-vous m'aider?
En vous remerciant par avance,
Bien cordialement
Sima

Blkmrkt78 Il y a 1 an Répondre

Tout d'abord, Merci pour le tuto !
Mais malheureusement j'ai un problème.
Tout fonctionne a pars que je ne reçoit aucun mail .. pas pratique.
Bermaluvi a eu apparemment le même problème que moi.

Mon code php :

<?php
if(isset($_POST) && isset($_POST['nom']) && isset ($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message))
{ $message-str_replace ("\'","'",$message);
$destinataire="contact@blkmrkt78@free.fr";
$sujet="Formulaire de contact";
$msg-"une nouvelle question est arrivée\n
Nom: $nom\n
Message: $message";
$entete-"From: $nom\n Reply-To: $email";
mail($destinataire,$sujet,$message,$entete);
echo "le mail a bien été envoyé.";
}

else{
echo "vous n'avez pas rempli tout les champs";
}
}
?>


Une idée ?

bemaluvi Il y a 1 an Répondre

Bonjour, je reviens à la charge.
Donc, je progresse : en ligne, ça fonctionne le message est bien envoyé.
Sauf que l'encodage est plus que moyen.

Quand je clique sur le bouton Envoyé : Votre mail a bien été envoyé.

Et dans ma boîte mail : Une nouvelle question est arrivée
Nom : toto
Email : toto@wanadoo.fr
Message : Vincent le retour...

bemaluvi Il y a 1 an Répondre

Bonjour, j'ai un problème pour réaliser ce Formulaire de Contact, lorsque je clique sur le bouton Envoyé j'ai ça :
- Le mail a bien été envoyé.
Et je ne reçois rien, d'où cela peut-il venir ? Merci pour votre aide.
Pour info : ma page HTML est encodée en UTF-8

Je vous mets le code PHP au cas où :

<?php

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)) {
$message=str_replace("\'","'",$message);
$destinataire="legrosmarc@numericable.fr";
$sujet="Demande de Renseignements";
$msg="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $message";
$entete="From: $nom \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete);
echo "Le mail a bien été envoyé.";
}
else{
echo "Vous n'avez pas rempli tous les champs.";
}
}
?>

belooved Il y a 1 an Répondre

Bonjour, j'ai un problème qui parait récurrent, j'ai comme hébergeur 1&1 sur mon ancien site l'envoie du message marché très bien mais le site était lourd et mal construit tout comme le formulaire d’ailleurs.J'ai tout refais et utilisé se tuto pour mon formulaire et après avoir cliquer sur envoyer une page blanche apparaît et aucun mail ne me parvient.
Voila mon code:


<?php

if(isset($_POST) && isset ($_POST['nom']) && isset($_POST['entreprise']) && isset($_POST['telephone']) && isset($_POST['message'])) {
extract($_POST);
if(!empty($nom) && !empty($entreprise) && !empty($telephone) && !empty($message)) {

$destinataire="groomconciergerie@gmail.com";
$sujet="formulaire de contact";
$msg="formulaire arrivé \n
\n
\n
\n
Nom : $nom \n
Entreprise : $entreprise \n
Téléphone : $telephone \n
Message : $message";


$entete="From: $nom \n Reply-To: $nom";
mail($destinataire, $sujet,$message,$entete);

}
else{

echo "vous n'avez pas rempli tous les champs";
}
}

?>

Merci par avance de vos explications.

J'ai refait entièrement le site avec vos tutos un grand merci^^

Lvka Il y a 1 an Répondre

Ah ! Je viens tout juste de m'apercevoir que quand j'envoie un email grace au formulaire, mon message comme quoi mon email a bien été envoyer, quand je clic sur mon menu pour atteindre mes autres pages, mes adresse concernés sont érronées... :

webneimad/mail.php?page=espacepro
au lieu de:
webneimad/?page=espacepro

Je ne comprend pas d'où viens mon erreur...

Merci pour vos indices!

Lvka Il y a 1 an Répondre

Bonjour à vous!
Et merci infiniment grafikart pour ce tutoriel vraiment très bien fait !
Je l'ai engloutit d'une seule traite!
Hier, tout fonctionnait à merveille, mais voilà que ce matin, je me retrouve face à une erreur au niveau de wamp:

Warning: mail() [function.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\Neimad\mail.php on line 88


Mais cette erreur n'interviens que quand je suis en interne! sur mon hébergeur FREE, tout fonctionne à merveille.

Est ce que quelqu'un pourrait éclairer ma lanterne ???

Merci beaucoup!

Lvka

Gloubi911 Il y a 1 an Répondre

Voilà, je reviens 30 minutes plus tard avec un autre hébergeur. Tout marche nickel, GG pour le tuto!

Cordialement,
Gloubi.

Gloubi911 Il y a 1 an Répondre

Bonjour à tous,

Merci pour ce tutoriel, il est génial.
J'ai cependant un problème. J'héberge un site gratuitement chez 000webhost pour ma classe de terminale, et lors de l'envoie du message, je ne reçois rien et pourtant "Mon mail a bien été envoyé". J'ai essayé plusieurs script et je pense qu'il s'agit de l'hébergeur.

Qu'en dites-vous?
Merci d'avance à tous.

DanieldeBoca Il y a 2 ans Répondre

Bonjour,
J'ai commencé ce tuto que je trouve bien par ailleurs. Seulement l'erreur suivante est affichée :

Parse error: parse error, expecting `')'' in C:\Documents and Settings (...)on line 4

et voici ce que contient la ligne 4 en question :

if(!empty($Email) && !empty($Prénom) && !empty($Nom de famille) && !empty($Sexe) && !empty($Adresse_1) && !empty($Code Postal) && !empty($Telephone)){ (...)

Quelqu'un peut-il m'aider à trouver l'erreur. Merci d'avance

Shade Il y a 2 ans Répondre

Enfin, ton code complet sinon...

Shade Il y a 2 ans Répondre

On peut avoir la ligne deux de ton code ?

Flopan Il y a 2 ans Répondre

Bonjour,

J'ai l'erreur suivante :

Parse error: parse error, expecting `']'' in C:\wamp\www\Pole-Habbo\site\envoie.php on line 2

Que veut-elle dire ?

Merci d'avance

Bonne journée

MikaSLB Il y a 2 ans Répondre

Bonjour,
J'ai exactement le même problème que OL. Le code ne contient pas d'erreur mais après avoir rempli tous les champs et valider, j'ai une page blanche donc pas de "echo" et aucun mail n'est envoyé J'ai hébergé les pages chez Free.

macbida Il y a 1 mois - Répondre

Bonjour Mika, je suis tombée sur ton emssage sur le site de grafikart concernant le formulaire de contact.
J'ai aussi le même problème et je m'arrache les cheveux : as tu pu régler le prblème de ton côté, et si oui ass tu une solution ?
Merci quand meme
Amandine

Joshua Il y a 2 ans Répondre

Sérieusement, je te remercie pour tout grâce à toi et un peu de volonté j'ai réussi à faire mon premier site web qui est le mien, j'espere voir encore et toujours de tes excellents tuto qui on fait comprendre a un novice beaucoup de chose.

gizmodesbois Il y a 2 ans Répondre

Très bon tutos , concernant les " (guillemet) et ' (apostrophes) voici le code à utiliser :

$message=str_replace("\'","'",$message);
$message = str_replace ('"','"',$message);

Pas besoin de addslashes dans le code

Concernant la validation , personnellement je le trouve niquel si tu veux un truc clean tu fais une pré-validation en jQuery comme moi j'ai fais et ça marche niquel

Bonne journée à toute et à tous

Fc4t Il y a 2 ans Répondre

Trés bon tuto, mille merci !
Avec seulement 1 bon bouquin sur le PHP et ce tuto, j'ai franchis les arcanes du PHP
YOUPii!!

OL Il y a 2 ans Répondre

Bonjour et merci beaucoup pour ce tuto !!

Il y a une chose que je ne comprends pas. Une fois le formulaire de contact rempli et envoyé, j'arrive bien sur la page formulaire.php mais le message echo ne s'affiche pas. Quelqu'un saurait-il me dire pourquoi ?

Voici mon code :

<div class="texte">
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['societe']) && isset($_POST['telephone']) && isset($_POST['mail']) && isset($_POST['cp']) && isset($_POST['ville']) && isset($_POST['message'])){
extract($_POST);
if(!empty($mail) && !empty($telephone) && !empty($cp) && !empty($ville) && !empty($message)){
$message=addslashes($message);
$message=str_replace("\'","'",$message);
$destinataire="olivier.leroux80@orange.fr";
$sujet="Devis express";
$msg="Vous avez reçu une nouvelle demande de devis express \n
Nom : $nom \n
Prénom : $prenom \n
Société : $societe \n
Téléphone : $telephone \n
Mail : $mail \n
Code Postal : $cp \n
Ville : $ville \n
Message : $message\n";
$entete="From: $prenom $nom \n Reply-To: $mail";
mail($destinataire,$sujet,$msg,$entete);
echo "Votre demande de devis express a bien été envoyée";
}
else{
echo "Erreur : Les champs obligatoires de ce formulaire doivent être remplis correctement - Téléphone, Mail, Code Postal, Ville et message";
}
}
?>

Merci beaucoup !

nico Il y a 2 ans Répondre

je comprend rien aux case a cocher y aurait il moyen que quelqu'un m'aide ?
j'ai fait ça:
PHP:
if(empty($d)){
$valid=false;
$erreurmessage="merci de nous expliquer";
}

if(mail($to,$sujet,$message,$header)){
$erreur="votre message nous est bien parvenu";
unset($nom);
unset($email);
unset($message);
unset($d);
}
HTML:
<label for="d">je prefere etre contacté par : </label>
<select name="d" class="styled">
<option value="1">email</option>
<option value="2">téléphone</option>
</select><br/><br/>

<label for="tel">telephone: </label>
<input type="text" name="tel" id="tel"/>

Merci de m'aider si quelqu'un connait ! :D

bySTF Il y a 2 ans Répondre

Merci pour ton tuto... Non seulement tu réponds vite aux questions mais le tutoriel suis quasiment illico ! Génial.
Plus : la vidéo m'apporte des réponses à des questions que je ne m'étais pas posées !!!

Etienne Il y a 2 ans Répondre

Bravo

Badbart Il y a 2 ans Répondre

Terminé (avec un le echo "le mail a bien été envoyé" ça serait cool.
et pour le ELSE ne pas l'ouvrir avec une ( mais un { ça marchera bien mieux aussi

mister-d Il y a 2 ans Répondre

pourquoi le mien ne fonctionne pas? quelqun peux m'aidé?

<?php

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message) ) {
$destinataire="tigalesjak-974-@hotmail.fr";
$sujet="Formulaire de contact";
$msg="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $msg";
$entete="From: $nom \n Reply-To: $email";
mail ($destinataire, $sujet,$msg, $entete);
echo "Le mail a bien été envoyé."
}
else(
echo "Vous n'avez pas rempli tous les champs";
}
}
?>

dams Il y a 2 ans Répondre

Merci sa fonctionne, maintenant que j'ai une base je vais essayer d'améliorer tout ceci en rajoutant des champs et une redirection sur l'index avec un message après l'envoie du mail.

Merci encore badbart.

dams Il y a 2 ans Répondre

Salut,

Super bon tutoriel mais juste un peut soucis pour moi, le code n'est pas valide pour le xhtml strict (http://kelthusor-studio.fr/contact.html) que faire pour le rendre valide ?

Badbart Il y a 2 ans - Répondre

Déjà bien fermer les 2 derniers input avec />
et virer un </p> en trop après le message.

Shyne Il y a 2 ans Répondre

Bonjour a tous , merci pour ce tutoriel qui m'a beaucoup aidé, j'ai très bien compris en relisant les posts des autres que mon envoi de formulaire ne fonctionne pas parce que je suis en local et que je n'ai pas de serveur SMTP, je voudrais juste savoir si lors de la mise en ligne de mon site cela fonctionnera ou si j'ai quelque chose a changer dans mon code PHP .. merci

Drayark Il y a 2 ans Répondre

Il s'agit maintenant d'effectuer des contrôles sur l'envoi de mails pour qu'ils ne passent plus en courrier indésirable !

Sakeshi Il y a 2 ans Répondre

Je suis trop stupide, je suis désolé j'ai reçu dans me courrier indésirable nom@hermes.olympe-network.com pour les gens qui utilise olympe-network =) Merci encore pour le tuto

Sakeshi Il y a 2 ans Répondre

bonsoir, je n'ai aucune connaissance en php et je trouve ce tuto superbe merci Raton laveur. Mais, je ne reçois pas le mail j'ai mis tout(commande.html;commande.php) sur olympe-network et je remplie puis on m'affiche l'echo de confirmation, j'attends quelque minute, ... Et j'ai toujours pas reçu le mail... Alors, m'a question est la suivante : Pourquoi je reçois pas le mail? =(

info supplémentaire :
-je ne suis pas en local
-dans commande.html :
<form method="post"action="commande.php">
Nom :<input type="text" name="nom" value="Nom de l'utilisateur"/><br/>
Email: <input type="text" name="email" value="Adresse mail"/><br/>
Message :<textarea name="message" cols="30" rows="5"></textarea><br />
<input type="submit" value="Envoyer" />
</form>

-commande.php la même chose que Badbart

Julien Il y a 2 ans Répondre

Tutoriel très bien expliqué, j'apprends tous les jours grâce à vous. Serait il possible d'avoir des infos pour se prémunir contre les robots, utilisation de captcha ou autres méthodes...?

@Vincent27 : Comment peux tu poster un commentaire sans même avoir pris le temps de vérifier ton code. Tes erreurs sautent aux yeux, elles me les piquent encore d'ailleur.

pcyassine Il y a 2 ans Répondre

Tutoriel très bien fait
ça me permet de faire une base pour mon script de formulaire de contact
un grand merci et j'attends toujours vos tutoriels:)

Vincent27 Il y a 2 ans Répondre

Merci beaucoup

Vincent27 Il y a 2 ans Répondre

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /home/data/users/j/japoncity/cible.php on line 3

merci quand même :o)

Badbart Il y a 2 ans - Répondre

Franchement il y a tout a refaire. Tu zap des ' , tu mets des § à la place des $, un ( à la place d'un { .
A ta place je retaperai tout.
Je met ton code corrigé, mais ça ce trouve je suis passer a coté d'erreurs.
Au lieu de le copier coller, retape tout(je me répète) ça te fera du bien.

<?
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
$destinataire="contactsite@redby.fr";
$sujet="Formulaire de contact";
$msg="un nouveau formulaire de recrutement est arrivé \n
Nom : $nom \n
Email : $email \
Message : $message";
$entete="From: $nom \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete);
echo"Le mail à été envoyé, reste plus qu'à patienter !";
}
else{
echo "vous n'avez pas rempli tous les champs";
}
}
?>

Baptiste Il y a 2 ans Répondre

salut
déjà je sais pas mais ta première balise php a un > en trop! <?php>
Sinon ligne 3: tu mets des § et pas des dollars $
De plus tu met §empty au lieu de !empty (le ! dit "différent" )
Et encore un truc ligne 3: tu appelle ta variable _nom alors que je pense que c'est simplement nom ($nom)

regarde déjà ça!!
@+

Vincent27 Il y a 2 ans Répondre

Bonjour,

petit problème :

Mon code d'erreur : Parse error: syntax error, unexpected T_IF in /home/data/users/j/japoncity/cible.php on line 3

mon code html : <html>
<head></head>
<body>
<form method="post" action="cible.php">
Nom :<input type="text" name="nom" /><br />
Email :<input type="texte name="email" /><br />
Message :<textarea name="message" cols="30" rowa="15"></textarea>
<input type="submit" value="Envoyer" />
</form>
</body>
</html>

Mon code php (cible.php) :

<?php>

if(isset(§_POST && isset(§_POST['nom]) && isset (§_POST['email']) && isset(§_POST['message'])){
extract(§_POST);
if(§empty(§_nom) && !empty(§email) && !empty(§message)){
§destinataire="contactsite@redby.fr";
§sujet="Formulaire de contact";
§msg="un nouveau formulaire de recrutement est arrivé \n
Nom : §nom \n
Email : §email \
Message : §message";
§entete="From: §nom \n Reply-To: §email";
mail(§destinataire,§sujet,§msg,§entete);
echo"Le mail à été envoyé, reste plus qu'à patienter !";
}
else(
echo "vous n'avez pas rempli tous les champs";
}
}
?>


C'est les même code employer dans le tuto ...
mais comme ont voit mal les () et {} sa pourrais peut être venir de sa ...

pouvez-vous m'aidez svp ?

Vypuc Il y a 2 ans Répondre

Que veux tu faire avec ta 2e ligne ? $_POST ['nom']
Ta ligne ne semble servir à rien.
Mais surtout, il manque un point virgule en fin de ligne !

guitarwebo Il y a 2 ans Répondre

Salut, voilà je suis en train de suivre le tuto (avec quelques petites base en php (j'ai bien dis petites ;-))) et j'ai un problème pratiquement au début. J'ai créer ma page html (là pas de problème) mais quand je code mon php avec ce code :
<?php
$_POST ['nom']
if(isset($_post)&&isset($_post['nom'])&&isset($_post['email'])&&isset($_post['message']))
{
extract ($_POST);
if(!empty($_nom) && !empty($_email) && !empty($_message)){
echo $message;
}
}
?>

il me dit : "Parse error: parse error in C:\wamp\www\tests\contact.php on line 3"
j'ai donc bien regarder le code (plusieurs fois) mais pas moyen de voir ce qui cloche ...

Merci d'avance pour votre réponse @+
Robin

cameroondream Il y a 2 ans Répondre

oupssss j'ai oublié la methode ="post";

cameroondream Il y a 2 ans Répondre

oupssss j'ai oublié la methode ="post";

cameroondream Il y a 2 ans Répondre

bonjour à tous !!
tout abord merci Grafikart pour ce tuto

j'ai lu un peu les messages d'erreurs de chacun; mais je constate que mon problème est unique !!
En effet, j'ai réalise le formulaire, sur deux pages comme sur la vidéo;
lorsque j'envoie le formulaire, aucun message ne s'affiche .
voici mon code --> contact.html

<form action="controle.php"> <!-- ici mettre le script pour recuperer les données -->
<p>
<label for="f-nom">Nom</label>
<span>
<input type="text" class="text" name="nom" id="f-nom" />
</span>
</p>
<p>
<label for="f-email">E-mail</label>
<span>
<input type="text" class="text" name ="email" id="f-email" />
</span>
</p>
<p>
<label for="f-sujet">Sujet</label>
<span>
<select name="sujet" id="f-sujet">
<option value="projet" selected="selected">Projet</option>
<option>Proposition</option>
<option>Autre</option>
</select>
</span>
</p>
<p>
<label for="f-message">Message</label>
<span>
<textarea name="message" id="f-message" rows="8"> vos messages ICI !!! </textarea>
</span>
</p>
<p>

<span>
<input type="submit" value="Envoyer le message" />
</span>
</p>

</form>

et le code de controle

<?php
if(isset($_post) && isset($_post['nom']) && isset($_post['email']) && isset($_post['sujet']) && isset($_post['message']))
{
extract($_POST);
if(!empty($nom) && !empty($mail) && !empty($sujet) && !empty($message))
{
$message=str_replace("\'"," ' ",$message);
$sujet=" formulaire de contact";
$message="une propostion est arrivée\n
nom:$nom \n
Email:$email \n
message: $mesage";
$entete="From $nom \n Reply-To: $email";

echo $nom;

mail("simni@gmail.com",$sujet,$message,$entete);

echo" le mail a bien été envoyer";

}
else {

echo" merci de remplir tous les champs; afin que votre demande soit traité";



}

}

?>


je ne vois pas vraiment d'ou est le problème, j'ai essayé de mettre des echo un peu partout , pour vois si je renvoi le post mais rien ,

jai envoyé les deux fichiers sur mon site web avec un serveur apache quand je clique sur envoyé une passage blanche !!

Merci d'avance !!

PokeR Il y a 2 ans Répondre

Je me suis trompé de tuto ^^

PokeR Il y a 2 ans Répondre

Salut Grafikart. Déjà merci pour ce super tutorial ! Mais j'aurai voulu savoir comment séparer la news en 2 partie. Une partie pour une intro avec un bouton read more et une autre partie qui quand on appuie sur le bouton read more affiche l'intro et la 2eme partie soit le contenu.

terminator34 Il y a 2 ans Répondre

salut et merci pour ton tuto
j'ai un soucis, j'ai créé le formulaire de contact sur le site http://emf34.free.fr/ , je rempli les champs, et quand je valide, sa me met la page php blanche, idem quand je ne rempli pas un champ...
pouvez vous m'aider^^
merciiii

cacou Il y a 2 ans Répondre

Bonjour,

J'ai essayé de faire la meme chose, malgré le tuto, rien ne fonctionne, et j'ai téléchargé Wamp. Je n'ai pas les memes résultats, impossible d'envoyer mon formulaire ?

Merci de vos réponses.

pobourger Il y a 2 ans - Répondre

Bonjour Cacou,
Je pense que tu ne peut pas envoyé ton formulaire car wamp ne possède pas une base SMTP donc il est dans impossibilité d'envoyer ton formulaire..
Donc je te conseil de uploader ton formulaire sur un hébergeur comme free ou autre...
Bon courage.

JiiB Il y a 2 ans Répondre

Bonjour,

tout d'abord merci pour ce tuto, vraiment très pratique et très bien expliqué, mais j'ai un petit souci car il me dit que j'ai une erreur!! mais je n'arrive pas a la trouver!!!
voila ce qu'il me met quand je publie ma page:


Parse error: syntax error, unexpected $end in /home/darmandesign/www/pages/PageContact.php on line 105

Tolrac Il y a 2 ans Répondre

Salut,

Merci pour ce super tuto...
Ma question est la suivante : comment récupérer le saut à la ligne du textarea dans la partie AJAX afin que le commentaire s'affiche tel qu'onj l'a tapé dans le textarea ?

Merci d'avance.

Grafikart Il y a 2 ans - Répondre

au niveau php il y a une fonction qui remplace les sauts de ligne par un <br/>, utilise la fonction nl2br(LE_CONTENU_DU_TEXTAREA)

KaKuZa` Il y a 2 ans Répondre

Pour enleve les anti-slash y'a pas besoin de str_replace(); mais tu peux simplement te servir de stripslashes(); comme ce ceci $message = stripslashes($message);

Enfin sinon bravo pour ton site ^^

ZiOu Il y a 2 ans Répondre

Bonjour, quelqu'un pour m'aider S.V.P !
Je suis sous serveur FREE et j'ai tourné mille et une fois mais j'ai pas trouvé d'erreur dans mon script. Voilà quand je reçois le message dans ma boite mail, je n'arrive pas à faire afficher le nom et l'adresse E-mail de l'expéditaire dans le contenu de mon message. De plus quand je reçois l'e-mail dans la colonne "De:" j'ai l'adresse de mon compte FREE plus celle de l'expéditaire...

Nouipoz Il y a 2 ans Répondre

Salut, le zip marche plus pour les premieum regarde http://grafikart.fr/downloads/tutoriel/source/21

merci

Karita Il y a 2 ans Répondre

Bonjour,

Merci pour ce tutoriel très explicatif, ça m'a beaucoup aidé ! Je vais jeter un coup d'œil aux autres tutoriels, votre blog est vraiment utile !
Merci !

caillou444 Il y a 2 ans Répondre

Bonjour, et encore brovo pour tout vos tuto.

J'ai un petit souci sur ce tuto au niveau de la ligne 15.
Il me met ça quand je clique sur envoyé : Parse error: syntax error, unexpected '}' in /homepages/39/d299674154/htdocs/contact.php on line 48.

Voilà j'espère que vous aller pouvoir touver mon petit problème, c'est au niveau de la"}" qu'il a un problème.
Merci d'avance.

Harry Il y a 2 ans Répondre

Cherche un peu tout seul, l'erreur dit tout d'elle même ! Tu as oublié un } ...

Loulou Il y a 2 ans Répondre

<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['URL']) && isset($_POST['fonction'])&& isset($_POST['sexe']) && isset($_POST['fonction2']) && isset($_POST['IP']) && isset($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($email) && !empty($URL) && !empty($fonction) && !empty($sexe) && !empty($fonction2) && !empty($IP) && !empty($message)){
$message=str_replace("\'","'",$message);
$destinataire="louis2sm@hotmail.fr";
$subjet="Un nouveau message de contacts est arrivé";
$mag="Un nouveau message de contacts est arrivé \n
Nom : $nom \n
Email : $email \n
Url : $URL \n
Fonction : $fonction \n
Son sexe : $sexe \n
Sa note : $fonction2 \n
Son adresse IP : $IP \n
Son messages : $message";
$entete="From: $nom \n Reply-To:: $eamil";
mail($destinataire, $subject, $msg, $entete);
echo "Le messages a bien été envoyé cliquez-ici pour revenir sur la page d'accueil"
}
else(
echo "Vous n'avez pas rempli tous les champs";
}
}
?>

Parse error: syntax error, unexpected '}', expecting ',' or ';' in /homez.170/specialp/www/contact-script.php on line 20

Voila mon erreur

Rwann Il y a 2 ans Répondre

Bonjour,
j'ai repris le code de HotSkill (puisque je ne trouve pas comment récupérer le code du tuto) en changeant uniquement le mail de destination mais ça ne marche qu'à moitié! la validation du formulaire se fait avec succès mais je ne reçois pas le mail

lilou Il y a 2 ans Répondre

Bonjour,

J'ai un soucis dans mon formulaire de contact je n'arrive pas a récupérer tous mes chanps quelqun pourrait il m'aider svp?
?>
<?php
$destinataire = "????@hotmail.com"; //Placez ici votre adresse où envoyer le message
//La fonction mail :adresse, objet, message
//si on remplace mail par @mail on désactive les messages en cas d'erreur
if (isset($_POST['Mail']) && $_POST['Mail'] != "")
{
if (@mail($destinataire, "Vous avez du courrier!",$_POST['Mail'],$_POST['message'],$_POST['tel'])) {
echo "<p>Merci pour votre message !</p>";
} else {
echo "<p>Désolé une erreur est arrivé !</p>";
}
}
?>


Le champ "tel " et d' autres champs ne me revienne pas...:(
Si quelqun pourrait m"aider je galère trop.

Merci
Lilou

vince Il y a 2 ans Répondre

salut quand je vais sur la page .html et que je remplie les champ et que j'envoie sa
m'envoie vers la page .php mais sa ne m'affiche rien ( que les champ soit afficher ou pas ) help me
merci d'avance =)

modifoto Il y a 2 ans Répondre

bonjour super tuto !!
Mais peut on aussi envoyer des pieces jointes par ce proceder?? Si oui Comment?? Merci beaucoup encore pour ton tuto

Baptiste Il y a 2 ans Répondre

salut!
j'ai mit en ligne les deux fichiers, mais au moment d'envoyer, le fichier php me dit: éParse error: syntax error, unexpected T_VARIABLE in /homepages/19/d242516353/htdocs/contact.php on line 6"
ma ligne 6 c'est:
$destinataire="bapt-39@hotmail.fr";

qu'est ce qui va pas??!

merci!
@+

ALEKS Il y a 3 ans Répondre

Un grand merci ! Votre travail est superbe, vos tutos aussi ! Mon top five en site web et blog ! Bonne continuation et encore merci !

Fugazy Il y a 3 ans Répondre

Bonjour et merci infiniment pour ce tuto on ne peut plus explicite. Je peux enfin envoyer un formulaire de contact sant passer par la messagerie. Ouf...
Cependant, existe-t-il une solution, un bout de code, à intégrer à celui-ci pour pour faire un retour automatique à la page de contact, ou autre, après l'envoi et le message de confirmation ?
Merci encore et bravo pour le site
+1

suml Il y a 3 ans Répondre

Hello,

@grafikart: très bon tuto. Je suis débutant en php. J'ai suivi à la lettre ce tuto mais soucis, c'est que lorsque je rempli les champs et que je teste sur mon serveur local, rien ne s'affiche !

J'ai installé MAMP pour lire php.

J'ai vérifié minutieusement les ponctuations, guillemets etc...je ne sais pas où se situe le problème... help...

Basketteur-33 Il y a 3 ans Répondre

Très bon tuto, mais j'ai un erreur unefoit en ligne sûr free quand j'envoie le mail j'ai une erreur ligne 8(c celle ou ta $msg=un message a était ...

miklfe Il y a 3 ans Répondre

houaa! SUPER pédagogue: t'es prof au moin.
Ca c'est un vrai tuto! Pourtant d'habitude, je suis pas fan des tuto vidéo (souvent trop rapide et peu précis), mais quand c'est fait comme ça c'est un régal.
Bravo.

Neiluj Il y a 3 ans Répondre

Note pour ce qui ont des pages perso orange ça ne marche pas !!!

pample Il y a 3 ans Répondre

ok, ai trouvé l'erreur.

comment on fait pour rediriger vers une page spécifique après le "submit", et comment faire apparaitre le message "vous n'avez pas rempli tous les champs" dans un popup plutôt qu'il ne remplace le formulaire..

merci bien.

pample Il y a 3 ans Répondre

Bonjour, j'ai essayé ça sur 3 serveurs différents, France et USA aucun ne fonctionne..

rq.html :


<form method="post" action="rq.php">
Nom :<input type="text" name="name" /><br>
Email :<input type="text" name="email" /><br>
Message :<textarea name="message" cols="30" rows="15"></textarea>
<input type="submit" value="send">
</form>

...........

rq.php :


<?php

if(isset($_POST && isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message'])){
extract($_POST);
if(!empty($name) && !empty($email) && !empty($message)){
$destinataire="myemail@mydomain.com";
$sujet="Stipend Chart request";
$msg="I want your Stipend Chart \n
Name : $name \n
Email : $email \n
Message : $message" \n
$entete="From: $name \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete);
}
else{
echo "Please fill all requested fields";
}
}
?>

SniperZeElite Il y a 3 ans Répondre

Merci , ton tutoriel est vraiment super !
Merci beaucoup , moi qui débute dans le domaine du PHP maitrisant la base du HTML et du CSS , ton tutoriel est niquel !

Encore merci ! Bonne continuation !

juju Il y a 3 ans Répondre

Merci pour ton aide, j'ai suivi tes conseils mais rien n'y fait. Je vais bien finir par trouver.

Merci encore

JUJU

Grafikart Il y a 3 ans Répondre

@Juju : Dernier aide-> pas d'accent ni de majuscule dans les name et les variable pour éviter les problèmes.

Ensuite dans ton code html tu ferme une bonne dizaine de fois </form> O_o
Faut le fermer qu'à la fin...

Grafikart Il y a 3 ans Répondre

@juju montre moi le formulaire aussi sinon je ne pourrais pas t'aider (le code source).

juju Il y a 3 ans Répondre

J'ai fais ça justement

<?php

extract($_POST);
$to = "contact@monsite.com";
$subject = "Nouvelle demande";
$message = "Une nouvelle demande est arrivee \n
Societe: $societe \n
Email: $email \n
Nom: $nom \n
Prenom: $prénom \n
Service: $service \n
Budget: $Budget \n
Nombre de participants: $Participants \n
Arrivee: $Arrivée \n
Depart: $départ \n
Information: $Information \n";
$entete= "Form: $nom \n Reply-to: $email";
mail($to, $subject, $message, $headers);
echo "Votre demande a bien été envoyée."
?>

Grafikart Il y a 3 ans Répondre

@juju: il faut que tu code directement en mode source sur dreamweaver, chaque input a un name qui est le nom de la variable en php
name="blabla" donnera une variable $blabla

juju Il y a 3 ans Répondre

@grafikart: OUI C'est vrai!! Je suis tout simplement completement novice et il est vrai que je dois passé pour un debile. J'ai regardé plusieurs fois le tuto et j'essaye de faire la même chose pour mon formulaire sur dreamweaver cs3, n'étant pas de la partie du tout je me debrouille comme je peux et j'avance doucement. Je ne demande pas que quelqu'un face les choses pour moi mais juste qu'on me montre mes erreures. Si tu peux m'aiguiller juste un peu... une fois encore je veux faire les choses par moi même mais sans les connaissances de bases c'est parfois dure de se corriger seule.

Merci quand meme pour tes réponses et ton aide.

JUJU

Grafikart Il y a 3 ans Répondre

@Juju: Je crois que tu n'a pas du tout comment fonctionner le PHP et le formulaire de contact. Je suis désolé mais c'est un tutoriel, pas une ressource, donc je ne t'aiderais pas plus à adapter à ton formulaire. Normalement en comprenant le tutoriel tu devrait arriver à ce que tu veux.

juju Il y a 3 ans Répondre

J'ai enlevé les accents mais je ne récupère toujours pas mes champs dans le mail, tu as une idée?

<?php

extract($_POST);
$to = "contact@monsite.com";
$subject = "Nouvelle demande";
$message = "Une nouvelle demande est arrivee \n
Societe: $societe \n
Email: $email \n
Nom: $nom \n
Prenom: $prenom \n
Service: $service \n
Budget: $Budget \n
Nombre de participants: $Participants \n
Arrivee: $Arrivee \n
Depart: $depart \n
Information: $Information \n";
$entete= "Form: $nom \n Reply-to: $email";
mail($to, $subject, $message, $headers);
echo "Votre demande a bien été envoyée."
?>

Merci

juju

juju Il y a 3 ans Répondre

Bonjour à tous,

Ce tuto est super mais je voudrais savoir comment on peut faire la même chose sur Dreamweaver. J'ai créer mon formulaire je bute avec le php. Je voudrais créer ma page php directement sur dreamweaver. Si un tuto video est dispo merci de me faire passer le lien.

Juju

flocav Il y a 3 ans Répondre

bonjour et merci pour cet excellent tuto ( un de plus!)
J'ai un souci dès le début de la création du contact.php
Quand on vérifie (avec echo $message) si le script fonctionne bien, le mien plante, ou plutôt, n'affiche rien! Pourtant j'ai bien re-re-revérifié mon code.
J'utilise XAMPPlite comme serveur local. Le problème peut-il venir de là?

fdadj Il y a 3 ans Répondre

Merci,
Je vais regarder le tutorial complémentaire et te tiens informé.
Bonne soirée

Grafikart Il y a 3 ans Répondre

@fdadj: Regarde les tutoriels consacré à l'hébergement d'un site dans la section "hébergement"

fdadj Il y a 3 ans Répondre

Merci beaucoup Grafikart,

1/ Je viens de vérifier dans les préférences de mon mail ( Version 3.3), utilisé dans une version mac OS 10.5.3. J'ai bien un serveur d'envoi SMTP activé. Celui-ci se nomme smtp.wanadoo.fr.

Quels sont, selon toi, les serveurs intéressants à utiliser autres que wanadoo, s'il t'est possible de répondre ?

2/ Etant grand débutant en PHP et donc peu de connaissances en la matière, il semblerait tout de même que le souci vienne bien du local. Sinon, existe t-il un tutorial , qui me faciliterait grandement la tâche, expliquant comment faire pour mettre en ligne quelque chose de local utilisant du PHP et le serveur MAMP ? Je vais faire des recherches, en parallèle, pour essayer de trouver une solution à mon problème.

Merci beaucoup

fdadj

Grafikart Il y a 3 ans Répondre

@fdadj: Le problème es décrit dans la vidéo : en local et sur certain serveur tu ne dispose pas de serveur SMTP et du coup la fonction mail() ne peut pas fonctionner...

fdadj Il y a 3 ans Répondre

Bonsoir,

Je viens de finir l'exercice qui encore une fois est très bien expliqué, ce qui est très bien pour quelqu'un comme moi qui débute en PHP. Néanmoins j'ai un souci. Le formulaire, une fois validé, ne parvient pas à mon mail.

En effet, lorsque je valide mon formulaire, celui-ci me dit bien que mon mail est bien envoyé mais une fois que je consulte mon mail, il n'y a rien.

J'utilise un mac, encode avec Dreamweaver CS3. Quant au serveur, j'utilise MAMP, fraîchement téléchargé. Mon mail est sur wanadoo.

Comment puis-je faire pour faire fonctionner le fichier contact.html et contact.php correctement ?

alamedagraphik Il y a 3 ans Répondre

Bravo pour le tuto, c'est clair et bien expliqué.

floflodu59 Il y a 3 ans Répondre

salut,
comment on fait pour pourvoir recevoir les information que qu'elle qu'un rentre dans mon formulaire sur mon adresse mail ?
merci d'avance

AYMAN Il y a 3 ans Répondre

Bonjour, un grand merci pour votre tuto je suis débutant en plus il tombe à pic car je suis en train de faire une site et j'ai besoin de faire un formulaire d'inscription.

Thib-17 Il y a 3 ans Répondre

c'est bon sa marche enfaite c'est mon hébergeur, idoo.com, qui ne prend pas en compte mail().

Grafikart Il y a 3 ans Répondre

@Thib-17 : Tu es sur quel hébergeur ? Essaie de donner plus de détail en cas de problème.

Thib-17 Il y a 3 ans Répondre

je ne comprend pas, même en téléchargeant le script sa ne marche pas, j'ai essayer sur mon e-mail orange, gmail mais rien à faire

kishi Il y a 3 ans Répondre

c t un bon video merci et bravoooooooooooooooooooo

Silo Il y a 3 ans Répondre

Fred, par contre je vois bien l avenir des hebergements avec des minis ordinateur de la taille d un telephone portable assez puissant et silencieux, qu on pourrait faire tourner 24h sur 24 avec seulement mysql, comme ca les hebergeurs page web chip gratuit on en parle plus. :-)) il va falloir attendre 5-6 ans pour linker ca ?

Silo Il y a 3 ans Répondre

Fred, les hebergeurs gratuit je n y vais plus pour la simple est bonne raison que quand je les utilisais j ai changé 7 fois en 3 ans, car soit il etaient plus accessible soit il changaient la mise en page de leur pub et deformaient mes pages web, soit j avais depassé le cota de bande passante etc... mon probleme c est pas l hebergeur de pages, mon prob c est la securité.

Fred Il y a 3 ans Répondre

@Silo : Question hébergeur gratuit, va chez Free si tu est Français, là c'est 10 GO et aucune publicitée => http://www.free.fr/adsl/internet.html

Moi perso, je l'aurrais déjà fais depuis bien longtemps, mais pas de chance je suis Belge et l'inscription n'accepte que les Francais lol donc voilà (p'etre plus de chance)!

Hmmm 1 conseil, j'ai géré 1 site web pendant 7 ans et je gagnais ma vie avec (adsence), sérieusement prend déjà quelques heures pour bien comprendre le css avant de sauté sur le php car si tu saute sur le php et que tu zape le css c'est 1 peux bête car mtn que j'utilise le css c'est vrai que c'est une choutete façon de faire mais auquel je débute aussi (+/- 3 mois).

Sinon pour moi le php est basique aussi, car j'apprend aussi donc que dire appart bienvenu au club lol et bonne apprentissage , sur ce bonne soirée

@Grafikart : encore merci pour tout, tu cartonne ;-)
++
Fred

Fred Il y a 3 ans Répondre

@Grafikart : Hmmm ok je connais en javascript mais comme beaucoup de monde dit que le JvS est pas super top j'essaye de l'employé le moin possible, par contre si tu sais une fois en dire plus sur la fonction css là sa m'interesse car j'emplois le css sur mes sites depuis peux mais mtn je l'emplois depuis +/- 3 mois ...
Merci pour ton avis en tout les quà c'est cool, moi tes cours et conseils m'interesse
++ Fred

Silo Il y a 3 ans Répondre

Grafikart, oui merci pour les tips mais j ai lu qu il pouvait avoir tellement de failles, et qu il faut ajouter beaucoup de code differents pour arriver a un resultat optimal, qu il vaut mieux savoir ce qu on fait pour ne pas se faire utiliser son adresse par les spammeurs !, et envoyer des miliers de spamm avec sa propre adresse email involontairement, et ensuite risquer des ennuis avec son hebergeur et son F.A.I ! Donc la securité est obligatoire. J ai peut etre trouvé "un hebergeur form" gratuit serieux avec ptite pub qui pourrait m arranger le temps que je prenne peut etre un cours de php pour etre au clair avec la securité. Il faut aussi dire que mon site utilise pas le css ( je sais que vous allez me dire c est pas du propre) ca fait des lignes de rallonges et du poid suplementaire au pages mais c est pas un gros probleme. Le php a une fonction include qui est interessant pour repeter les tableaux, donc quand on commence a creer un site web il faudrait je pense le faire direct en php et pas en html, si c etait a refaire je ferais comme ca.

Grafikart Il y a 3 ans Répondre

@Silo : Si tu veux lutter contre le spam il faut déja que tu vérifie que les champs email et tout son valides (déja explicité dans le tuto), ça filtre les robots qui remplissent n'importe comment.

Ensuite tu met un champ qui ne doit pas être remplit et que tu cache en CSS (avec un display:none), les robots ne voient pas le CSS et remplissent tout par défaut. Après en PHP si tu vois que le champ a été remplit, tu sais que c'est un robots.

Tu peux aussi utiliser javascript pour créer le bouton d'envoi par exemple.

Enfin, tu peux utiliser un champ ou on doit mettre la réponse à une question facile (genre: sais tu lire ?)

En ce sens, ce qui est dit dans le tutoriel est suffisant pour mettre en place ses propres techniques pour lutter contre le spam. A toi de voir comment gérer ça.

Bonne chance.

Silo Il y a 3 ans Répondre

Bonjour Grafikart
J aimerai bien l utiliser effectivement, mais s entrainer a faire sans securité(c est s entrainer avec de mauvaises habitudes), et necessite de tout r apprendre par derriere. Il y a 5 ans en arriere j avais appris a le faire avec les manieres non securisee et aujourd hui je suis bloqué, malheureusement,car cette maniere precise ne me sert "a rien", je dois reprendre a presque 0. J avais finalement opté pour l solution chez devparadise qui offrait ce service sur leur serveur avec un cgi-bin .pl
qui me semblait convenable mais aujourd hui il ne propose plus ce service, et les autres sites qui le propose semble un peu louche, ressemblant a des sites fantomes avec leur lois et conditions "internationale" comme ils disent, ils n ont pas d email, pas de vrai adresse, pas de tel, et on sais pas d ou ils viennent ni si ils utilisent les informations qui transite par eux... donc je suis un peu perdu.

Grafikart Il y a 3 ans Répondre

@Silo : Ce code n'a pas pour vocation d'être utilisé tel quel. C'est un tutoriel, il sert à apprendre. Si tu veux l'utiliser rien ne t'empêche d'utiliser Google pour trouver différentes techniques pour le contrer...

Silo Il y a 3 ans Répondre

Sans protection contre le spam, ce code est il me semble quasi innutilisable, a part pour recevoir des lettres qui nous sont pas reelement destinee...

Grafikart Il y a 3 ans Répondre

@Fred : Je n'aime pas du tout les captcha et il y a d'autres moyens de lutter contre le spam. Un champ caché en CSS, des champs qui s'ajoute en javascript... Je détaillerais peut être ça dans un futur tutoriel

Fred Il y a 3 ans Répondre

Muchalucha il le dit dans la vidéo : ligne 3 et ligne 5 : tu retire simplement la variable si il y en a une pour la quel tu veux pas qu'il te le signal que tel ou tel champs n'est pas remplis...

Relativement simple, çà j'en ais déjà fais quelque s'un lol mais je m'attendais a voir le script et a (j'esperais) comprendre le fameux système de captcha mais pas de chance pour moi y n'y est pas moinnn lol !

Néanmoin très bon tuto comme d'hab, tu devrais en faire plus car tu est 1 très bon prof par l'intermediaire de tes p'tites vidéo lol çà cartonne ;-)

Merci quand même beau boulot

muchalucha Il y a 3 ans Répondre

Hello,
Je suis vraiment mauvais en code (mais je fais ce que peut!). Comment fait-on pour rendre un champ texte non obligatoire, merci.

muchalucha Il y a 3 ans Répondre

Re-H!
J'ai trouvé une solution pour le message "Le mail a bien été envoyé".
Est-il possible que ce message s'ouvre sur une nouvelle page?

muchalucha Il y a 3 ans Répondre

H!
Une fois que j'envoie mon message, j'ai ce message :
Le mail a bien été envoyé . Je suis sur mac Os 10.

Petrus Il y a 3 ans Répondre

salut,
merci bcp pour la video. je suis débutant et avoir des explications orales pdt l'avancée du tuto c'est vraiment super !
j'ai l'impression qu'il y a une petite erreur dans le code, je voulais donc en faire profiter tout le monde.
je crois qu'il faut un point virgule à la fin de cette ligne --> echo "Le message a bien été envoyé."
en tout cas dans mon code, si je ne le mets pas ça ne fonctionne pas.

lyes Il y a 3 ans Répondre

merci beaucoup monsieur raton laveur ! je vais voir le tuto !

Grafikart Il y a 3 ans Répondre

@Lyes : Evidemment qu'on peut
Tu peux t'inspirer du tutoriel sur le livre d'or pour la marche à suivre.

lyes Il y a 3 ans Répondre

oups !
excusez d'voir mi un double post, c'est pour une question...
Au lieu de m'enoyer le message par email, pourrait-on l'enregistrer dans la base de donnée ou dans un fichier texte.....

merci beaucoup d'avance!

(oui, je sais...ce n'est pas un forum...ici)

lyes Il y a 3 ans Répondre

Ah d'accord, excusez-moi de ne pas l'avoir écouté dans le tuto

y'aurait-il une solution pour wamp ?

merci d'avoir répondu monsieur raton laveur ! :P

Grafikart Il y a 3 ans Répondre

@lyes : L'explication est donnée dans le tutoriel. Wamp n'a pas de serveur SMTP et ne peux donc envoyer aucun mail...

noob4ever Il y a 2 ans

salut, wamp envoi des mails, mais il faut quand même un connexion internet...logique.
Heeeuu sinon se serait possible un bon vieux tuto carrément génial en reprenant le formulaire avancé et d'en faire un très avancé avec liste déroulante, checkbox et options ? =D perso j'ai beau chercher j'ai rien trouvé d'aussi clair que tes codes et du coup il va falloir que je m'achète un livre exprès pour ça...je pense que ça intéresserai beaucoup de personne qui galère avec ça.

Ly3s Il y a 2 ans

un an plus tard le site a bien évolué à ce que je vois !
j'ai moi même mon propre site que je vous invite à visiter http://www.geeknoise.com

PS: merci à l'admin pour ce joli travail que tu offre à tes visiteurs ^_^

noob4ever Il y a 2 ans

le probleme des cms c'est qu'ils se ressemblent tous...Perso je prefere tout coder moi meme c'est plus fun =D (pas de site à montrer pour le moment puisque des qu'ils sont finis je les jetes xD)

Ly3s Il y a 2 ans - Répondre

c'est vrai que c'est plus fun ;-) mais faire un thème wordpress aussi, c'est fun ! ;-)

lyes Il y a 3 ans Répondre

bonjour, wamp m'affiche cette erreur :
Warning: mail() [function.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\contact\contact.php on line 14

c'est du a quoi ?

merci beacoup !

dayski Il y a 3 ans Répondre

t'est le méilleur comme formateur,plus de tuto slp, aussi sur la securité d'administrateur.
mérci

Grafikart Il y a 3 ans Répondre

@muchalucha : Il faut utiliser un serveur apache pour héberger et faire fonctionner du PHP. Si tu veux faire des test en local je t'invite à regarder le tutoriel concernant l'installation de Wamp dans la section PHP.

muchalucha Il y a 3 ans Répondre

Bonjour, j'ai testé en ligne et quand j'envoie le navigateur m'ouvre une fenêtre avec ce message : "Ouvertue de contact.php - Que doit faire firefox avec ce fichier?". Pouvez-vous m'aider, merci.

Grafikart Il y a 3 ans Répondre

@Celsus : Désolé, pour faire évoluer le code il faut essayer de se débrouiller tout seul avec les bases données dans ce tutoriels...
C'est en forgeant...

celsus Il y a 3 ans Répondre

Salut jojo et bravo pour ton site.
J'ai repris ton code pour un site que je fais en ce moment et ça march comme sur des roulettes mais, étant une cave en php je ne sais pas comment faire pour ajouter des champs (qui correspondent avec le code php) mais surtout pour améliorer la page "votre message a bien été envoyé"

Merci d'avance

Al0011 Il y a 3 ans Répondre

Voila je viens de découvrir ton site par webdesign-tutoriaux et tes tutos sont vraiment bien fait et expliqués c'est pourquoi je te dis un grand merci.

birout42 Il y a 3 ans Répondre

énorme un grand merci a toi, exactement ce dont j'avais besoin. =)

isodelta Il y a 3 ans Répondre

Bonjour Grafikart.
Merci pour vos tutoriels. Je n'ai pas compris le principe de la précaution contre les attaques d'injection de code dans les formulaires. Vous en parlez entre la minute 20 et 21 de la vidéo. Pouvez-vous m'éclarcir à ce sujet ? merci.

Ghost Il y a 3 ans Répondre

(isset ($_POST)) sert à rien si tu vérifie les autres

HotSkill Il y a 3 ans Répondre

Moi j'aurais plus faite un code de ce style là à, il est seulement en une page qu'on peut appeler contact.php et avec quelque modification qui le rend plus agréable

<!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 ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ton titre ici</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">

</style>
</head>

<body>





<?php

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
$nom = htmlspecialchars($_POST['nom']);
$message = htmlspecialchars(trim($_POST['message']));
$email = htmlspecialchars($_POST['email']);
#Verification de la validité de l'email#
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) //si l'email est valide
{



if(!empty($nom) && !empty($email) && !empty($message)){
$message=str_replace("\'","'",$message);
$destinataire="adresse@extantion.com";
$sujet="Formulaire de contact";
$message="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message: $message";
$entete="From: $nom \n Reply-To: $email";
mail(utf8_decode($destinataire),utf8_decode($sujet),utf8_decode($message),utf8_decode($entete));
$a= "<p>Le mail a bien été envoyé.</p>";
}
else{
$erreur .= "<p>Veuillez remplir tous les champs.</p>";
}

}
else{
$erreur .= "<p>Votre adresse email est invalide.</p>";
}

}
if(isset($a))

{

echo "<font color='green'>$a</font>";

}
if(isset($erreur))

{

echo "<font color='red'>$erreur</font>";

}
?>

<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<label for="nom">Nom:</label><input type="text" name="nom" id="nom"/><br />
<label for="email">Email:</label><input type="text" name="email" id="email" /><br />
<label for="message">Message :</label><textarea name="message" cols="30" rows="15" id="message" ></textarea><br/>
<input type="submit" value="Envoyer" />
</form>






</body>
</html>


mais sa reste quand même un bon tuto je me suis inspiré de ton tuto pour créer ce code source donc je te dit merci pour toute tes tutos ils sont génial :-)

Max13 Il y a 3 ans Répondre

Merci beaucoup pour ce tutorial très bien expliqué. Cependant tout fonctionne très bien (le mail est envoyé vers une adresse gmail) mais il n'arrive pas à destination. Je possède un hébergement 60GP chez OVH. Je cherche des solutions mais je ne trouve pas.
Pourriez vous m'aider?
Merci d'avance

fafa33 Il y a 3 ans Répondre

Super tuto, je débute en php et j'ai une petite question pour savoir comment faire, quand on valide le formulaire (ou s'il n'est pas bien rempli), pour afficher le message d'erreur sur la même page ou un popup et non sur une page blanche... par avance merci

Babou Il y a 3 ans Répondre

Salut

Ca marche super bien, mais par contre j'aimerai savoir si tu connais un code, qui permet de vérifier l'adresse donc par exemple :
Message d'erreur : Votre adresse email n'est pas correcte, en gros y faut que le "@" apparaisse tu vois ce que je veux dire ? Y me faudrait quelque chose comme sa si tu as
Merci :D

Ah aussi sur le contact.php on peux rajouter une redirection automatique, si cela intérresse quelqu'un le voici :
A placer dans les balises "<head></head>"
<meta HTTP-EQUIV="REFRESH" CONTENT="4; URL=http://guillaume.bonhoure.free.fr/contact/contact.html ">

sanazaka Il y a 3 ans Répondre

merci
je vais tester

Harry Il y a 3 ans Répondre

Ta fonction mail() n'est pas activé.

louijes Il y a 3 ans Répondre

Salut j'ai observé avec un grand intérêt ce tuto.
Cependant sur mon serveur local qui est easyphp 1.8 il y a le message suivant qui s'affiche. (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:\program files\easyphp1.8\www\formulaire1\contact.php on line 16
Le mail a bien été envoyé.)
Comment corrigé cette erreur?

chris Il y a 3 ans Répondre

bonjour, il est vraiment super ton tuto.

Pourrais tu me dire, comment je pourrais faire avec une liste déroulante qui reprend 2 adresses email pour que le script php puisse en tenir compte. Car j'ai aussi une autre liste déroulante pour les sujets où il y en a 3 différents.
Merci d'avance pour ton aide

Grafikart Il y a 3 ans Répondre

L'ajout de commentaire nécessite la création de base de donnée et ce n'est pas évident. Donc je ne pense pas que tu trouve des codes tout fait. Je te conseille de te documenter sur MySql et PHP

bob Il y a 3 ans Répondre

bonjour
j'aimerais savoir comment réaliser un formulaire, nonplus pour l'envoi d'info par mail mais comme celui-ci ou ma question s'affiche .....
Raton tu peux me donner des indications pour les codes .... Ou bien des codes tout fait où est ce que je peux trouver ça ?
Merci

Babou Il y a 3 ans Répondre

Merci Raton Laveur :D Ca marche parfaitement

Grafikart Il y a 3 ans Répondre

<textarea name="message" cols="35" row="15">

c'est row pas rel

Babou Il y a 3 ans Répondre

Salut,

Je ne peux pas modifié la hauteur du cadre blanc pour le message, voici mon code : Message :</b><textarea name="message" cols="35" rev="15"></textarea><br/>

ST.PhotoGraphiste Il y a 3 ans Répondre

Trop génial !!!!
j'ai réussi grâce à mr raton laveur ( et moi qui aimer pas ses bestioles ;-) ) seul les idiots ne change pas d'avis
UN GRAND MERCI (VRAIMENT):-)
j'ai réalisé un test est ça fonctionne ( je dois avoir, finalement un peu de feeling ;-)
j'ai cherché toute la journée ( ne pas se moquer svp ;-)
mais j'ai trouvé se foutu (oups )se vilain "bug" que j'ai pulvérisé :-)
je suis ravie d'avoir découvert ton site, blog ... enfin ton adresse
merci merci merci merci

bob Il y a 3 ans Répondre

J'ai un nouveau problème. Je ne reçois pas le formulaire sur aol ni sur live.fr. comment on peut faire pour que le formulaire envoyé arrive bien sans être stoppé. Même Msn me met un message d'alerte : pas de Sender ID.
Que faire ?

Grafikart Il y a 3 ans Répondre

L'astuce quand on a un problème en PHP c'est d'afficher les variable pour voir si elles sont bien définit et pour voir si tout se passe bien. Après c'est une question de feeling mais l'idée c'est de trouver le truc qui fait planter pour ensuite trouver le "bug" et sa solution

ST.PhotoGraphiste Il y a 3 ans Répondre

Merci pour la réponse aussi rapide,
désolé pour la mauvaise compréhension :-( je débute avec le php
mais grâce à mr raton laveur j'avance plus vite ;-)
je crois que tu viens de m'offrir la solution $_POST['test'],
je vais faire des tests...
UN GRAND MERCI !!!!!!!

bob Il y a 3 ans Répondre

je viens de trouver ....l'erreur de ma vie a été de prendre pour opérateur et messagerie AOL . Mille excuse pour le dérangement.
Et dire que ça faisait 2 semaines que je testais la réalisation de divers formulaire .
Sur les autres adresses styles hotmail .... CA MARCHE .
MERCI

bob Il y a 3 ans Répondre

j'ai telechargé ton code maintenant ça marche ....mis à part que je ne recois pas de mail lorsque je teste sur le serveur en ligne ....

Grafikart Il y a 3 ans Répondre

@st.photographiste : Pas trop compris ta question
Si c'est pour la récupération de l'option sélectionné dans la liste déroulante il faut donner un nom au select genre :
<select name="test">

et à chaque option de la liste attribué une valeur :
<option value="1">element 1</option>

Puis dans le script PHP tu récup^ère grace à : $_POST['test']

st.photographiste Il y a 3 ans Répondre

Un grand merçi pour l'aide que tu apportes grâce à tes tutos et spécialement celui-ci.
Tellement excellent que j'aimerai rajouté une liste déroulante , je connais le code html et j'ai un script php MAIS, il y a toujours un "mais" , (pauvre de moi), je n'arrive pas a faire coïncidé ton script php avec le mien, crois tu pouvoir faire quelque chose ?

en espérant une réponse
un grand bravo

Joomweb Il y a 3 ans Répondre

Comme d'habitude! tres bon tuto! Vivement les tuto flash!

Gym Il y a 3 ans Répondre

merçi pour ce video!

nitro007 Il y a 3 ans Répondre

Merci cela ma aidé a faire, si les champs ne sont pas remplis-> message d'erreur !

JonStark Il y a 3 ans Répondre

En l'espèce... saleté de juriste

psylune Il y a 3 ans Répondre

par principe quand tu vois le truc, c'est bien fait et tout tu te dis c'est bon tu va gérer toi aussi...
en l'espece...j'ai fait le tout début et aprés j'ai abandonné :d je crois que j'ai pas le bon pc pour faire ca xd

Joomweb Il y a 3 ans Répondre

Tuto tres clair qui permet d'avoir un aperçu de l'utilité du PHP et donne vraiment envie d'apprendre se langage.
Très bon boulot!!!!
Vivement le prochain tuto PHP (ou autre ^^).

ghyuiuio Il y a 10 mois - Répondre

"""""'''"'"'"

Laisser un commentaire

Si vous avez une question il est conseillé d'utiliser le forum si vous voulez une réponse sûre.