formulaire avec des cases à cocher, des radios boutons etc...,
mon problème est dans la récup dans le mail, quelqu'un pourrait il m'aider sur ce problème ou m'orienter vers un tuto qui fait appel à un mail en récup de données
voici mon formulaire de base pour test :
[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>Document sans titre</title>
</head>
<body>
<? // Exemple d'envoi de formulaire
// Interface PHP pour mail()
function sendMail($mFrom,$mTo,$sujet,$body) {
// l'émetteur
$tete = "From: ".$mFrom."\n";
$tete .= "Reply-To: ".$mFrom."\n";
// et zou... false si erreur d'émission
return mail($mTo,$sujet,$body,$tete);
}
// SI LE FORM A ETE POSTE
if(!empty($_POST["mail"])) {
// Récupère les éléments du form
$temp="";
while (list($truc, $val) = each($HTTP_POST_VARS))
$temp .= $truc." : ".$val."\n\n";
// Caractères spéciaux
$temp = stripslashes($temp);
// Envoie le message
// L'émetteur est aussi le récepteur dans cet exemple !
if(@sendmail($_POST["mail"],$_POST["mail"],"Demande via Internet",$temp)) {
// Affiche un message de confirmation
echo "Le formulaire a bien été envoyé à <b>".$_POST["mail"]."</b> !";
} else {
// ou un message d'erreur
echo "<font color=red>Impossible d'envoyer le formulaire !</font>";
}
// SINON AFFICHAGE DU FORM
} else { ?>
<script language="JavaScript">
// Teste si le mail a une forme correcte
function checkmail(mail) {
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/
return (reg.exec(mail)!=null)
}
// Teste le contenu des champs du form avant submit
function test(nom,mail) {
if(nom.value=="") {
alert("Indiquez votre nom !"); nom.focus(); return false;
} else if(!checkmail(mail.value)) {
alert("Email incorrect !"); mail.focus(); return false;
}
return true;
}
</script>
<table><form method="post" action="contactmail.php">
<tr>
<td>Nom<br><input name="Nom"></td>
<td>Email<br><input name="mail"></td>
</tr><tr>
<td colspan=2 align=center>Message<br>
<textarea wrap=virtual rows=5 cols=35 name="msg"></textarea></td>
</tr><tr>
<td align=center>Sexe
<input type="radio" name="Sexe" value="Homme" checked>M
<input type="radio" name="Sexe" value="Femme">F</td>
<td align=center>pays
<select name="Pays">
<option>France</option>
<option>Belgique</option>
<option>Suisse</option>
<option>Autre</option>
</select></td>
</tr>
<tr>
<td colspan=2 align=center><p>
<label>
<input type="checkbox" name="habitat" value="hameau" id="habitat_0" />
hameau</label>
<br />
<label>
<input type="checkbox" name="habitat" value="village" id="habitat_1" />
village</label>
<br />
<label>
<input type="checkbox" name="habitat" value="petite ville" id="habitat_2" />
petite ville</label>
<br />
<label>
<input type="checkbox" name="habitat" value="grande ville" id="habitat_3" />
grande ville</label>
<br />
</p></td>
</tr>
<tr>
<td colspan=2 align=center>
<input type="checkbox" name="newsletter">
Recevoir la newsletter</td>
</tr>
<tr>
<td colspan=2 align=center><tr>
<td width="39%" height="58"><div align="left">Code de sécurité</div></td>
<td width="61%"><div align="left"><img src="cryptimage.php" width="160" height="30" alt="image de securisation du formulaire" title="image de securisation du formulaire" /></div></td>
</tr>
<tr>
<td><div align="left">Recopier la combinaison ci dessus dans le champ qui suit :</div></td>
<td><div align="left">
<label>
<input name="verif" type="text" size="10" maxlength="5" />
</label>
</div></td>
<tr>
<td colspan=2 align=center><br>
<input type="submit" value="Envoyer le formulaire"></td>
</tr>
</form></table>
<? } ?>
</BODY></HTML>[/code]
et voici la page "contactmail.php" pour l'envoi du message :
[code]<?php
session_start();
if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5) exit("Erreur !");
if($_SESSION['code'] != $_POST['verif']) exit("Erreur les valeurs sont différentes !");
$exp = $_POST['mail'];
$nom = stripslashes($_POST['nom']);
$mail = stripslashes($_POST['mail']);
$msg = stripslashes($_POST['msg']);
$sexe = stripslashes($_POST['sexe']);
$pays = stripslashes($_POST['pays']);
$habitat = stripslashes($_POST['habitat']);
$newsletter = stripslashes($_POST['newsletter']);
$envoi=mail("monmail@mail.com". $nom. $mail. $msg. $sexe. $pays. $habitat. $newsletter);
if($envoi)header('Location: merci.html');
else echo"L'envoi a échoué, merci de renouveler l'opération !";
session_unset();
session_destroy();
?>[/code]
=====
j'obtiens toujours l'erreur suivante :
Warning: mail() expects at least 3 parameters, 1 given in /var/www/monsite.fr/htdocs/contactmail.php on line 15
L'envoi a échoué, merci de renouveler l'opération !
============
quelqu'un voit il où est l'erreur ????
d'avance merci pour votre aide