Retour formulaire de contact

Résolu/Fermé
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 - Modifié par valttt le 14/03/2012 à 09:33
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 14 mars 2012 à 19:53
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

AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 14:37
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 ?
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 15:16
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é..."
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 15:21
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 ?
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 15:40
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.
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
Modifié par AssassinTourist le 14/03/2012 à 15:48
Commente cette ligne =>
// $url_chemin=str_replace("envoi.php","",$_SERVER["SCRIPT_URI"]);
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 17:14
Merci,

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

Le mail est bien reçu.
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 17:19
Et qu'est-ce que vous avez en ligne 148 dans mimemail.php ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
Modifié par valttt le 14/03/2012 à 17:34
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() ); 

 } 

} 

?> 
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 17:33
A la place de cette ligne en gras, mettez :
$out.="\n".
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 17:41
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.
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 17:51
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 ?
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 18:01
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...
0
valttt Messages postés 269 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 31 janvier 2024 15
14 mars 2012 à 19:14
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 !!!
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
14 mars 2012 à 19:53
Bon, tant mieux alors =)
0