8792 sujets

Développement web côté serveur, CMS

bonjour,
de retour ... je viens à nouveau lancer un sos !
j'ai fait un formulaire (en php), mais lorsqu'on envoie, moi je reçois un mail avec :
de:expéditeur
à:contact@monsite.info
objet: formulaire de contact

j'aimerais bien avoir l'adresse de l'expéditeur dans "de:" pour pouvoir répondre directement
et ... dans objet, j'aimerais aussi avoir le 'motif de votre demande' que je n'obtiens que dans le mail
je sais ... cela doit être facile à corriger, mais mes connaissances en php sont limités !
alors merci à l'avance de bien vouloir me dépanner
- - - je joins le code ci-dessous
@mitiés
b g
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>NORMANDIERE modèle PHP</title> 
<link href="../menu/includes/style_normandiere.css" type="text/css" rel="stylesheet"> 
</head> 

<?php 

$email_dest = "contact@monsite.info"; 

if ($_POST['envoi']) { 

$message_remerciement = "merci de votre demande, nous vous répondons au plus vite."; 

// E-mail headers: 
$headers ="MIME-Version: 1.0 \n"; 
$headers .="From: expéditeur<mail épexditeur>\n"; 


$headers .="Content-Type: text/html; charset=iso-8859-1 \n"; 

$subject = "formulaire de contact"; 

$partie_entete = "<html><head> 
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1> 
</head> 
<body bgcolor=#FFFFFF>"; 

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) { 
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>"; 
} 

if ($_POST['nbre_zone_email'] != 0) { 
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>"; 
} 

if ($_POST['nbre_zones_texte'] != 0) { 
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>"; 
$partie_zone_texte = stripslashes($partie_zone_texte); 
} 

$fin = "</body></html>"; 

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin; 

// Send the e-mail 
if (@!mail($email_dest,$subject,$sortie,$headers)) { 
echo("Envoi du formulaire impossible"); 
} // Closing if !mail... 

} // Closing if edit 
?><html> 
<head> 
<title>Assistant d'envoi de formulaires</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<script language="JavaScript"><!-- Hide script from older browsers 
function verifSelection() {if (mail_form.champ1.value == "") { 
alert("toutes les lignes sont obligatoires !") 
return false 
} if (mail_form.zone_email.value == "") { 
alert("vous avez oublier votre email") 
return false 
} 

invalidChars = " /:,;'" 

for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters? 
badChar = invalidChars.charAt(i) 

if (mail_form.zone_email.value.indexOf(badChar,0) > -1) { 
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.") 
mail_form.zone_email.focus() 
return false 
} 
} 

atPos = mail_form.zone_email.value.indexOf("@",1) // there must be one "@" symbol 
if (atPos == -1) { 
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.') 
mail_form.zone_email.focus() 
return false 
} 

if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol 
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.') 
mail_form.zone_email.focus() 
return false 
} 

periodPos = mail_form.zone_email.value.indexOf(".",atPos) 

if (periodPos == -1) { // and at least one "." after the "@" 
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.') 
mail_form.zone_email.focus() 
return false 
} 

if (periodPos+3 > mail_form.zone_email.value.length) { // must be at least 2 characters after the 
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.') 
mail_form.zone_email.focus() 
return false 
}if (mail_form.zone_texte.value == "") { 
alert("remplissez la cas de votre demande") 
return false 
} } // Fin de la fonction 

</script> 
</head> 

<body> 
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()"> 
<div align="center"></div> 
<p align="center"> 
<?php 
if ($message_remerciement) { 
echo("<font face=Verdana size=2>"); 
echo(stripslashes($message_remerciement)); 
echo("</p></body></html>"); 
exit(); 
} 
?> 
<table width="566" border="0" align="center"> 
<p align="center"> 
</p><tr> 
<td><font face="Verdana" size="2">motif de votre demande</font></td> 
<td><input name="champ1" type="text"></td> 
</tr><tr> 
<td width><font face="Verdana" size="2">votre adresse email</font></td> 
<td width><input name="zone_email" type="text"></td> 
</tr><tr> 
<td valign="top"><font face="Verdana" size="2">votre texte</font></td> 
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td> 
</tr><tr> 
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1"> 
<input name="nbre_zones_texte" type="hidden" value="1"> 
<input name="nbre_zone_email" type="hidden" value="1"> 
<input name="titre_champ1" type="hidden" value="motif de votre demande"><input name="titre_email" type="hidden" value="votre adresse email"><input name="titre_zone" type="hidden" value="votre texte"></td> 
<td><div align="center"> 
<input type="reset" name="Reset" value="Effacer"> 
<input type="submit" name="envoi" value="Envoyer"> 
</div></td> 
</tr> 
</table> 
<div align="center"></div> 
</form> 
</body> 
</html>

