Retour formulaire de contact

Résolu/Fermé
Signaler
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
-
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
-
Bonjour,

Cette page web s'ouvre suite à l'envoi de mon formulaire de contact.

[img]http://images.imagehotel.net/qzapgdu2vw.jpg[/img][/url]

Mon formulaire compte 4 fichiers:
-Formulaire.htm
- Formulaire.js
- Envoi.php
- mimemail.php

Voici mes codes:

Envoi.php

<?PHP    
$url_upload='';   
$data='';   
$data.='Nom :='.$_POST["id_2"].'<br>';   
$data.='Votre e-mail :='.$_POST["id_38"].'<br>';   
$data.='Votre Message :='.$_POST["id_42"].'<br>';   
$chiffre=rand(100,999).rand(100,999).rand(100,999);   
$nb_fic=0;   
$url_chemin=str_replace("envoi.php","",$_SERVER["SCRIPT_URI"]);   

$data.=$url_upload;   
include('mimemail.php');   
$m = new CMIMEMail('Vous <vl927@aol.com>','<vl927@aol.com>','Mail depuis Autour de la Guitare');   
$m->mailbody($data,$data);   
if ($nb_fic>0 && $envoi_mail_pj==1){    
$x=1;   

while ($x<=count($tab_fic)){   

$m->attachFile($tab_fic[$x][0],$tab_fic[$x][1]);   
$x++;   
}   
}   
$m->send();   
$msg_client='';   
$msg_client_txt='Merci, votre message à bien été envoyé.';   
$mail_client=$_POST['id_38'];   
$m = new CMIMEMail('Vous <'.$mail_client.'>','<vl927@aol.com>','');   
$m->mailbody($msg_client_txt,$msg_client);   

$m->send();   
header("location: ");   
exit();   
?>   


Mimemail.php

<?php 

/* This is Version 1.4 

* Notes from rozhik@ziet.zhitomir.ua 25 Mar 2000: 

* Improvements: Multi attachmends in one e-mail, ability to post html & plain trext, up to 3x speed improved. 

* USSAGE - mimetype example for attacment 

* $m = new CMIMEMail($to,$from,$subject); 

* $m->mailbody("This is simply text","<html><body><h1>This is HTML text</h1>"); 

* $m->attach("example.html","text/html",$filebody); 

* $m->attachFile("resume.gif","image/gif"); 

* $m->send(); 

******* 

* To Do: 

* 1 Test with different Mail clients 



*/ 







class CMIMEMail { 

 var $to; 

 var $boundary; 

 var $smtp_headers; 

 var $filename_real; 

 var $body_plain; 

 var $body_html; 

 var 

$atcmnt; 

 var $atcmnt_type; 

 function CMIMEMail($to,$from,$subject,$priority=3) { 

   $this->to=$to; $this->from=$from; 

   $this->subject=$subject; $this->priority=$priority; 

   $this->boundary="----=_NextPart_".time()."_".md5(time())."_"; 

 } 

 function  mailbody( $plain, $html="" ) { 

   $this->body_plain=$plain; 

   $this->body_html=$html; 



 } 

 function  attach( $name, $content_type, $data ) { 

 } 

 function  attachfile_raw( $fname, $mailFileName, $content_type ) { 

   if($f=@fopen($fname,"r")) { 

    $this->atcmnt[$mailFileName]=fread($f,filesize($fname)); 

    $this->atcmnt_type[$mailFileName]=$content_type; 

    fclose($f); 

  } 

 } 

 function  attachfile( $fname, $content_type ) { 

    //attachfile_raw($fname,$fname,$content_type); 
    if($f=@fopen($fname,"r")) { 

    $this->atcmnt[$fname]=fread($f,filesize($fname)); 

    $this->atcmnt_type[$fname]=$content_type; 

    fclose($f); 

  } 

 } 

 function  clear() { 

   unset( $atcmnt ); 

   unset( $atcmnt_type ); 

 } 

 function  makeheader() { 

   $out ="From: ".$this->from."\n"; 

   $out.="Reply-To: ".$this->from."\n"; 

   $out.="MIME-Version: 1.0\n". 

        "Content-Type: multipart/mixed;\n\t boundary=\"".$this->boundary."\"\n". 

                "X-Priority: ".$this->priority."\n". 

                "X-Mailer: IziMailing.com )\n"; 

   return $out; 

 } 

