Créer un formulaire simple

Répondre
Carnyx
le 13/10/2007 à 01:15
Carnyx
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
Carnyx
le 13/10/2007 à 01:50
Carnyx
J'ai modifié le code html :

nom_du_fichier
<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>
Keika
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 !
Carnyx
le 13/10/2007 à 11:21
Carnyx
Ok merci, c'est fait mais j'ai ce message d'erreur maintenant :

enctype="text/plain" name="mail">
LA GLOBULE
le 13/10/2007 à 12:47
LA GLOBULE
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.
Carnyx
le 13/10/2007 à 13:45
Carnyx
merci

J'ai trouvé un autre code :

Le formulaire :
<!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>


le traitement php :
<?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. smiley
vengeur002
le 14/10/2007 à 13:13
vengeur002
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>&nbsp;</td>
</tr>

<tr>
<td><input type="submit" name="Envoyer" value="Send"></td>
<td width="8%" rowspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</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 ;)

++
Carnyx
le 14/10/2007 à 18:28
Carnyx
salut et grand merci pour ton aide,

J'ai ce message d'erreur avec le traitement.php que tu m'a donné :

nom_du_fichier
Warning: include() [function.include.php]: Unable to access ./


C'est quoi le "function.include.php" ?
Carnyx
le 14/10/2007 à 20:50
Carnyx
Je viens de tester que la fonctiion mail marche bien sur le serveur et c'est ok. Je l'ai fait avec ce code :
nom_du_fichier
<?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.
Carnyx
le 14/10/2007 à 23:54
Carnyx
Ca y estai réussit à en faire marcher un,. Ne me demandé pas comment j'ai fait ?
Répondre
LoadingChargement en cours