Modifié par bg62 (06 Oct 2006 - 14:54)
Bonjour bg62 Smiley smile

Il faudrait éditer ton message pour inclure tout ce qui est code dans les balises "code", s'il te plait Smiley cligne

Merci d'avance Smiley smile
dominique a écrit :
Bonjour bg62 Smiley smile
Il faudrait éditer ton message pour inclure tout ce qui est code dans les balises "code", s'il te plait Smiley cligne
Merci d'avance Smiley smile

Smiley rolleyes
merci mais qu'appelles-tu "éditer" et "tout ce qui est dans les balises code"
@mitiés
b g
Administrateur
bg62 a écrit :

merci mais qu'appelles-tu "éditer" et "tout ce qui est dans les balises code"

Salut,

Le bouton "Editer" est le bouton qui te permet de modifier ton message.
Il se trouve en haut à droite de ton message, à côté du bouton "citer".

Pour ce qui est du bouton Code, il se trouve ici et permet d'afficher ton code conformément aux Règles du forum :
upload/1-code.gif
Modifié par Raphael (05 Oct 2006 - 11:57)
Raphael a écrit :

Salut,

Le bouton "Editer" est le bouton qui te permet de modifier ton message.
Il se trouve en haut à droite de ton message, à côté du bouton "citer".

Pour ce qui est du bouton Code, il se trouve ici et permet d'afficher ton code conformément aux Règles du forum :
upload/1-code.gif

ok merci
j'ai essayé
vérifie si cela convient
@mitiés
b g
Salut bg,

dans ton code tu as oublié de remplacer
$headers .="From: expéditeur<mail épexditeur>\n"; 

par quelque chose comme
$headers .="From:".$_POST['zone_email']."\n"; 


@+ Smiley cligne
Heyoan a écrit :
Salut bg,

dans ton code tu as oublié de remplacer
$headers .="From: expéditeur<mail épexditeur>\n"; 

par quelque chose comme
$headers .="From:".$_POST['zone_email']."\n"; 


@+ Smiley cligne

Smiley confused
nickel et grand merci !
j'ai maintenant:
de:expéditeur@son site.** ok
à:contact@monsite.info ok
mais il me reste toujours ce champ non rempli:
objet: formulaire de contact
Smiley biggol encore une erreur ?
@mitiés
b g
Non pas d'erreur : dans ton code tu as
$subject = "formulaire de contact"; 

Visiblement tu ne connais pas très bien PHP Smiley cligne
Si tu veux t'y mettre c'est très facile. A condition de commencer par le commencement...
Par exemple tu pourrais commencer par cela.

@+ Smiley biggrin
Heyoan a écrit :
Non pas d'erreur : dans ton code tu as
$subject = "formulaire de contact"; 


oui je sais je ne m'y connais pas trop, ce formulaire je l'ai réalisé avec un assistant ... Smiley rolleyes mais si "formulaire de contact" est bien dans mon code, ce que je voudrais avoir dans la rubrique "sujet" (avec outlook express) c'est ce que l'on saisit dans le formulaire quand on rempli la case 'motif de votre demande' ...et là je coince !
@mitiés
b g
Salut,

tu peux par exemple mettre
if (!empty($_POST['champ1']))
{
$ubject = $_POST['champ1'];
}

