> Tous les forums > Forum des Webmasters
 Formulaire contact PHP
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jtaillon
  Posté le 30/10/2009 @ 18:10 
Aller en bas de la page 
Petite astucienne

Bonjour,

J'aimerais créer un formulaire de contact pour mon site web et je n'y parviens pas.

Voici ce que j'ai fait:

Page: envoi.php et formulaire.php

envoi.php:

//La seconde page ex.:envoi.php

<?php

$msg = "Nom:\t$Nomr\n";
$msg .= "E-mail:\t$email\n";
$msg .= "Message:\t$message\n\n";

$recipient = "info@hotmail.com";
$subject = "Formulaire";

$mailheaders = "From: www.info.com<> \n";
$mailheaders .= "Reply-To: $CP\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";

?>

formulaire.php:

//1 fichier ex.:formulaire.php ou formulaire.html

<HTML>
<HEAD>
<TITLE>E-Mail Formulaire</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="envoi.php">
<P>Votre nom:<br>
<INPUT type="text" name="nom" size=30>
</p>
<P>Votre adresse E-Mail:<br>
<INPUT type="text" name="email" size=30>
</p>
<P>Message:<br>
<textarea name="message" cols=30 rows=5></textarea>
</p><INPUT type="submit" value="Envoyer">
</FORM>
</BODY>
</HTML>

Ma question est: comment faire pour que ça fonctionne?

Merci de bien vouloir m'aider!

Publicité
elle
 Posté le 30/10/2009 à 18:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grande Maîtresse astucienne

Dreamer
 Posté le 30/10/2009 à 18:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

elle a écrit :

Regarde ici : http://www.php-astux.info/script-formulaire-contact.php

le top du top !!

jtaillon
 Posté le 30/10/2009 à 18:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Merci mais je crois que je vais retourner aux études pour cette programmation.

Est-ce que vous connaissez des gens qui donne ce cours?

Dreamer
 Posté le 30/10/2009 à 18:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

jtaillon a écrit :

Merci mais je crois que je vais retourner aux études pour cette programmation.

Est-ce que vous connaissez des gens qui donne ce cours?

Le script est prêt à l'emploi , tu n'as qu'a l'intégrer dans ta page et mettre ton courriel !!

jtaillon
 Posté le 30/10/2009 à 21:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Dans ce cas, pourquoi que lorsqu'on fait F12 afin de le visionner sous internet explorer, on ne voit rien?

Malcolm
 Posté le 31/10/2009 à 00:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

jtaillon a écrit :

Dans ce cas, pourquoi que lorsqu'on fait F12 afin de le visionner sous internet explorer, on ne voit rien?

c'est un script PHP, il faut donc un serveur capable de lire les foichiers PHP.

internet explorer (comme tous les autres navigateurs) ne sait lire, a fortiori, que 3 langages : html, css, javascript

quand tu vois un site machin.extension/page.php, en réalité la page "page.php" n'existe pas, elle a été traduite par le serveur et c'est son résultat, sous forme de code html qui est envoyé au navigateur.

pour ton souci, il faudrait savoir exactement ce qui ne marche pas ...

as-tu essayé \r\n au lieu de \n ?

pourquoi ton From contient un ensemble de chevrons vides ? ("<>")

il faudrait une vraie adresse dedans : $mailheaders = "From: www.info.com <mon_email@info.com> \n";

jtaillon
 Posté le 31/10/2009 à 00:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Je sais, j'exécute ceci: EasyPHP.exe

Par la suite, lorsque je fait F12, il ne veut pas l'ouvrir sous internet explorer sans que je lui dire un endroit sur le web.

Je ne veux pas le placer sur le web, je veux le voir local avant de le faire.

Malcolm
 Posté le 31/10/2009 à 00:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

alors il faut le mettre dans le dossier www de easyphp, et faire http://localhost/ton_fichier.php

Publicité
jtaillon
 Posté le 31/10/2009 à 00:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Pour créer un formulaire de contact:

Votre nom:

Votre adresse courriel:

Message:

Bouton envoyé

Est-ce qu'il faut créer une base de données?

jtaillon
 Posté le 31/10/2009 à 01:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

J'ai un fournisseur qui me donne accès à une base de données MySQL

Est-ce que je dois avoir 3 fichiers? Tels que:

Contact.html (contenant le formulaire)
envoi.php (la partie dynamique).

Dans mon formulaire, j'aimerais retrouver ceci:

