> 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
99,99 €Ecran 24 pouces Viewsonic VA2418 (FullHD, IPS, 75 Hz) à 99,99 €
Valable jusqu'au 22 Avril

Darty fait une promotion sur l'écran 24 pouces VA2418-sh qui passe à 99,99 €. On le trouve ailleurs à partir de 120 €. Cet écran dispose d'une dalle FullHD IPS 5ms à 75 Hz, un filtre lumière bleue, de la technologie anti scintillement Flicker Free et intègre des ports VGA et HDMI.


> Voir l'offre
659,99 €PC portable Asus VivoBook (FullHD IPS, Ryzen 5, 8 Go RAM, SSD 512G0, Vega 7) + sac à dos à 659,99 €
Valable jusqu'au 22 Avril

Cdiscount fait une très belle promotion sur le PC portable Asus 14 pouces R415UA-EB035T qui passe à 659,99 € au lieu de 750 €. Cet ultra portable léger (1,6 kg) possède un écran 14 pouces FullHD (1920x1080) IPS mat aux bordures affinées, un processeur AMD Ryzen 5 5500U, 8 Go de RAM, un processeur graphique AMD Radeon RX Vega 7 et un SSD NVMe de 512 Go. Le tout tourne sous Windows 10. Webcam, WiFi, USB 3.2, USB Type C, Ethernet Gigabit et Bluetooth sont de la partie. Notez que le clavier est rétroéclairé et que le pad peut se transformer en pavé numérique. Le tout tourne sous Windows 10. Un sac à dos est également fourni. Une bonne affaire.


> Voir l'offre
19,28 €Micro clé USB 3.1 Sandisk Ultra Fit 128 Go à 19,28 €
Valable jusqu'au 21 Avril

Amazon fait une promotion sur la micro clé USB Sandisk Ultra Fit d'une capacité de 128 Go qui passe à 19,28 €. La minuscule taille de cette clé USB va vous permettre de la laisser brancher en permanence sur votre portable, votre TV ou votre autoradio sans qu'elle dépasse de manière disgracieuse. Sa compatibilité USB 3.1 lui permet d'atteindre des débits jusqu'à 130 Mo/s. 


> 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