juste avant la ligne
if (@!mail($email_dest,$subject,$sortie,$headers)) { 

Mais décidément ton code n'est pas propre Smiley confus
par exemple tu as 2 <html> et 2 <head> Smiley eek
Quitte à reprendre un formulaire de contact je te conseille d'aller voir ici

@+
[quote=Heyoan]Salut,

tu peux par exemple mettre
if (!empty($_POST['champ1']))
{
$ubject = $_POST['champ1'];
}

juste avant la ligne
if (@!mail($email_dest,$subject,$sortie,$headers)) { 

merci mais cette fois ci cela ne fonctionne pas j'ai toujours 'formulaire de contact' qui s'inscrit dans "objet" et non le texte mis dans "motif de votre demande"
pour les doublons je vais voir
ce que je voudrais c'et que ce form fonctionne correctement en premier
@mitiés
b g
Heyoan a écrit :
Ah oui Oups !
il fallait mettre $subject à la place de $ubject Smiley ravi
@+

Smiley smile
ne t'excuses pas , moi j'ai fait aussi bêtement un copier/coller !!!
là ça marche 'nickel' !!!!
grand merci

lorsque le message est envoyé, une confirmation apparaît "merci de votre demande, nous vous répondons au plus vite."
comment faire pour insérer un "retour" vers la page précédente et donc l'accès au menu du site ?
@mitiés
b g
Dis donc bg62 ! Tu abuses un petit peu non Smiley biggol ?

Allez c'est fête... tu rajoutes
<a href="[b]tapagedemenu.html[/b]">Précédent</a>
en remplaçant tapagedemenu.html par le vrai nom de ta page Smiley cligne

Euh.. c'est Résolu non ?
Heyoan a écrit :
Dis donc bg62 ! Tu abuses un petit peu non Smiley biggol ?

Allez c'est fête... tu rajoutes
<a href="[b]tapagedemenu.html[/b]">Précédent</a>
en remplaçant tapagedemenu.html par le vrai nom de ta page Smiley cligne

Euh.. c'est Résolu non ?

Smiley eek
ben non ... !
on le place où ce code ?
car pour l'instant je l'ai mis ici:
$message_remerciement = "merci de votre demande, nous vous répondons au plus vite.";
<a href="contact.php">Précédent</a>
et j'ai ce message:
Parse error: parse error, unexpected '<' in /homepages/14/d141737115/htdocs/2/pages/contact.php on line 17
la ligne 17 correspond à "<a href="contact.php">Précédent</a>"
qu'en penses-tu ?
@mitiés
b g
Tu y étais presque !

il faut mettre
$message_remerciement = "merci de votre demande, nous vous répondons au plus vite.<br><br><a href='contact.php'>Précédent</a>";

Ce que tu aurais trouvé tout seul si tu étais allé jeter un oeil au lien PHP que je t'avais donné. Smiley sweatdrop
Quand je dis que tu abuses je veux dire que tu ne fais aucun effort de ton côté pour comprendre le pourquoi du comment et tu attends juste la solution toute prête. Du coup tu n'apprends rien et du coup moi je n'ai pas la satisfaction d'avoir aidé quelqu'un à apprendre quelque chose ni même celle d'avoir cherché une solution à une question épineuse. Smiley decu
Pour info, je passe beaucoup de temps sur ce forum parce que j'aimerais apprendre le CSS. Donc je lis les questions posées, je cherche de mon côté la réponse (que pour le moment je ne trouve pas Smiley murf ), puis je lis les solutions de ceux qui savent.
Bref ça commence à rentrer. Smiley smile
Désolé si je te prends la tête mais c'était pour t'expliquer pourquoi je ne te répondrai plus...

Salut Smiley cligne
Smiley smile tout à fait d'accord avec toi , mais je n'ai de temps pour cela, ma passion première étant la création numérique !
et lorsque je ne trouve pas qq chose comme ce sujet, lorsque c'est possible, je préfère trouver quelqu'un d'expérience qui m'aide, j'apprends ainsi ...
maintenant TOUT fonctionne impeccablement : donc grand merci !
(dans le code que tu viens de me donner en dernier: 2 balises identiques et non fermées ... cela pose problème ou pas ? pour moi cela fonctionne, mais avec les 'standards' !) Smiley rolleyes
que cherches-tu en css ?
@mitiés
b g