Page 1 sur 2

Formulaire de contact

Posté : 24 août 2010, 23:10
par mickael002
Bonjour,

J'ai trouvé un petit script de formulaire de contact pour mon site internet (Il n'est pas très récent)car j'en avais besoins.

Mais il comporte un champ email que je ne veux pas, mais vue que je ne suis pas très fort en php je n'arrive pas a le retirer.

Mon but serais de mettre tout les champs obligatoire et ne recevoir les mail normalement et non en indésirable.




Voice le code php d'origine.
<?
/*
GONFIGURATION  
*/
$YourMail="[email protected]"; #METTEZ VOTRE EMAIL ICI 

$lenSubject=24; //taille du sujet
$lenMsg=3000; //taille du message
$SendRecpt=1; //envoyer un accusé 1 = oui  0= non
			 // c a d si un email est envoyé au user ou non 
			 // pour lui confirmer la réception de son message
			 // ( un petit répondeur .. :Pp )
			 
#Vous pouver personnaliser les differents messages
$NoticeMsg=" Vore message a été bien envoyé sur ma boite!Je vous réponderais bientot ";  // pourle user
$NoticeSub="notification ";//titre du mail qui arrive sur la boite du user
$ErrMsg1="Champs omis ! tout les champs sont obligaoire ."; //lorse que un chmaps est vide
$ErrMsg2="ERREUR: Message non envoyé.";  //lorseque l'email n'est pas envoyé
$thanks=" - Message reçue ! Merci. -"; //confirmation .

/*
FIN CONFIGURATION
*/



$Vemail=trim($_POST["email"]);
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
if($Vemail  == ""|| $Vsujet == ""||$Vmsge == "")
{
echo "Un champs a été omis";
}else{
$reg="^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z\.]{2,5}$";
	 if(!eregi($reg,$_POST["email"])){
	 echo $ErrMsg1;
	 } else
	  {
	   //qlq truc
	   if (strlen($Vsujet) > $lenSubject){
	    echo "Sujet trop long";
		
		}else if (strlen($Vmsge) >$lenMsg ){
		echo "Message trop long .";
		} else{
		
		 if(@mail($YourMail,$Vsujet." IP :". $_SERVER['REMOTE_ADDR'],$Vmsge))
		 {
		 echo $thanks;
		  if($SendRecpt== 1){		  
		 mail($_POST["email"],$NoticeSub,$NoticeMsg);
		 }
		 }else{
		 echo "ERREUR: Message non envoyé";
		 }
	  }
	}
}

?>

Le code html que j'ai modifier :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><form name="form1" method="post" action="mailme.php">
        <table width="100%" border="0" cellspacing="1" cellpadding="1">
		      <tr> 
            <td><font size="2" face="verdana">Titre de votre tuto</font></td>
            <td><input name="sujet" type="text" id="sujet"></td>
          </tr>
          <tr> 
            <td><font size="2" face="verdana">Nom et prénom de votre pol(ette)</font></td>
             <td><input name="prenom" type="text" id="prenom"></td>
          </tr>
          <tr> 
            <td><font size="2" face="verdana">Code de votre tuto : </font></td>
            <td><textarea name="message" cols="55" rows="7" id="message"></textarea></td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td><input type="submit" name="Submit" value="Envoyer"></td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
        </table>
      </form></td>
  </tr>
</table>
</body>
</html>

Et voici le code php que j'ai essayer de modifier :
<?

/*
GONFIGURATION  
*/
$YourMail="[email protected]"; #METTEZ VOTRE EMAIL ICI 

$lenSubject=24; //taille du sujet
$lenMsg=3000; //taille du message
$SendRecpt=0; //envoyer un accusé 1 = oui  0= non
			 // c a d si un email est envoyé au user ou non 
			 // pour lui confirmer la réception de son message
			 // ( un petit répondeur .. :Pp )
			 
#Vous pouver personnaliser les differents messages
$NoticeMsg=" Vore message a été bien envoyé sur ma boite! Je vous réponderais bientot ";  // pourle user
$NoticeSub="notification ";//titre du mail qui arrive sur la boite du user
$ErrMsg1="Champs omis ! tout les champs sont obligaoire ."; //lorse que un chmaps est vide
$ErrMsg2="ERREUR: Message non envoyé.";  //lorseque l'email n'est pas envoyé
$thanks=" - Message reçue ! Merci. -"; //confirmation .

