Formulaire contact: ou mettre le mail [Résolu]

Signaler
-
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
-
Bonsoir tous

Bon premiere info: je suis niveau novice, alors pas de lynchage, merci, hein, ca serait cool.
A part ça, voila la situation, j'ai un template html avec un formulaire de contact:
<section class="ftco-section ftco-no-pt ftco-no-pb contact-section">
<div class="container">
<div class="row d-flex align-items-stretch no-gutters">
<div class="col-md-6 pt-5 px-2 pb-2 p-md-5 order-md-last">
<h2 class="h4 mb-2 mb-md-5 font-weight-bold">Contact</h2>
<form action="#">
<div class="form-group">
<input type="text" class="form-control" placeholder="Your Name/Votre Nom">
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Your Email/Votre Mail">
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Subject/Sujet">
</div>
<div class="form-group">
<textarea name="" id="" cols="30" rows="7" class="form-control" placeholder="Message"></textarea>
</div>
<div class="form-group">
<input type="submit" value="Send !/Envoyez !" class="btn btn-primary py-3 px-5">
</div>
</form>
</div>
<div class="col-md-6 d-flex align-items-stretch">
<div id="map"></div>
</div>
</div>
</div>
</section>

avec les fichiers css et js associés bien sur.

Et là.... Impossible de trouver l'endroit où mettre mon mail...
J'ai deja utilisé un mailto sur un site précédent, mais là, je sèche...
Qui aurait la gentillesse de m'aider ?
Je suis sure que c'est simple... mais je suis sans doute pas assez pointue pour trouver...

Merci
Bonne soirée

7 réponses

Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
Bonjour,

Tu n'utilises que du html ... ou tu as également un langage serveur ( comme du php ) ?

Car si tu ne fais que du html ... tu ne peux faire que tu mailto ( qui ne fonctionne que si l'utilisateur dispose d'un logiciel de messagerie configuré sur son ordi ..)

Si tu veux pouvoir envoyer des mails à partir de tes pages web, là, il te faut un langage serveur...
Par exemple :
https://www.commentcamarche.net/faq/4516-webmaster-un-formulaire-de-contact-pour-votre-site

NB: Pour fonctionner, le langage PHP a besoin d'être installé .. pour ça, il faut que tu héberges tes pages sur un serveur... ou que tu en émule un via un logiciel tel que LARAGON.
Par contre, si tu n'as pas de connaissances en PHP, je t'invite vivement à apprendre ( en suivant les nombreux tutos disponibles sur le net) Avant de te lancer.


J'ai trouvé... enfin... ou mettre un mail.php


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Envoi d'un message par formulaire</title>
</head>

<body>
<?php
$retour = mail('***@***', 'Envoi depuis la page Contact', $_POST['message'], 'From : ***@***');
if ($retour) {
echo '<p>Votre message a bien été envoyé.</p>';
}
?>
</body>
</html>

Bien sur, j'ai remplacé le "***@***"...
donc je reçois bien un mail sur ma boite mais pas avec le mail de l'expéditeur... et il est, de plus, complètement vide.

Je te rassure, j'utilise du php, mais avec dreamweaver...
Bref, pas vraiment le temps d'apprendre plus, malheureusement, non que je ne le veux pas, mais par manque de temps.
Je vais tatonner un peu plus ce soir pour voir d'ou vient le fait de recevoir un mail vide...
Sinon, je n'y passerai pas mon temps, je mettrais un mail to en affichant mon mail, comme c'est pour mon site pro, et vu le contexte actuel, ce n'est pas le moment de perdre du taff...

Merci quand même
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
Tu as oublié d'indiquer la méthode dans la balise form de ton formulaire
<form action="mail.php" method="post">

j'eesaie de suite et je te dis ;-)
Merci encore d'aider une brèle comme moi....
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
Tu as également oublié de mettre des Name dans tes input et de remplir celui du textarea...
Your Name, c'est ce qui s'affiche dans la case pour le nom de l'expéditeur
idem pour text area, c'est le texte de l'expéditeur, non ?
Bref, laisse tomber.
Je retourne à mon ancienne technique du mailto... ce n'est pas de mon niveau et je n'y comprends absolument rien.
Merci quand même
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
<form action="mail.php" method="post">
<div class="form-group">
<input type="text" name="yourname" class="form-control" placeholder="Your Name/Votre Nom">
</div>
<div class="form-group">
<input type="text" name="email" class="form-control" placeholder="Your Email/Votre Mail">
</div>
<div class="form-group">
<input type="text" name="sujet" class="form-control" placeholder="Subject/Sujet">
</div>
<div class="form-group">
<textarea name="message" id="" cols="30" rows="7" class="form-control" placeholder="Message"></textarea>
</div>
<div class="form-group">
<input type="submit" value="Send !/Envoyez !" class="btn btn-primary py-3 px-5">
</div>
</form>



Fichier mail.php
<?php

$message = !empty($_POST['message']) ? $_POST['message'] : NULL;
$sujet = !empty($_POST['sujet']) ? $_POST['sujet'] : NULL;
$email = !empty($_POST['email']) ? $_POST['email'] : NULL; 
$yourname = !empty($_POST['yourname ']) ? $_POST['yourname '] : NULL; 

$body = " Message de : " . $yourname  . "  Email : " . $email;
$body .= "<br> Sujet : ". $sujet ;
$body .= "<br>" . $message;

$retour = mail('***@***', 'Envoi depuis la page Contact', $body , 'From : ***@***');
if ($retour) {
echo '<p>Votre message a bien été envoyé.</p>';
}
?>
J'ai essayé en remplacant les **@** par mon mail
Réponse: la page ne fonctionne pas...
Ne perds pas ton temps, je m'arrete là, on va y passer des heures et ca ne marchera pas.
merci pour ton aide et ton temps
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
C'est dommage...

Tu peux juste tester ceci :
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


$message = !empty($_POST['message']) ? $_POST['message'] : NULL;
$sujet = !empty($_POST['sujet']) ? $_POST['sujet'] : NULL;
$email = !empty($_POST['email']) ? $_POST['email'] : NULL; 
$yourname = !empty($_POST['yourname ']) ? $_POST['yourname '] : NULL; 

$body = " Message de : " . $yourname  . "  Email : " . $email;
$body .= "<br> Sujet : ". $sujet ;
$body .= "<br>" . $message;


$to = '***@***'; // ici tu renseignes ton email
$from = ' ***@***' ; // ici tu mets le FROM .. attention, certains serveurs n'autorisent ici que l'adresse mail du serveur... il ne faut pas mettre l'adresse de l'utilisateur qui utilise ton formulaire !



$retour = mail($to, 'Envoi depuis la page Contact', $body , 'From :'.$from);
if ($retour) {
  echo '<p>Votre message a bien été envoyé.</p>';
}

attends, il ya un truc que je ne comprends pas.
Le from est le mail de l'expéditeur, donc comment veux-tu que je le connaisse ?
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
Alors, tu n'as pas lu le commentaire que je t'ai mis sur la ligne du $from ...

Mais si tu veux mettre l'adresse de l'expéditeur, il suffit d'écrire
$from = $email ;
Eh bien, miracle, j'ai l'impression que ça marche...
1000 Mercis pour ta patience...
Messages postés
30060
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2020
2 948
N'oublie pas de mettre la discussion en RESOLUE.

Bonne soirée.