Modifier le formulaire de contact multi-destinataires

Petit nouveau ! | 6 Messages

09 févr. 2006, 20:46

Bonjour à tous,

Je cherche à modifier un formulaire de contact où l'expéditeur peut sélectionner le destinataire de son e-mail dans le formulaire.

J'ai trouvé le script ici :
http://developpeur.journaldunet.com/tut ... il1a.shtml
(si ça peut interesser quelqu'un).

Je cherche à ajouter dans le formulaire quelques info telles que :
nom (de l'expéditeur), ville, n° de tel, adresse e-mail.

car lorsque non demandé dans un formulaire, les gens oublient souvent de donner leur coordonnées afin qu'on puisse leur répondre.

J'imagine que dans la partie form je dois rajouter ça :

Code : Tout sélectionner

<p><label>Votre nom : </label><input type="text" name="realname" size=20 maxlength=25/><label>T&eacute;l&eacute;phone : </label><input type="text" name="telephone" size=20 maxlength=25 /></p> <p><label>Votre adresse e-mail : </label><input type="text" name="email" size=20 maxlength=50 />
Mais dans la partie php, que doit-on rajouter ? je suis débutante en php, je rame un peu.

Merci pour votre aide,

Christ

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 févr. 2006, 20:52

Oui dans la partie HTML c'est bien ce que tu as fait. Pour le PHP, c'est tout le traitement pour ces nouveaux champs qu'il faut rajouter, idem pour la base de données si le script en utilise une.

Petit nouveau ! | 6 Messages

09 févr. 2006, 21:00

Bonjour Charabia,

Merci pour ta réponse aussi rapide !
Le formulaire n'utilise pas de base de donnée (c'est déjà ça !)
par contre, pour le traitement des nouveaux champs, c'est là que je vois pas tellement quoi écrire et surtout où l'écrire.

J'ai trouvé sur cette page http://www.phpfrance.com/tutoriaux/inde ... r-un-email

Code : Tout sélectionner

# $entetemail = "From: $from_email \n"; // Adresse expéditeur
et d'autres exemples pour retourner le n° de tel, l'objet du e-mail ...

Mais je ne vois pas comment exploiter ces informations, c'est à-dire comment intégrer ces codes au script de base.

Saurais-tu m'expliquer ?

Merci
Christ

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 févr. 2006, 21:43

Un tit peu comme ça :

Code : Tout sélectionner

$from_email = "[email protected]"; $entetedate = date("D, j M Y H:i:s -0600"); // avec offset horaire $entetenom = $_POST['nom']; $enteteville = $_POST['ville']; $entetetel = $_POST['tel']; $entetemail = "From: $from_email \n"; // Adresse expéditeur $entetemail .= "Cc: \n"; $entetemail .= "Bcc: \n"; // Copies cachées $entetemail .= "Reply-To: $from_email \n"; // Adresse de retour $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ; $entetemail .= "Date: $entetedate \n"; $entetemail .= "Nom: $entetenom \n"; $entetemail .= "Ville: $enteteville \n"; $entetemail .= "Tel: $entetetel";

Petit nouveau ! | 1 Messages

01 févr. 2011, 01:11

je viens d'acheter un template flash avec une page contact et je ne conai rien! est ce que kelkun pe maider ou me la faire et me la renvoyer svp.
dites moi ce que je dois modifier très precisement. recopier les fichiers et mettez en couleur les champs que je dois modifier svp. renvoyer le tout sur [email protected] svp urgent merci

voici le fichier asp :

<%
'----function that removes html tags-----------
Function RemoveHTML( strText )
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = "<[^>]*>"
RegEx.Global = True
RemoveHTML = RegEx.Replace(strText, "")
End Function
'---------------------------------------------

'------defining script vars-------------------
Dim mailObj, mailCfg, myBody, fld

Dim RegEx
set RegEx = New RegExp
'--------------------------------------------

'------getting data sent by flash (filtering configuration data)------------
For Each fld in Request.Form
If Request.Form(fld) <> "" and _
fld <> "mail_to" and _
fld <> "smtp_server" and _
fld <> "smtp_port" and _
fld <> "plain_text" and _
fld <> "mail_from" and _
fld <> "mail_subject" Then
myBody = myBody & vbCRLF & " <b>" & fld & "</b> :<br/> " & Trim(Request.Form(fld)) & "<br/>"
End If
Next
'---------------------------------------------------------------------------

'----------setting conf data------------------------------------------------
On Error Resume Next
Set myMail = CreateObject("CDO.Message")
myMail.Subject = Request.Form("mail_subject")
myMail.From =Request.Form("mail_from")
myMail.To = Request.Form("mail_to")

'--------if plain text is set to true removing html---------------------------------------
if Request.Form("plain_text") = "true" then

myMail.TextBody = RemoveHTML(myBody)

'-------otherwise composing message body--------------------------------------------------
else myMail.HTMLBody = "<html><body>" & myBody & "</body></html>"

end if
'----------setting configuration params for smtp----------------------------------------------------------------------------------
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/config ... /sendusing") = 1
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/config ... smtpserver") = Request.Form("smtp_server")
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/config ... serverport") = Request.Form("smtp_port")
myMail.Configuration.Fields.Update
'---------------------------------------------------------------------------------------------------------------------------------
myMail.Send '---------------sending message

If Err = 0 Then
Response.Write("&mail=1") 'if there the message is sent return 1 to flash
Else
Response.Write("&mail=0") 'otherwise return 0
End If

%>
_________________________________________________________________________________________________________________________
voici le fichier php :

<?php
//-----------------Getting data sent by flash---------------------
foreach ($_POST as $key => $value){

if ($key != 'mail_to' && $key != 'smtp_server' && $key != 'smtp_port' && $key != 'mail_from' && $key != 'mail_subject' && $key != 'plain_text'){

$mail_body .= '<b>'.str_replace('_',' ',$key).'</b>:<br/>';

$mail_body .= ''.stripslashes($value).'<br/>';
}
}
//-----------------------------------------------------------------



$message = '<html><body>'.$mail_body.'</body></html>'; // mail body

//------------if plain text is set to true removing html tags------
if ($_POST['plain_text']=='true') {

$message = str_replace('<br/>',"\r\n", $message);

$message = strip_tags($message);

//------------------------------------------------------------------
} else {
//----otherwise composing message headers---------------------------
$headers = 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//------------------------------------------------------------------
}

//------------setting conf data-------------------------------------
$to = $_POST['mail_to'];

$from = $_POST['mail_from'];

$subject = $_POST['mail_subject'];

$smtp_server = $_POST['smtp_server'];

$smtp_port = $_POST['smtp_port'];
//------------------------------------------------------------------

//---------setting header info--------------------------------------
$headers .= 'To: '.$to. "\r\n";

$headers .= 'From: Site visitor ' .$from. "\r\n";
//------------------------------------------------------------------


if (mail($to, $subject, $message, $headers)){ // sending mail

print('&mail=1'); //succes

} else {

print('&mail=0');//failure

}

?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 févr. 2011, 15:09

salut,


y a un forum pour les demandes de développement ....


@+

ps : les délais nous sont inconnus onfait du bénévolat ;)
Il en faut peu pour être heureux ......