/*
FIN CONFIGURATION
*/



$Vsujet=trim($_POST["prenom"]);
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
if($Vsujet == ""|| $Vprenom == ""|| $Vmsge == "")
{
echo "Un champs a été omis";
}else

	  {
	   //qlq truc
	   if (strlen($Vsujet) > $lenSubject){
	    echo "Sujet trop long";
		
		}else if (strlen($Vmsge) >$lenMsg ){
		echo "Message trop long .";
		} else{
		
		 if(@mail($YourMail,$Vsujet." IP :". $_SERVER['REMOTE_ADDR'],$Vmsge))
		 {
		 echo $thanks;
		  if($SendRecpt== 1){		  
		 mail($_POST["email"],$NoticeSub,$NoticeMsg);
		 }
		 }else{
		 echo "ERREUR: Message non envoyé";
		 }
	  }
	}


?>
Merci si vous pourriez m'aidai.

Cordialement

Re: Formulaire de contact

Posté : 25 août 2010, 09:39
par sylvaing26
Et bien en fait plutot que de définir ta varbiale $Vemail comme ceci
$Vemail=trim($_POST["email"]);
Met par exemple ton adresse mail.
Le code complet modifié serai
<?
/*
GONFIGURATION  
*/
$YourMail="[email protected]"; #METTEZ VOTRE EMAIL ICI 

$lenSubject=24; //taille du sujet
$lenMsg=3000; //taille du message
$SendRecpt=1; //envoyer un accusé 1 = oui  0= non
          // c a d si un email est envoyé au user ou non 
          // pour lui confirmer la réception de son message
          // ( un petit répondeur .. :Pp )
          
#Vous pouver personnaliser les differents messages
$NoticeMsg=" Vore message a été bien envoyé sur ma boite!Je vous réponderais bientot ";  // pourle user
$NoticeSub="notification ";//titre du mail qui arrive sur la boite du user
$ErrMsg1="Champs omis ! tout les champs sont obligaoire ."; //lorse que un chmaps est vide
$ErrMsg2="ERREUR: Message non envoyé.";  //lorseque l'email n'est pas envoyé
$thanks=" - Message reçue ! Merci. -"; //confirmation .

/*
FIN CONFIGURATION
*/


//////////////////
///////////////
//////////// MODIFICATION APPORTEE ICI
$Vemail=$YourMail;
//////////////////////
///////////////////////
////////////////////////
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
if($Vemail  == ""|| $Vsujet == ""||$Vmsge == "")
{
echo "Un champs a été omis";
}else{
$reg="^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z\.]{2,5}$";
    if(!eregi($reg,$_POST["email"])){
    echo $ErrMsg1;
    } else
     {
      //qlq truc
      if (strlen($Vsujet) > $lenSubject){
       echo "Sujet trop long";
      
      }else if (strlen($Vmsge) >$lenMsg ){
      echo "Message trop long .";
      } else{
      
       if(@mail($YourMail,$Vsujet." IP :". $_SERVER['REMOTE_ADDR'],$Vmsge))
       {
       echo $thanks;
        if($SendRecpt== 1){        
       mail($_POST["email"],$NoticeSub,$NoticeMsg);
       }
       }else{
       echo "ERREUR: Message non envoyé";
       }
     }
   }
}

?>


Re: Formulaire de contact

Posté : 25 août 2010, 14:00
par mickael002
Bonjour,

Je ne comprend pas.

Moi j'aimerais retirer ce champ mail.

J'aimerais obtenir un formulaire comme ceci :

Image

En titre des email ça serais le champ : Titre de votre tuto

Merci si vosu pourriez m'adai

Re: Formulaire de contact

Posté : 26 août 2010, 09:36
par sylvaing26
Justement avec ma modification tu n'auras plus besoin du champs mail.
Car en fait avec ce que j'ai fait, l'email du destinataire est aussi l'email de l'expediteur.
L'email de l'expediteur n'a plus a être renseignée dans un champs de formulaire.

Je n'ai pas supprimé la varibale du mail de l'expediteur, car sinon, le script ne fonctionnerai plus (Il faut obligatoirement un expediteur et un destinataire pour que le script fonctionne).

Essai avec le code que je t'ai donné plus tu veras, l'adresse mail de l'expediteur sera en fait l'adresse mail ou tu les recoit

Re: Formulaire de contact