 function  makebody() { 

   $boundary2= "----=_NextAttachedPart_".time()."_".md5(time()+101)."_"; 

   $out=""; 

   if( " ".$this->body_html!=" " ) { 

     $out="\nThis is a multi-part message in MIME format.\n\n"; 

     $out.="--".$this->boundary."\nContent-Type: multipart/alternative;\n\tboundary=\"$boundary2\"\n"; 

     $out.="$body_plan\n". 

           "--$boundary2\nContent-Type: text/plain\n". 

#           "Content-Disposition: inline\n". 

           "Content-Transfer-Encoding: quoted-printable\n\n". 

           $this->body_plain. 

           "\n\n--$boundary2\n". 

           "Content-Type: text/html\n". 

#           "Content-Disposition: attachment;\n\tfilename=\"message.html\"\n". 

           "Conent-Transfer-Encoding: quoted-printable\n". 

           "\n$this->body_html\n\n". 

           "--$boundary2--\n"; 

   } else { 

     $out="\n\n".$this->body_plain."\n\n"; 

     $out.="--".$this->boundary."\n". 

        "Content-Type: text/plain\n". 

        "Content-Transfer-Encoding: quoted-printable\n\n". 

        $this->body_plain. 

        "\n\n--".$this->boundary. 

        "\n"; 

   } 

   if( is_array( $this->atcmnt_type ) ) { 

     reset( $this->atcmnt_type); 

     while( list($name, $content_type) = each($this->atcmnt_type) ) { 

       $out.="\n--".$this->boundary."\nContent-Type: $content_type\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$name\"\n\n". 

         chunk_split(base64_encode($this->atcmnt[$name]))."\n"; 

     } 

   } 

   $out.="\n--".$this->boundary."--\n"; 

   return $out; 

 } 

 function  send(){ 

   mail( $this->to, $this->subject, $this->makebody(),$this->makeheader() ); 

   //echo $this->to."<br>"; 

   //echo $this->subject."<br>"; 

   //echo $this->makebody()."<br>"; 

   //echo $this->makeheader()."<br>"; 

 } 

 function  sendto($email){ 

   mail( $email, $this->subject, $this->makebody(),$this->makeheader() ); 

 } 

} 

?> 


Si quelqu'un pouvait de dire d'où vient l'erreur, ce serait très sympa...
Merci d'avance...



8 réponses

Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Bonjour,
Il semble plutôt clair =)
Il te donne le fichier qui produit l'erreur, le numéro de ligne et la variable qu'il n'aime pas. Que demandes-tu de plus ?
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Merci AssassinTourist pour ta réponse.

Effectivement il me donne ce genre d'information, mais cela ne me sert à rien puisque mon mail est bien envoyé et bien reçu

Je ne souhaite avoir en retour, qu'une simple phrase me disant "Votre message à bien été envoyé..."
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Oh d'accord.
Et bien, en lisant l'erreur, je lis déjà que cette ligne :
$url_chemin=str_replace("envoi.php","",$_SERVER["SCRIPT_URI"]);   

ça ne va pas. Et pourquoi ? Parce qu'il ne trouve pas d'index. Et pourquoi ? Parce qu'il ne connait pas la variable $_SERVER["SCRIPT_URI"] Es-tu sûr d'avoir cette variable-là quelque part ?
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Désolé, mais je n'ai pas précisé, que j'avais eu ces codes grace au logiciel "CreaForm".
Tout cela pour te dire que je n'y connais rien dans le domaine du formulaire.

Comment puis-je savoir à quoi correspond cette variable?
Je n'ai que trois parties à remplir dans mon formulaire:

Nom
Adresse mail
Message

Un bouton Annuler et un bouton Envoyer.
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Commente cette ligne =>
// $url_chemin=str_replace("envoi.php","",$_SERVER["SCRIPT_URI"]);
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Merci,

Maintenant, je n'ai plus que l'erreur en ligne 148 sur le fichier mimemail.php.

Le mail est bien reçu.
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Et qu'est-ce que vous avez en ligne 148 dans mimemail.php ?
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Désolé, je fini par m'embrouiller avec tous ces codes...

La ligne 148 est souligné ($out.="$body_plan\n". )...

<?php 

/* This is Version 1.4 

* Notes from rozhik@ziet.zhitomir.ua 25 Mar 2000: 

* Improvements: Multi attachmends in one e-mail, ability to post html & plain trext, up to 3x speed improved. 

* USSAGE - mimetype example for attacment 

* $m = new CMIMEMail($to,$from,$subject); 

* $m->mailbody("This is simply text","<html><body><h1>This is HTML text</h1>"); 

* $m->attach("example.html","text/html",$filebody); 

* $m->attachFile("resume.gif","image/gif"); 

* $m->send(); 

******* 

* To Do: 

* 1 Test with different Mail clients 



*/ 







class CMIMEMail { 

 var $to; 

 var $boundary; 

 var $smtp_headers; 

 var $filename_real; 

 var $body_plain; 

 var $body_html; 

 var 

$atcmnt; 

 var $atcmnt_type; 

 function CMIMEMail($to,$from,$subject,$priority=3) { 

   $this->to=$to; $this->from=$from; 

   $this->subject=$subject; $this->priority=$priority; 

   $this->boundary="----=_NextPart_".time()."_".md5(time())."_"; 

 } 

