A voir également:
- Formulaire de contact
- Formulaire de réclamation facebook - Guide
- Créer un groupe whatsapp sans contact - Guide
- Contact messenger disparu ✓ - Forum Réseaux sociaux
- Formulaire de remboursement free pdf ✓ - Forum Vos droits sur internet
- Bloquer contact whatsapp - Guide
17 réponses
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 11:31
26 oct. 2005 à 11:31
Tiens, essaye ça :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if($Email ==""){ echo("Le champ email est vide !"); } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,$Name,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 11:27
26 oct. 2005 à 11:27
Salut,
Premièrement, est-ce volontaire d'avoir collé deux fois le fichier contact.php ?
Ensuite, dans ton fichier mail.php, il faut que tu récupère les données transmises par post AVANT des les utiliser. ($_POST['cequetuveux'])
Attends deux secondes, je te corrige déjà un bout.
;o)
Premièrement, est-ce volontaire d'avoir collé deux fois le fichier contact.php ?
Ensuite, dans ton fichier mail.php, il faut que tu récupère les données transmises par post AVANT des les utiliser. ($_POST['cequetuveux'])
Attends deux secondes, je te corrige déjà un bout.
;o)
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
26 oct. 2005 à 11:28
26 oct. 2005 à 11:28
la condition $send=="envoie" est-elle vérifiée au moins ?
je ne vois rien qui s'appelle send ...
je ne vois rien qui s'appelle send ...
je ne l'ai pas coller simplement il ya 2 fichiers contact.php puis mail.php
merci pour ta correction vais essayer ca :)
merci pour ta correction vais essayer ca :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ca marche tjs pas :(
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 11:41
26 oct. 2005 à 11:41
Tu as un message d'erreur ou quelque chose ?`
Et pourquoi y a-t-il 2 fichiers contact en fait, j'ai pas trop compris...
Et pourquoi y a-t-il 2 fichiers contact en fait, j'ai pas trop compris...
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
26 oct. 2005 à 11:48
26 oct. 2005 à 11:48
Ca ne marche pas, ça veut dire :
Tu as un message d'erreur ?
Tu as le message de réussite ?
Tu n'as aucun message ?
Tu as un message système ?
tu as enlevé le $send=="envoie" ?
Tu as un message d'erreur ?
Tu as le message de réussite ?
Tu n'as aucun message ?
Tu as un message système ?
tu as enlevé le $send=="envoie" ?
voila ce qui s'affiche en haut de mon formulaire :
Warning: mail(): Nombre de parametres incorrects in /var/www/free.fr/c/9/jayjay14/DB/mail.php on line 29
Votre message a bien été envoyé
pour les 2 fichiers je sais pas trop non plus j'ai trouver ca sur un site comme j'apprend tres doucement le php donc j'ai suivi la methode a peu pres sur ce site
http://www.webdiz.com/coursphp/form2mail.php
si tu veux voir mon formulaire c'est la
http://jayjay14.free.fr/DB/contact.php
Warning: mail(): Nombre de parametres incorrects in /var/www/free.fr/c/9/jayjay14/DB/mail.php on line 29
Votre message a bien été envoyé
pour les 2 fichiers je sais pas trop non plus j'ai trouver ca sur un site comme j'apprend tres doucement le php donc j'ai suivi la methode a peu pres sur ce site
http://www.webdiz.com/coursphp/form2mail.php
si tu veux voir mon formulaire c'est la
http://jayjay14.free.fr/DB/contact.php
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
26 oct. 2005 à 11:50
26 oct. 2005 à 11:50
oui, en effet
regarde un peu ici :
http://fr.php.net/mail
regarde un peu ici :
http://fr.php.net/mail
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
>
Jay-Jay
26 oct. 2005 à 12:04
26 oct. 2005 à 12:04
Elle décrit la fonction mail, qui a bien planté chez toi :-D
En fait, Ednax t'as déjà répondu : t'as même pas eu besoin de lire :p
En fait, tu vois que la fonction mail() accepte 4 arguments comme suit :
mail ($emailArrivee, $sujet, $message, $entete); l'entete contenant l'email de l'envoyeur.
Dans ton cas, tu as mis 5 arguements, suite à une faute de frappe j'imagine. php ne comprend pas ce qu'il doit faire du 5e paramètre et t'envoit donc une erreur.
voili voilou
En fait, Ednax t'as déjà répondu : t'as même pas eu besoin de lire :p
En fait, tu vois que la fonction mail() accepte 4 arguments comme suit :
mail ($emailArrivee, $sujet, $message, $entete); l'entete contenant l'email de l'envoyeur.
Dans ton cas, tu as mis 5 arguements, suite à une faute de frappe j'imagine. php ne comprend pas ce qu'il doit faire du 5e paramètre et t'envoit donc une erreur.
voili voilou
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 11:59
26 oct. 2005 à 11:59
Sache que le site que wiwimagique te propose est la bible du développeur php.
Tu trouvera toutes les infos pour développer tes scripts expliquant les fonctions, des astuces etc.
Il peu parraître un peu rude au premier abord, mais il est super complet et inévitable si tu veux utiliser php.
;)
Tu trouvera toutes les infos pour développer tes scripts expliquant les fonctions, des astuces etc.
Il peu parraître un peu rude au premier abord, mais il est super complet et inévitable si tu veux utiliser php.
;)
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 11:53
26 oct. 2005 à 11:53
Effectivement, il faut que tu regrouppes le nom de l'expéditeur dans ton message, sinon, php ne comprendra pas le paramètres. Il n'est pas correct pour lui.
Fais quelque chose du style :
Ce qui donne :
Fais quelque chose du style :
$Message .= " $Nom";
Ce qui donne :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Message .= " $Name"; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if($Email ==""){ echo("Le champ email est vide !"); } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
MErci bcp Erdnax tu es mon heros :D ca fonctionne nikel..si je profite de toi pour rajouter un truc du style mettre des pieces jointes au mess j'abuse?
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 oct. 2005 à 12:08
26 oct. 2005 à 12:08
Dans un premier temps à mon avis si tu veux améliorer ton script, et là je te laisse chercher, je vais quand même pas faire ton site à ta place, je te conseil de vérifier que l'adresse email entrée non seulement n'est pas vide, mais qu'elle contient un "@", un ".", et au moins 6 caractères ;)
D'autres améliorations pourront être imaginées avant la pièce jointe, car si tu est débutant, c'est déjà un niveau un peu élevé pour toi, rien ne sert de courir, il faut partir en bas (comment ça c'est pas ça ?!?!).
Gravit les échelons par étape, commence par comprendre ce qu'on a fait, pourquoi, et tu verra la satisfaction que tu as lorsque les scripts sont 100% de toi ;)
@+
D'autres améliorations pourront être imaginées avant la pièce jointe, car si tu est débutant, c'est déjà un niveau un peu élevé pour toi, rien ne sert de courir, il faut partir en bas (comment ça c'est pas ça ?!?!).
Gravit les échelons par étape, commence par comprendre ce qu'on a fait, pourquoi, et tu verra la satisfaction que tu as lorsque les scripts sont 100% de toi ;)
@+
voila j'ai rajouté ca pour tester l'adresse mail c'est pas terrible car meme si l'adresse mail est non valide le message s'envoie kan meme ou est l'erreur?
<?php
function checkEmail($Email)
{
if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $Email))
{
return FALSE;
}
list($Username, $Domain) = split("@",$Email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
}
?>
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if(checkEmail($Email) == FALSE)
{
echo "L'adresse E-mail n'est pas valide \n";
}
else
{
echo "L'adresse E-mail est valide \n" ;
}
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body bgcolor="#D8BFD8">
<div id="body">
<div id="content">
<h2 align="center">Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name">
<br>
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email">
<br>
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet">
<br>
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer">
<input type="reset" value="Recommencer">
<br><br><a href="http://jayjay14.free.fr/DB/l-univers-de-dragonball.html">Retour à l'accueil</a>
</p>
</form>
</div>
</div>
</center>
</body>
</html>
<?php
function checkEmail($Email)
{
if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $Email))
{
return FALSE;
}
list($Username, $Domain) = split("@",$Email);
if(getmxrr($Domain, $MXHost))
{
return TRUE;
}
else
{
if(fsockopen($Domain, 25, $errno, $errstr, 30))
{
return TRUE;
}
else
{
return FALSE;
}
}
}
?>
<?php
// Récupération des données transmises par POST
$Name = $_POST['Name'];
$Message = $_POST['Message'];
$Message .= "
$Name";
$Sujet = $_POST['Sujet'];
$Email = $_POST['Email'];
if($Name ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
else{
if($Message ==""){
// On verifie le message
echo("Le champ Message est vide !");
}
else{
// On verifie le sujet
if($Sujet ==""){
echo("Le champ sujet est vide !");
}
else{
// On verifie l'email
if(checkEmail($Email) == FALSE)
{
echo "L'adresse E-mail n'est pas valide \n";
}
else
{
echo "L'adresse E-mail est valide \n" ;
}
if($Email ==""){
echo("Le champ email est vide !");
}
else{
// si tout a été remplie, on envoi
mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email);
echo("Votre message a bien été envoyé");
}
}
}
}
?>
<html>
<head>
<title>Contact</title>
<style type="text/css">
form label{display:block;float:left;clear:left;width:100px;text-align:right;vertical-align:top;margin:5px 0}
#userInput textarea,
#userInput input {margin:5px 2px;border:1px solid #000;vertical-align:top}
#formFooter {margin-left:100px}
#formFooter input {margin:5px 2px;}
</style>
</head>
<body bgcolor="#D8BFD8">
<div id="body">
<div id="content">
<h2 align="center">Me contacter</h2>
<form action="mail.php" method="post">
<p id="userInput">
<label for="name">Vous êtes : </label>
<input type="text" name="Name" id="Name">
<br>
<label for="email">Votre email : </label>
<input type="text" name="Email" id="Email">
<br>
<label for="subject">Sujet : </label>
<input type="text" id="Sujet" name="Sujet">
<br>
<label for="message">Message : </label>
<textarea name="Message" id="Message" rows="10" cols="40"></textarea>
</p>
<p id="formFooter">
<input type="submit" value="Envoyer">
<input type="reset" value="Recommencer">
<br><br><a href="http://jayjay14.free.fr/DB/l-univers-de-dragonball.html">Retour à l'accueil</a>
</p>
</form>
</div>
</div>
</center>
</body>
</html>
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
26 oct. 2005 à 12:07
26 oct. 2005 à 12:07
C'est un peu compliqué à faire pour les fichiers attachés.
Mais il existe des librairies toutes faites que tu peux trouver sur internet pour cela.
par exemple :
http://www.nexen.net/scripts/details.php?scripts=425
(excellent site au passage :) )
Mais il existe des librairies toutes faites que tu peux trouver sur internet pour cela.
par exemple :
http://www.nexen.net/scripts/details.php?scripts=425
(excellent site au passage :) )
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
108
26 oct. 2005 à 12:14
26 oct. 2005 à 12:14
Enfin, dans ce cas précis, ce n'est pas une classe mais une exemple de code.
Mais ce que dit Erdnax est vrai. Il vaut mieux faire des choses à ta portée d'abord, même si ce n'est pas aussi évolué que tu le souhaites.
Recopier le code tout fait, sans comprendre, ne te permettra pas de l'adapter à tes besoins de toute façon.
Mais ce que dit Erdnax est vrai. Il vaut mieux faire des choses à ta portée d'abord, même si ce n'est pas aussi évolué que tu le souhaites.
Recopier le code tout fait, sans comprendre, ne te permettra pas de l'adapter à tes besoins de toute façon.
jay-jay
>
wiwimagique
Messages postés
481
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
26 oct. 2005 à 12:35
26 oct. 2005 à 12:35
non t'inquiete pas je recopie pas betement j essaye de comprendre aussi ;) faut un debut a tout
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
27 oct. 2005 à 09:01
27 oct. 2005 à 09:01
Salut,
On va continuer la discution ici, histoire que ça reste clair.
Je te conseil de faire plus simple, c'est ce que j'ai entre autre utilisé sur mon site :
Mais j'ai un peu peur que tu grilles les étapes en utilisant les regex (expressions régulières) à ce stade. C'est de loin la meilleur solution pour vérifier les mail, mais fais attention à ne pas prendre de script trop pré-conçu.
Je ne suis pas sûr que tu aie comris ce que tu avais fais, sinon tu te serais sûrement passé de la fonction, tu aurais fais une simple vérification... Par contre, si tu as tout compris, bravo !
P.S. utilise < code> et </ code> quand tu veux écrire du code, c'est mieux s'il est mise en forme correctement (avec les espaces au début des lignes) dans tes messages.
On va continuer la discution ici, histoire que ça reste clair.
Je te conseil de faire plus simple, c'est ce que j'ai entre autre utilisé sur mon site :
<?php // Récupération des données transmises par POST $Name = $_POST['Name']; $Message = $_POST['Message']; $Message .= " $Name"; $Sujet = $_POST['Sujet']; $Email = $_POST['Email']; if($Name ==""){ // On verifie le nom echo("Le champ Nom est vide !"); } else{ if($Message ==""){ // On verifie le message echo("Le champ Message est vide !"); } else{ // On verifie le sujet if($Sujet ==""){ echo("Le champ sujet est vide !"); } else{ // On verifie l'email if(($Email == "") || (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $Email))){ echo "L'adresse E-mail n'est pas valide \n"; } else{ // si tout a été remplie, on envoi mail("jayjay14@free.fr",$Sujet,$Message,"From: ".$Email); echo("Votre message a bien été envoyé"); } } } } ?>
Mais j'ai un peu peur que tu grilles les étapes en utilisant les regex (expressions régulières) à ce stade. C'est de loin la meilleur solution pour vérifier les mail, mais fais attention à ne pas prendre de script trop pré-conçu.
Je ne suis pas sûr que tu aie comris ce que tu avais fais, sinon tu te serais sûrement passé de la fonction, tu aurais fais une simple vérification... Par contre, si tu as tout compris, bravo !
P.S. utilise < code> et </ code> quand tu veux écrire du code, c'est mieux s'il est mise en forme correctement (avec les espaces au début des lignes) dans tes messages.
jipegz
Messages postés
2
Date d'inscription
samedi 4 août 2007
Statut
Membre
Dernière intervention
9 août 2007
9 août 2007 à 02:54
9 août 2007 à 02:54
Bonsoir à tous,
que j'emploie cette méthode ou une autre (empty, par exemple), j'obtiens toujours le même résultat : Au chargement de ma page, le message d'erreur apparaît déjà.
Je souhaiterai qu'aucun message n'apparaisse au chargement, et que la vérification se fasse une fois le bouton "Envoyé" activé.
J'retourne mon code dans tous les sens depuis deux jours, mais ayant débuté PHP depuis Dimanche seulement, je me sens un peu perdu même si pour l'instant je comprends mon code à 100%.
Est-ce que quelqu'un pourrait m'aider s'il vous plait ??
<edit>
Muarf au bout de deux jours de recherche je comprends, et c'est carrément tout con : <?php if($_POST['bouton']) {
instructions relative à l'envoi dans la base de données et à l'affichage du message d'erreur
}
?>
(où "bouton" est le nom donné au...bouton de soumission du formulaire)
Sérieux là j'ai franchement honte de moi...
</edit>
que j'emploie cette méthode ou une autre (empty, par exemple), j'obtiens toujours le même résultat : Au chargement de ma page, le message d'erreur apparaît déjà.
Je souhaiterai qu'aucun message n'apparaisse au chargement, et que la vérification se fasse une fois le bouton "Envoyé" activé.
J'retourne mon code dans tous les sens depuis deux jours, mais ayant débuté PHP depuis Dimanche seulement, je me sens un peu perdu même si pour l'instant je comprends mon code à 100%.
Est-ce que quelqu'un pourrait m'aider s'il vous plait ??
<edit>
Muarf au bout de deux jours de recherche je comprends, et c'est carrément tout con : <?php if($_POST['bouton']) {
instructions relative à l'envoi dans la base de données et à l'affichage du message d'erreur
}
?>
(où "bouton" est le nom donné au...bouton de soumission du formulaire)
Sérieux là j'ai franchement honte de moi...
</edit>
je me appele mickael je voudrais savoirs si sais posible de faire un formulaire de contacts de question merci de avences
acidenitr0s
Messages postés
12
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
1 décembre 2012
30 oct. 2011 à 12:24
30 oct. 2011 à 12:24
voici un code pour un formulaire de contact:
Formulaire :
le fichier envoie.php :
Formulaire :
<form method=POST action=envoie.php > <table width="526" height="580" border="0" align="center" cellpadding="0"> <tr> <td width="270">Votre Nom:</td> <td width="244"><input type=text name=Nom size=30></td> </tr> <tr> <td>Votre Email:</td> <td><input type=text name=Email size=30></td> </tr> <tr> <td>Sujet:</td> <td><input type=text name=Sujet size=30></td> </tr> <tr> <td><div align="center">Type: *</div></td> </tr> <tr> <td bgcolor="#FFFFFF" ><label> <input type="checkbox" name="Type" value="Commande" /> Commande</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Livraison" /> Livraison</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Annulation" /> Annulation</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Clef-unique" /> Clef Unique</label></td> </tr> <tr> <td><label> <input type="checkbox" name="Type" value="Autre" /> Autre</label></td> </tr> <tr> <td colspan=2 ><div align="center">* 1 choix uniquement</div></td> </tr> <tr> <td colspan=2>Commentaires:<br> <textarea cols=55 rows=6 name=Commentaires:></textarea></td> </tr> </table> <br> <input type=submit value=Envoyer> - <input type=reset value=Annuler> </form>
le fichier envoie.php :
<?php $TO = "ton email"; $h = "From: " . $TO; $message = ""; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } mail($TO, $subject, $message, $h); header ("Location: ton lien index.html" ); ?>
acidenitr0s
Messages postés
12
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
1 décembre 2012
30 oct. 2011 à 12:21
30 oct. 2011 à 12:21
Bonjour
je ressort un peut ce topic mai plusieurs personnes essaye de faire la même chose que moi et voici comment faire.
voici le formulaire:
le traitement (send_pic.php):
donc mon problème c'est que je reçois bien mon fichier mais je n'est pas les information qui ce trouve dans le formulaire " nom , email , clef "
Merci pour votre aide
je ressort un peut ce topic mai plusieurs personnes essaye de faire la même chose que moi et voici comment faire.
voici le formulaire:
<form action=send_pic.php method=post enctype=multipart/form-data > <input name="to" type="hidden" value="votre email" /> <input name="sujet" type="hidden" value="votre sujet" /> <table border="0"> <tr><td width="156">Votre Nom:</td> <td width="247"><input name="nom" type="text" size=30></td> </tr> <br> <tr><td>Votre Email:</td> <td><input name="from" type="text" size=30></td> </tr> <br> <tr><td width="156">Cléf Unique : </td> <td width="247"><input name="clef" type="text" size=30></td> </tr> <br> <tr><td>Votre Photo : </td> <td><input name="monfichier" type="file" /></td> </tr> </table> <br> <input type=submit value=Envoyer> --- <input type=reset value=Annuler> </form>
le traitement (send_pic.php):
<html> <body> <div align="center"> <? $name_file = $_FILES['monfichier']['name']; $source=$_FILES['monfichier']['tmp_name']; move_uploaded_file($source, "./".$name_file); $extension=get_extension($name_file); $type="text/plain"; if($type=="doc") { $type="text/vnd.ms-word"; } else if($type=="xls") { $type="text/vnd.ms-excel"; } $type2="image/png"; if($extension=="gif") { $type2="image/gif"; } else if($extension=="bmp") { $type2="image/bmp"; } function get_extension($filename) { $parts = explode('.',$filename); $last = count($parts) - 1; $ext = $parts[$last]; return $ext; } //---------------------------------- // Construction de l'entête //---------------------------------- if($_POST['to']!="") { $boundary = "-----=".md5(uniqid(rand())); $header = "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; $header .= "\r\n"; $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n"; $msg .= "--$boundary\r\n"; $msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n"; $msg .= "Content-Transfer-Encoding:8bit\r\n"; $msg .= "\r\n"; $msg .= $_POST['message']; $msg .= "\r\n"; if($name_file!="") { $file = $name_file; $fp = fopen($file, "r"); $attachment = fread($fp, filesize($file)); fclose($fp); $attachment = chunk_split(base64_encode($attachment)); $msg .= "--$boundary\r\n"; $msg .= "Content-Type: $type2; name=\"$file\"\r\n"; $msg .= "Content-Transfer-Encoding: base64\r\n"; $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n"; $msg .= "\r\n"; $msg .= $attachment . "\r\n"; $msg .= "\r\n\r\n"; $msg .= "--$boundary--\r\n"; } $destinataire = $_POST['to']; $expediteur = $_POST['from']; $reponse = $expediteur; mail($destinataire, $_POST['sujet'], $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\nNom: $nom/r/n".$header); } if($name_file!="") { unlink($name_file); } echo "Mail envoyer"; print("<br>\n"); echo "<a href=.... >Retour a L'Accueil</a>"; ?> </div> </body> </html>
donc mon problème c'est que je reçois bien mon fichier mais je n'est pas les information qui ce trouve dans le formulaire " nom , email , clef "
Merci pour votre aide
acidenitr0s
Messages postés
12
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
1 décembre 2012
2 nov. 2011 à 17:26
2 nov. 2011 à 17:26
petit up pour mon problème svp ?
je n'y arrive vraiment pas ..
Merci
je n'y arrive vraiment pas ..
Merci
Bonjour celui fonctionne pour moi : tu as juste a modifié vers les lignes 50 , mettre ton email , un titre par exemple : Message du site
et éventuellement aussi le tete. voila , bonne journée
et éventuellement aussi le tete. voila , bonne journée
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <title>Nous contactez</title> <center><?php // Couleur du texte des champs si erreur saisie utilisateur $color_font_warn="#FF0000"; // Couleur de fond des champs si erreur saisie utilisateur $color_form_warn="#FFCC66"; // Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites ! if(isset($_POST['submit'])){ $erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){ if(!is_array($val)){ $$var=strip_tags($val); }else{ while(list($arvar,$arval)=each($val)){ $$var[$arvar]=strip_tags($arval); } } } // Formatage des entrées $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); $f_2=strip_tags(trim($f_2)); $f_3=trim(eregi_replace("[^0-9\ +]", "", $f_3)); // Verification des champs if(strlen($f_1)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Nom* » est vide ou incomplet.</b></span>"; $errf_1=1; } if(strlen($f_2)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Email* » est vide ou incomplet.</b></span>"; $errf_2=1; }else{ if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'. '@'. '[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'. '[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$', $f_2)){ $erreur.="<li><b><span class='txterror'>Votre adresse e-mail n'est pas correcte.</b></span>"; $errf_2=1; } } if(strlen($f_4)<2){ $erreur.="<li><b><span class='txterror'>Le champ « Message* » est vide ou incomplet.</b></span>"; $errf_4=1; } if($erreur==""){ // Création du message $titre="Message de $f_1 du Site"; $tete="De:Mon Site\n"; $corps.="Nom* : ".$f_1."\n"; $corps.="Email* : ".$f_2."\n"; $corps.="Téléphone : ".$f_3."\n"; $corps.="Message : ".$f_4."\n"; if(mail("Ton email", $titre, stripslashes($corps), $tete)){ $ok_mail="true"; }else{ $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>"; } } } ?> <style type="text/css" media="screen"> <!-- INPUT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } .txterror { color: red; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .txtform { color: black; font-size: 20px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .valeur { color: red; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .blue { color: blue; font-size: 16px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } --> </style> <span class='txtform'> <h4><span class='blue'><b><h2>Contact :</h4> </span> <? if($ok_mail=="true"){ ?> <table width='60%' border='0' cellspacing='1' cellpadding='1'> <tr><td><span class='valeur'><b>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</b></span></td></tr> <tr><td> </td></tr> <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr> <tr><td> </td></tr> <tr><td><span class='valeur'>Nous vous répondrons dès que possible</span></td></tr> </table> <? }else{ ?> <form action='<? echo $PHP_SELF ?>' method='post' name='Form'> <table width='60%' border='0' cellspacing='1' cellpadding='1'> <? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?> <tr><td colspan='2'><span class='txterror'>Les champs marqué d'un * sont obligatoires</span></td></tr> <tr><td width='30%'><span class='txtform'>Nom* :</span></td><td><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Email* :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Téléphone :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr> <tr><td width='30%'><span class='txtform'>Message* :</span></td><td><textarea style='width:360 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' rows='6' cols='40'><?echo$f_4?></textarea></td></tr> <tr><td width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr> </table> </form> <? } ?>