Posté : 26 août 2010, 10:31
par mickael002
ça ne marche pas.
Parse error: syntax error, unexpected T_ELSE in /home/francotuto/www/redaction/form/mailme.php on line 65

Re: Formulaire de contact

Posté : 26 août 2010, 10:33
par sylvaing26
Il ya a quoi en ligne 65 ?

Re: Formulaire de contact

Posté : 26 août 2010, 11:16
par mickael002
Rien.


Le code s'arrête a la ligne 59.

Il faut que le code php s'adapte au code html aussi.

C'est peut-être ça ?

Re: Formulaire de contact

Posté : 26 août 2010, 11:28
par sylvaing26
C'est etonnant car il dit qu'il ya un ELSE en trop ligne 65 dans ton fichier mailme.php
Cela fonctionnait tout de même avant la modif que je t'ai faite ?
Ma modification ne devrais pas entrainer cette erreur en principe.
Sinon donne tout le code de ton fichier mailme.php ainsi que le code HTML de ton formulaire
Biensur il faut adapter les varibales
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
en fonction du nom des champs de ton formulaire

Re: Formulaire de contact

Posté : 26 août 2010, 12:31
par mickael002
Tout les codes sont écris en haut.

Re: Formulaire de contact

Posté : 26 août 2010, 12:48
par sylvaing26
D'acc
Essaie ca :
<?

/*
GONFIGURATION  
*/
$YourMail="[email protected]"; #METTEZ VOTRE EMAIL ICI 

$lenSubject=24; //taille du sujet
$lenMsg=3000; //taille du message
$SendRecpt=0; //envoyer un accusé 1 = oui  0= non
          // c a d si un email est envoyé au user ou non 
          // pour lui confirmer la réception de son message
          // ( un petit répondeur .. :Pp )
          
#Vous pouver personnaliser les differents messages
$NoticeMsg=" Vore message a été bien envoyé sur ma boite! Je vous réponderais bientot ";  // pourle user
$NoticeSub="notification ";//titre du mail qui arrive sur la boite du user
$ErrMsg1="Champs omis ! tout les champs sont obligaoire ."; //lorse que un chmaps est vide
$ErrMsg2="ERREUR: Message non envoyé.";  //lorseque l'email n'est pas envoyé
$thanks=" - Message reçue ! Merci. -"; //confirmation .

/*
FIN CONFIGURATION
*/



$Vsujet=trim($_POST["prenom"]);
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
if($Vsujet == ""|| $Vprenom == ""|| $Vmsge == "")
{
echo "Un champs a été omis";
}else

     {
      //qlq truc
      if (strlen($Vsujet) > $lenSubject){
       echo "Sujet trop long";
      
      }else if (strlen($Vmsge) >$lenMsg ){
      echo "Message trop long .";
      } else{
      
       if(@mail($YourMail,$Vsujet." IP :". $_SERVER['REMOTE_ADDR'],$Vmsge))
       {
       echo $thanks;
        if($SendRecpt== 1){        
       mail($YourMail,$NoticeSub,$NoticeMsg);
       }
       }else{
       echo "ERREUR: Message non envoyé";
       }
     }
   }


?>

Re: Formulaire de contact

Posté : 26 août 2010, 13:50
par mickael002
Ok.

Je testerais plus tard, car mon hébergement web viens de changer de serveur et je pense qu'il y a encore des bugs.

(ça upload/modif bien le fichier sur le ftp mais ça ne le prend pas en compte sur le site)

Re: Formulaire de contact

Posté : 27 août 2010, 11:14
par mickael002
Voila.

J'ai ce méssage maintenant :

Un champs a été omis

Re: Formulaire de contact

Posté : 27 août 2010, 13:18
par sagittaire57
bonjour,

est ce que ce genre de formulaire te conviendrait ? -> Formulaire

A+

Re: Formulaire de contact

Posté : 27 août 2010, 14:05
par sylvaing26
Voila.

J'ai ce méssage maintenant :

Un champs a été omis
Normal ya une erreur là
$Vsujet=trim($_POST["prenom"]); //////////////////////////
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);
Avec ca ca sera mieux !
$Vprenom=trim($_POST["prenom"]);
$Vsujet=trim($_POST["sujet"]);
$Vmsge=trim($_POST["message"]);

Re: Formulaire de contact

Posté : 28 août 2010, 10:02
par mickael002
Merci beaucoup :D