Bonjour à tous et toutes.
J'ai un souci en php.
Pourriez-vous essayer de m'aider ?
J'ai 2 codes php qui font chacun leur popote...
Tout fonctionne bien sauf quand ils envoient un mail
(tout se passe en fin de chacun des codes)
Dans loginON.php, tous les accents s'affichent bien...
par contre dans uploads.php les accents sont illisibles "été" devient carré't'carré...
Désolé, le message est long...
Mais je crois cela utile pour que vous puissiez m'aider.
Pouvez-vous m'aider ???
Pourtant les 2 pages html contiennent toutes les 2 un début de code html qui est :
Voici loginON.php
Voici maintenant, uploads.php
Modifié par jytest (16 Nov 2010 - 13:56)
J'ai un souci en php.
Pourriez-vous essayer de m'aider ?
J'ai 2 codes php qui font chacun leur popote...
Tout fonctionne bien sauf quand ils envoient un mail
(tout se passe en fin de chacun des codes)
Dans loginON.php, tous les accents s'affichent bien...
par contre dans uploads.php les accents sont illisibles "été" devient carré't'carré...
Désolé, le message est long...
Mais je crois cela utile pour que vous puissiez m'aider.
Pouvez-vous m'aider ???
Pourtant les 2 pages html contiennent toutes les 2 un début de code html qui est :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
Voici loginON.php
<?php
date_default_timezone_set('Europe/Brussels');
$user = trim($_POST['user']);
$password = trim($_POST['password']);
if (($user == "") || ($password == "") ) {
header("Location: ../loginON.html");
exit;
}
if (($user == "admin") && ($password == "admin")) {
header("Location: ../loginON.html");
exit;
}
$password_len = strlen($password);
$password_key = sha1($password.$password_len);
$out = $user.":".$password_key;
$utilisateur = array();
$blancs = str_repeat(" ", 256);
$finrecord = chr(13).chr(10);
$switch = "0";
$existence = "1";
$nomfichier = fopen('login.txt','r');
flock ($nomfichier, 2);
$record = fgets($nomfichier);
$utilisateur [1] = substr($record,0,254);
$dernier = substr($utilisateur [1],0,6);
$nbON = substr($utilisateur [1],6,5);
$nbOFF = substr($utilisateur [1],11,5);
$nbADMIN = substr($utilisateur [1],16,5);
$nbFTP = substr($utilisateur [1],21,5);
$nbAUTRE = substr($utilisateur [1],26,5);
for ($ligne = 2 ; $ligne < $dernier ; $ligne++) {
$record = fgets($nomfichier);
$utilisateur [$ligne] = substr($record,0,254);
}
flock ($nomfichier, 3);
fclose($nomfichier);
for ($ligne = 2 ; $ligne < $dernier ; $ligne++) {
$loginexistence = trim(substr($utilisateur [$ligne],0,1));
$logincompte = trim(substr($utilisateur [$ligne],1,6));
$loginuser = trim(substr($utilisateur [$ligne],7,40));
$loginpassword = trim(substr($utilisateur [$ligne],47,40));
$loginemail = trim(substr($utilisateur [$ligne],87,150));
$in = $loginuser.":".$loginpassword;
if ($out == $in) {
$switch = $ligne;
$ligne = $dernier;
}
}
if ($switch == "0") {
$_POST['user']="";
$_POST['password']="";
header("Location: ../loginON.html");
} else {
$compte = $logincompte;
$email = $loginemail;
$chemin = "../transferts";
if (is_dir($chemin) == false) {
mkdir($chemin,0777);
}
$chemin .= "/";
if (is_dir($chemin.$user) == false) {
mkdir($chemin.$user,0777);
}
if ($loginexistence != "1") {
$nbON++;
$nbOFF--;
switch ($compte) {
case "admin":
$nbADMIN++;
break;
case "ftp":
$nbFTP++;
break;
default:
$nbAUTRE++;
break;
}
}
$utilisateur[1] = substr("000000".$dernier,-6);
$utilisateur[1] .= substr("000000".$nbON,-5);
$utilisateur[1] .= substr("000000".$nbOFF,-5);
$utilisateur[1] .= substr("000000".$nbADMIN,-5);
$utilisateur[1] .= substr("000000".$nbFTP,-5);
$utilisateur[1] .= substr("000000".$nbAUTRE,-5);
$utilisateur[$switch] = substr($existence.$blancs,0,1).substr($compte.$blancs,0,6).substr($user.$blancs,0,40).substr($password_key.$blancs,0,40).substr($email.$blancs,0,150);
$newfichier = fopen('loginTMP.txt','w');
flock ($newfichier, 2);
for ($ligne = 1 ; $ligne < $dernier ; $ligne++) {
$utilisateur[$ligne] = substr($utilisateur[$ligne].$blancs,0,254);
$utilisateur[$ligne] .= $finrecord;
fwrite ($newfichier, $utilisateur[$ligne]);
}
flock ($newfichier, 3);
fclose($newfichier);
chmod("loginTMP.txt", 0777);
chmod("login.txt", 0777);
unlink("login.txt");
copy("loginTMP.txt","login.txt");
unlink("loginTMP.txt");
$destinataire1 = "truc@bidule.fr";
$destinataire2 = $email;
$objet1 = "bidule - Réactivation d'un compte";
$objet2 = $objet1;
$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$msg .= "\n";
$msg .= "Votre compte sur le site www.bidule.fr a été réactivé \n";
$msg .= "Vous pouvez donc uploader ou downloader directement sur le site \n";
$msg .= "\n";
$msg .= "Type de compte : $compte "."\n";
$msg .= "Utilisateur : $user \n";
$msg .= "Mot de Passe : $password \n";
$msg .= "Adresse email : $email \n";
$msg .= "\n";
$msg .= "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$entete = "From: $destinataire1 <>\n";
$entete .= "Reply-To: $destinataire2\n";
$entete .= "Content-Type: text/plain; charset=UTF-8\n";
$entete .= "Content-Disposition: inline\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Date: $datefr $heurefr\n";
$resultat1 = mail($destinataire1,$objet1,$msg,$entete);
$resultat2 = mail($destinataire2,$objet2,$msg,$entete);
$_POST['user']="";
$_POST['password']="";
if (($resultat1 == false) || ($resultat2 == false)) {
Header("Location: ../index.html");
} else {
Header("Location: ../index.html");
}
}
?>
Voici maintenant, uploads.php
date_default_timezone_set('Europe/Brussels');
if ((!isset($_COOKIE["CFVcompte"])) || (!isset($_COOKIE["CFVuser"])) || (!isset($_COOKIE["CFVemail"]))) {
Header("Location: ../autorisation01.html");
exit;
}
if (($_COOKIE["CFVcompte"] != "admin") && ($_COOKIE["CFVcompte"] != "ftp")) {
Header("Location: ../autorisation01.html");
exit;
}
$blancs = str_repeat(" ", 256);
$extensionsAutorisees = array("ai", "ind", "png", "psd", "eps", "bmp", "gif", "jpg", "jpeg", "tif", "tiff", "txt", "tmp", "swf", "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "xml", "rar", "zip");
$user = $_COOKIE['CFVuser'];
$compte = $_COOKIE['CFVcompte'];
$email = $_COOKIE['CFVemail'];
$email = str_replace('%40','@',$email);
$chemin = "../transferts";
if (is_dir($chemin) == false) {
mkdir($chemin,0777);
}
$chemin .= "/";
if (is_dir($chemin.$user) == false) {
mkdir($chemin.$user,0777);
}
$repertoireDestination = $chemin.$user."/";
$srcfichier[0] = $_FILES['file01'];
$srcfichier[1] = $_FILES['file02'];
$srcfichier[2] = $_FILES['file03'];
$srcfichier[3] = $_FILES['file04'];
$srcfichier[4] = $_FILES['file05'];
$srcfichier[5] = $_FILES['file06'];
$srcfichier[6] = $_FILES['file07'];
$srcfichier[7] = $_FILES['file08'];
$srcfichier[8] = $_FILES['file09'];
$srcfichier[9] = $_FILES['file10'];
$nbfichier = 0;
for ($i=0; $i < 10; $i++) {
if ($srcfichier[$i]['name'] != "") {
$name = $srcfichier[$i]['name'];
$extensionFichier = substr($name, strrpos($name, ".") + 1);
$nom_fichier = basename($name,".".$extensionFichier);
if (strlen($nom_fichier) > 30) {
$fichierreduit[$i] = substr($nom_fichier,0,30)."...".$extensionFichier;
} else {
$fichierreduit[$i] = $name;
}
if (in_array($extensionFichier, $extensionsAutorisees)) {
$etat[$i+1] = "En cours";
$nomDestination = $nom_fichier.date("YmdHis").".".$extensionFichier;
move_uploaded_file($srcfichier[$i]['tmp_name'],$repertoireDestination.$nomDestination);
chmod("$repertoireDestination.$nomDestination",0777);
switch($srcfichier[$i]['error']) {
case UPLOAD_ERR_OK:
$etat[$i+1] = "Terminé avec succès !";
$nbfichier++;
break;
// dépassement de upload_max_filesize dans php.ini
case UPLOAD_ERR_INI_SIZE:
$etat[$i+1] = "Trop volumineux ! (PHP)";
break;
// dépassement de MAX_FILE_SIZE dans le formulaire
case UPLOAD_ERR_FORM_SIZE:
$etat[$i+1] = "Trop volumineux ! (FORM)";
break;
// autres erreurs
default:
$etat[$i+1] = "Erreur générale !";
}
} else {
$etat[$i+1] = "Fichier en .".$extensionFichier." refusé !";
}
}
}
$destinataire1 = "truc@bidule.fr";
$destinataire2 = $email;
$objet1 = "Envoi de fichiers sur www.truc@bidule.fr";
$objet2 = $objet1;
$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$msg .= "\n";
$msg .= "Sur le site truc@bidule.fr\n";
switch ($nbfichier) {
case 0:
$msg .= "Aucun fichier n'a été envoyé par ".$user."\n";
break;
case 1:
$msg .= "1 fichier a été envoyé par ".$user."\n";
break;
default:
$msg .= "$nbfichier fichiers ont été envoyés par ".$user."\n";
}
$msg .= "dans le dossier : $repertoireDestination\n";
for ($i=0; $i<10; $i++) {
if ($srcfichier[$i]['name'] != "") {
$msg .= "#".substr("00".($i+1),-2)." ".$fichierreduit[$i]." --- ".$etat[$i+1]."\n";
}
}
$msg .= "\n";
$msg .= "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$entete = "From: $destinataire1 <>\n";
$entete .= "Reply-To: $destinataire2\n";
$entete .= "Content-Type: text/plain; charset=UTF-8\n";
$entete .= "Content-Disposition: inline\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Date: $datefr $heurefr\n";
$resultat1 = mail($destinataire1,$objet1,$msg,$entete);
$resultat2 = mail($destinataire2,$objet2,$msg,$entete);
if (($resultat1 == false) || ($resultat2 == false)) {
Header("Location: ../index.html");
} else {
Header("Location: ../index.html");
}
Modifié par jytest (16 Nov 2010 - 13:56)