fenixdeamiens
Invité n'ayant pas de compte PHPfrance

29 avr. 2011, 07:44

bonjours
j'ai un formulaire de contact mail mais le souci c'est pour mettre sur une page froncé
quelqu'un peut m'aider a mettre les écriture en blanc

merci d'avance



contacter moi au cas ou [email protected]





<?php
if(isset($_POST['email']) and isset($_POST['sujet']) and isset($_POST['message']))
{
$destinataire = 'adresse mail';
$smtphost = 'serveur smtp';
$email = htmlentities($_POST['email']);
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
{
$sujet = 'Contact: '.stripslashes($_POST['sujet']);
$message = stripslashes($_POST['message']);
$headers = "From: <".$email.">\n";
$headers .= "Reply-To: ".$email."\n";
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"";
if(mail($destinataire,$sujet,$message,$headers))
{
echo "<strong>Votre message a bien &eacute;t&eacute; envoy&eacute;.</strong>";
}
else
{
echo "<strong style=\"color:#ff0000;\">Une erreur c'est produite lors de l'envois du message.</strong>";
}
}
else
{
echo "<strong style=\"color:#ff0000;\">L'email que vous avez entr&eacute; est invalide.</strong>";
}
}
else
{
?>
<form action="" method="post">
<fieldset>
<legend>Formulaire de contact</legend>
<label for="email" style="display:inline-block;width:100px;"><strong>Votre Email:</strong></label> <input type="text" name="email" id="email" /><br />
<label for="sujet" style="display:inline-block;width:100px;"><strong>Sujet:</strong></label> <input type="text" name="sujet" id="sujet" /><br />
<label for="message"><strong>Message:</strong></label><br />
<textarea cols="70" rows="10" name="message" id="message"></textarea><br />
<input type="submit" value="Envoyer" />
</fieldset>
</form>
<?php
}
?>