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