Votre nom:________________
Votre courriel:________________
Sujet:________________
Message:______________

Envoyer

Comment faire pour faire référence entre ces 2 pages (contact.html et envoi.php)?

Malcolm
 Posté le 31/10/2009 à 13:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

il te faut forcément 2 parties :

- l'une qui sera l'interface de saisie des données par l'utilisateur (ça s'appelle "formulaire")

- l'autre qui recueillera les données saisies et qui fera l'action.

Typiquement, la partie "saisie" sera en HTML et l'autre dans un langage serveur = tu es parti sur du PHP.

Ton exemple de formulaire du début est correct. Son actyion est "envoi.php" dnc le navigateur web, une fois que l'utilisateur aura cliqué sur le bouton "submit", contactera la page "envoi.php" avec les données du formulaire.

Dans envoi.php, l'étape que tu as oubliée est la récupération des données. Concrètement, tu mets un nom = $Nom mais nulle part tu ne dis au serveur ce qu'est $Nom.

tu dois donc faire :

<?php

if (isset($_POST['nom'])) // il y a un champ de formulaire dont le "name" vaut "nom" qui a été envoyé

$nom = trim(htmlentities($_POST['nom'])); // on met ici le nom de la personne avec un peu de sécurité.

else

$nom = 'Anonyme';

// ... pareil pour les autres : email, sujet, message

// puis tu définis tes headers

$mailheaders = 'From: '.$nom.' <'.$email.'>'."\r\n";

$mailheaders = 'Reply-To: '.$email.'."\r\n";

$destinataire = 'toi@fournisseur.tld';

// et là tu peux envoyer ton mail

if (mail($destinataire, $sujet, $message, $mailheaders))

echo 'Mail envoyé !';

else

echo 'mail non envoyé, veuillez réessayer svp.';

?>

ATTENTION : il reste là une grosse faille de sécurité. Par souci de simplicité, je n'ai pas tout mis, le temps que tu fasses des essais.

Si ça marche, signale-le et on passera à la 2è étape : la sécurisation.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
106,99 €SSD PNY XLR8 CS3030 1 To (NMVe M.2, 3500 Mo/s) à 106,99 €
Valable jusqu'au 11 Mai

Amazon fait une promotion sur le SSD PNY XLR8 CS3030 1 To (NMVe M.2) qui passe à 106,99 € alors qu'on le trouve ailleurs à partir de 150 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 3500 Mo/s en lecture séquentielle et jusqu’à 2000 Mo/s en écriture séquentielle.

Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans.


> Voir l'offre
28,10 €Clé USB 3.1 SanDisk Extreme Go 128 Go à 28,10 €
Valable jusqu'au 11 Mai

Le vendeur sérieux QUMOX sur Rakuten fait une promotion sur la clé USB 3.1 Sandisk Extreme Go 128 Go qui passe à 28,10 € livrée. On la trouve ailleurs à partir de 40 €. Cette clé USB 3.1 (compatible usb 3.0) est rapide puisqu'elle offre des débits jusqu'à 200 Mo/s en lecture et 150 Mo/s en écriture. Pratique, son connecteur rétractable vous évitera d'avoir à manipuler (et perdre ?) un bouchon. 

Notez que si vous n'avez jamais commandé sur Rakuten, cette offre de parrainage vous permettra de déduire 10 € de votre commande (à partir de 20 € d'achat). La clé USB vous reviendra ainsi à 18,10 € !


> Voir l'offre
10,90 €Adaptateur USB 3.0 Ethernet Gigabit TP-Link UE300 à 10,90 €
Valable jusqu'au 11 Mai

Amazon fait une promotion sur l'adaptateur USB 3.0 Ethernet Gigabit TP-Link UE300 qui passe à 10,90 € au lieu de 20 €. Cet adaptateur vous permettra de rajouter une prise Ethernet Gigabit à votre ordinateur portable (ou votre tablette via un adaptateu²r OTG) qui en est dépourvu.


> Voir l'offre

Sujets relatifs
formulaire contact
Insérer un formulaire dans page " Contact"
Formulaire de contact html/php
Formulaire de contact
Formulaire de Contact - Referencement
où placer le formulaire de contact dans DW 8
Formulaire de contact e-mail
Formulaire Contact PHP : E-mail vide ou presque...
champs caché destinataire formulaire contact php
Formulaire de contact
Plus de sujets relatifs à Formulaire contact PHP
 > Tous les forums > Forum Forum des Webmasters