 function  mailbody( $plain, $html="" ) { 

   $this->body_plain=$plain; 

   $this->body_html=$html; 



 } 

 function  attach( $name, $content_type, $data ) { 

 } 

 function  attachfile_raw( $fname, $mailFileName, $content_type ) { 

   if($f=@fopen($fname,"r")) { 

    $this->atcmnt[$mailFileName]=fread($f,filesize($fname)); 

    $this->atcmnt_type[$mailFileName]=$content_type; 

    fclose($f); 

  } 

 } 

 function  attachfile( $fname, $content_type ) { 

    //attachfile_raw($fname,$fname,$content_type); 
    if($f=@fopen($fname,"r")) { 

    $this->atcmnt[$fname]=fread($f,filesize($fname)); 

    $this->atcmnt_type[$fname]=$content_type; 

    fclose($f); 

  } 

 } 

 function  clear() { 

   unset( $atcmnt ); 

   unset( $atcmnt_type ); 

 } 

 function  makeheader() { 

   $out ="From: ".$this->from."\n"; 

   $out.="Reply-To: ".$this->from."\n"; 

   $out.="MIME-Version: 1.0\n". 

        "Content-Type: multipart/mixed;\n\t boundary=\"".$this->boundary."\"\n". 

                "X-Priority: ".$this->priority."\n". 

                "X-Mailer: IziMailing.com )\n"; 

   return $out; 

 } 

 function  makebody() { 

   $boundary2= "----=_NextAttachedPart_".time()."_".md5(time()+101)."_"; 

   $out=""; 

   if( " ".$this->body_html!=" " ) { 

     $out="\nThis is a multi-part message in MIME format.\n\n"; 

     $out.="--".$this->boundary."\nContent-Type: multipart/alternative;\n\tboundary=\"$boundary2\"\n"; 

     $out.="$body_plan\n". 

           "--$boundary2\nContent-Type: text/plain\n". 

#           "Content-Disposition: inline\n". 

           "Content-Transfer-Encoding: quoted-printable\n\n". 

           $this->body_plain. 

           "\n\n--$boundary2\n". 

           "Content-Type: text/html\n". 

#           "Content-Disposition: attachment;\n\tfilename=\"message.html\"\n". 

           "Conent-Transfer-Encoding: quoted-printable\n". 

           "\n$this->body_html\n\n". 

           "--$boundary2--\n"; 

   } else { 

     $out="\n\n".$this->body_plain."\n\n"; 

     $out.="--".$this->boundary."\n". 

        "Content-Type: text/plain\n". 

        "Content-Transfer-Encoding: quoted-printable\n\n". 

        $this->body_plain. 

        "\n\n--".$this->boundary. 

        "\n"; 

   } 

   if( is_array( $this->atcmnt_type ) ) { 

     reset( $this->atcmnt_type); 

     while( list($name, $content_type) = each($this->atcmnt_type) ) { 

       $out.="\n--".$this->boundary."\nContent-Type: $content_type\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$name\"\n\n". 

         chunk_split(base64_encode($this->atcmnt[$name]))."\n"; 

     } 

   } 

   $out.="\n--".$this->boundary."--\n"; 

   return $out; 

 } 

 function  send(){ 

   mail( $this->to, $this->subject, $this->makebody(),$this->makeheader() ); 

   //echo $this->to."<br>"; 

   //echo $this->subject."<br>"; 

   //echo $this->makebody()."<br>"; 

   //echo $this->makeheader()."<br>"; 

 } 

 function  sendto($email){ 

   mail( $email, $this->subject, $this->makebody(),$this->makeheader() ); 

 } 

} 

?> 
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
A la place de cette ligne en gras, mettez :
$out.="\n".
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Je n'ai plus de retour comme précédemment, mais maintenant, je ne peut plus rentrer de signe (*à_è-), de chiffre (65786) ou d'espace dans mon mail, car je reçois un message d'erreur: La valeur n'est pas correcte.

Le textarea ou le mail devient tout blanc et je dois faire annuler pour pouvoir tout remettre.
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Tu as un champ mail ? Il s'appelle comment ? Ce qui t'empêche de mettre des caractères spéciaux, c'est un regexp qui se trouve dans ton js. Mais il détermine quelle règle appliquer en fonction du champ.

Tu as du genre :
<input type="texte" value="" onchange="fonction_js()" onclick="fonction_js()" id="mail" name="mail" /> 

ou je ne sais quoi ?
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
Oui j'ai un champ ou la personne doit mettre son adresse mail, je crois que le nom est id_38.

Pourtant avant de changer
$out.="$body_plan\n".
en
$out.="\n".
, je pouvait en rentrer sans problème...
Messages postés
253
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2021
21
J'ai encore tout changé, et cela fonctionne très bien avec des espaces des chiffes ou des caractères spéciaux...
Merci beaucoup pour ton aide AssassinTourist !!!
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 272
Bon, tant mieux alors =)