Créer un formulaire simple
Salut,
Voilà quelques jours que j'essaie en vais de mettre un formulaire en ligne mais je n'y arrive pas.
J'en ai trouvé un simple
ici.
Il faudrait juste que je puisse y ajouter l'adresse email. Comment faire ?
merci
J'ai modifié le code html :
<form action="mailto:monnom@fai.fr" method="post"
enctype="text/plain" name="mail"> <br>
<br>Votre nom:<br>
<input name="votre nom">
<br>Votre adresse email<br>
<input adresse="votre adresse email">
<br>Votre message:<br>
<textarea name="commentaire" rows="2" cols="30"></textarea><br>
<input type="submit" value="envoyer">
</form>
le 13/10/2007 à 05:55
Keika
Salut,
modifie ton input:
<input adresse="votre adresse email">
par
<input name="email" value="votre adresse email" />
Le PHP --> C'est dur !
Ok merci, c'est fait mais j'ai ce message d'erreur maintenant :
enctype="text/plain" name="mail">
Il ne faut pas modifier le code de l'exemple fourni sur ton site, il fonctionne parfaitement.
En fait un formulaire avec dans l'action un mailto, cela va ouvrir ton client mail pour envoyer un mail à cette personne, un peu comme un lien de type mailto.
Mais ca n'envoie pas de mail en PHP.
merci
J'ai trouvé un autre code :
<!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>Formulaire</title>
<style type="text/css"></style>
</head>
<body>
<form method="post" action="index.php?id=envoi">
<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>
<?php
$to = 'blabla@yahoo.fr';
$subject = 'Contact Askara :';
$email = $_POST['email'];
$message = $_POST['message'];
$message_ok = wordwrap($message,70);
$headers = 'From:'. $email . '\nReturn-Path:' .$email. '\n\n';
email($to, $subject, $message_ok, $headers);
echo "Votre message a bien été envoyé ";
?>
Avec ce code, je n'ai pas de message d'erreur, mais je ne reçois pas de message non plus.
Salut
tiens essai avec ca ;)
<?php
function email_OK ($email) {
$test_mail=eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$',$email);
if ($test_mail) {
list ($login, $domaine) = split ("@", $email,2);
if (checkdnsrr ($domaine, "MX")) {
return TRUE;
}
else {
return FALSE;
}
}
else {
return FALSE;
}
}
include('./inc/config.php');
if (isset($_POST['Send']) && $_POST['Send'] == 'Send') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['mail']) && !empty($_POST['mail']))
&& (isset($_POST['objet']) && !empty($_POST['objet']))
&& (isset($_POST['message']) && !empty($_POST['message'])))
{
// on déclare les paramètres du mail
$destinataire = "blabla@yahoo.fr";
$expediteur = $_POST['mail'];
$objet = $_POST['objet'];
$contenu = '<html><body>'.nl2br($_POST['message']).'</html></body>';
$adresse = $_POST['mail'];
if (email_OK ($adresse)) {
//on envoie le mail
mail($destinataire, $objet, $contenu, "From: $expediteur\r\nReply-To: $expediteur\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
$erreur = 'Votre email a été envoyé';
}
else {
$erreur = 'L\'adresse email que vous avez indiqué n\'est pas valide ';
}
}
else {
$erreur = 'Tous les champs doivent etre complétés ';
}
}
?>
<?php echo'<strong>'.$erreur.'</strong>';?><br />
<div align="center"><strong><img src="image/puce_verte.png" alt="" width="8" height="7" />
</div>
<br />
<br />
</p>
<form name="Mail" method="post" action="#"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="65%"><font color="red">*</font> Objet / Object :</td>
</tr>
<tr>
<td><input name="objet" type="text" size="70"></td>
</tr>
<tr>
<td><font color="red">* </font>Votre email / Your email : </td>
</tr>
<tr>
<td>
<input name="mail" type="text" size="40"> </td>
</tr>
<tr>
<td><font color="red">*</font> Message : </td>
</tr>
<tr>
<td><textarea name="message" cols="60" rows="8"></textarea></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><input type="submit" name="Envoyer" value="Send"></td>
<td width="8%" rowspan="2"> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</form>
si tu veux pouvoir changer le destinataire, il te suffis d'ajouter un champs destinataire, et modifier la variable $destinataire
<?php
$destinataire= $_POST['destinataire'];
?>
ps : vérifie egalement la forme du mail avec la fonction email_OK() de la globule ;)
++
salut et grand merci pour ton aide,
J'ai ce message d'erreur avec le traitement.php que tu m'a donné :
Warning: include() [function.include.php]: Unable to access ./
C'est quoi le "function.include.php" ?
Je viens de tester que la fonctiion mail marche bien sur le serveur et c'est ok. Je l'ai fait avec ce code :
<?php
$destinataire="blabla@yahoo.fr";
$expediteur="blabla@yahoo.fr";
$titre="titre du message";
$corps="corps du message";
$headers="From: " . $expediteur . "\nReturn-Path: " . $expediteur . "\n";
$email=mail($destinataire,$titre,$corps,$headers);
if($email)
echo "Mail envoyé";
else
echo "Mail non envoyé";
?>
C'est déjà un pas en avant.
Ca y estai réussit à en faire marcher un,. Ne me demandé pas comment j'ai fait ?