Php et netim

Eléphanteau du PHP | 17 Messages

24 sept. 2007, 09:46

Bonjour a tous ,

J'ai un ptit soucis concernant les fichiers .php et mon hebergeur netim.

Mon ancien hebergeur etant free, et le fichier .php que j'utilise pour un formulaire fonctionne correctement avec free alors qu'avec netim il fonctionne qu'a moitié.

Voici le code :
<?php 
 
{ 
$erreur = $msg_erreur; 
$msg_erreur = "Erreur. Les champs suivants doivent �tre obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien �t� prise en compte.";
 // Verification des champs laiss� vide
 if (empty($_POST['nom'])) 
 $erreur .= "Votre nom<br/>"; 
 if (empty($_POST['prenom'])) 
 $erreur .= "Votre Prenom<br/>";             
 if (empty($_POST['adresse'])) 
 $erreur .= "Votre adresse <br/>";
 if (empty($_POST['codepostal'])) 
 $erreur .= "Votre Code postal<br/>";
 if (empty($_POST['ville'])) 
 $erreur.= "Votre Ville<br/>";
 if (empty($_POST['email'])) 
 $erreur .= "Votre adresse mail<br/>";

 if (strlen($erreur) > strlen($msg_erreur)) 
  {
  echo $erreur;
  }
 else 
    if ( ! empty($fichier)) 
	{ 
     $fich= $_FILES['fichier']['tmp_name']; 
     $ftaille = $_FILES['fichier']['size']; 
     $ftype = $_FILES['fichier']['type']; 
     $fnom = $_FILES['fichier']['name']; 
	 
	 // identifiant de s�parateur, en principe unique
     $limite = md5(uniqid(time() ));
	 // ajout d'un texte � la saisie 
     $mail_corps .= "\r\nNB: Ajout d'une pi�ce jointe : $fnom\r\n"; 
     // ouverture du fichier joint upload� en lecture
     $f = fopen($fich, "r") or die("ouverture du fichier $fich impossible ...");
     // r�cup�ration du code du fichier joint
     $code =fread($f, $ftaille);
     // encodage standard
     $code = chunk_split(base64_encode($code));
	 
     
	 $destinataire = '[email protected]';
	 
	 if(strtoupper(substr(PHP_OS,0,3)=='WIN'))
     { 
      $eol="\r\n"; 
      $sol="\n"; 
     }
	else
	if(strtoupper(substr(PHP_OS,0,3)=='MAC'))
	{ 
      $eol="\r"; 
    }
	else
	{ 
      $eol="\n"; 
    } 
	
	 $from_email  = trim(htmlentities($_POST['email']));
	 $entetemail  = "From: $from_email \n"; // Adresse exp�diteur 
     $entetemail .= "Cc: \n";  
     $entetemail .= "Bcc: \n"; // Copies cach�es 
     $entetemail .= "Reply-To: $from_email \n"; // Adresse de retour 
     $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
	 $entetemail .= "Content-Type: multipart/mixed;\n"; // On indique que le mail est divis� en plusieurs parties 
     $entetemail .= "Content-Type: multipart/mixed;boundary=\"".$limite."\"".$eol;// Mail divis� en plusieurs parties et s�parateur utilis� 
	 
	 // pr�paration du corps du mail
     $mail_corps =  "Societe: $societe\n";
     $mail_corps .= "Message de : $nom $prenom\n";
     $mail_corps .= "Fonction : $fonction\n";
     $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
     $mail_corps .= "Son numero de telephone: $telephone, fax : $fax\n";
     $mail_corps .= "Son site Internet : $site\n";
     $mail_corps .= "Langue source : $select\n";
     $mail_corps .= "Langue cible 1: $select2\n";
     $mail_corps .= "Langue cible 2 : $select3\n";
     $mail_corps .= "Langue cible 3 : $select4\n";
     $mail_corps .= "Langue cible 4 : $select5\n\n\n";
     $mail_corps .= "Domaine du projet : $projet\n\n\n";
	 $mail_corps .= "CGV : $cgv";
	 
	 
	 
  
      
	 
	
     /* composition de l'en-t�te du message :
     * le message textuel suivi du code du fichier
     *********************************************/
  
     // composition : le message textuel suivi du code du fichier 
     $msg = ""; 
     $msg .= "--".$limite.$eol; 
     $msg .= "Content-type:text/plain;charset=us-ascii".$eol; 
     $msg .= "Content-transfer-encoding:8bit".$eol.$eol; 
     $msg .= $mail_corps.$eol; 

     $msg .= "--".$limite.$eol; 
     $msg .= "Content-type:$ftype;name=$fnom".$eol; 
     $msg .= "Content-transfer-encoding:base64".$eol; 
     $msg .= "Content-Disposition: attachment; filename=$fnom".$eol.$eol; 
     $msg .= $code.$eol.$eol; 
     $msg .= "--".$limite."--".$eol.$eol;
	 
	 function decoder($msg)
	  { 
        
        $msg = stripslashes($msg); // �vitete les anti-slashs d'�chappement 
        $msg = trim($msg); // �vite les '\n', '\r', '\t' etc 
        return $msg; 
      } 

  // envoi du mail
   if( mail($destinataire, "Demande de devis", decoder($msg), $entetemail) )
  {
  //Le mail est bien exp�di�
  echo $msg_ok;
  } 
  else 
  {

  //Le mail n'a pas �t� exp�di�
  echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
  }

 }          
   
}            
		    

?>
Merci d'avance

ViPHP
ViPHP | 3607 Messages

24 sept. 2007, 09:58

[...]alors qu'avec netim il fonctionne qu'a moitié.[...]
c.a.d?

Eléphanteau du PHP | 17 Messages

24 sept. 2007, 18:36

Oui dsl, je devais repartir en cours j'ai pas eu le temps de tout expliquer.

Parfois il fait la verification des champs laissé vides mais pas tout le temps.
Mais il n'envoi jamais le formulaire a l'adresse mail.

Par contre si j'essaye avec le serveur free (x.free.fr) le fichier fonctionne correctement
La version utilisé par le serveur est la version 5.

De plus si une erreur est caché dans le message , il n'y a aucun message de ce style qui apparait :
Parse error: syntax error, unexpected T_ELSE in /mnt/161/sda/6/b/tradandcom/traitement_devis.php on line 25

Juste une page blanche