Bonjour,
J'ai besoin d'aide, de conseils.
Pouvez-vous prendre un peu de votre temps pour m'aider ?
Cette histoire d'accents me prend le chou...
Des fois, les accents apparaissent normalement.
Et puis des fois, des caractères bizaroïdes apparaissent.
Est-ce un problème de programmation ?
Est-ce un problème chez one.com ?
Aidez-moi, svp.
D'avance merci.
Dans toutes (oui toutes) pages HTML, j'utilise en tête de code :
et dans tous (oui, tous) mes codes php, j'utilise toujours des header :
Voici tout le code php, pour que vous y voyez plus clair :
Modifié par jytest (01 Nov 2010 - 14:01)
J'ai besoin d'aide, de conseils.
Pouvez-vous prendre un peu de votre temps pour m'aider ?
Cette histoire d'accents me prend le chou...
Des fois, les accents apparaissent normalement.
Et puis des fois, des caractères bizaroïdes apparaissent.
Est-ce un problème de programmation ?
Est-ce un problème chez one.com ?
Aidez-moi, svp.
D'avance merci.
Dans toutes (oui toutes) pages HTML, j'utilise en tête de code :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
et dans tous (oui, tous) mes codes php, j'utilise toujours des header :
$entete .= "Content-Type: text/plain; charset='UTF-8'\n";
Voici tout le code php, pour que vous y voyez plus clair :
date_default_timezone_set('Europe/Brussels');
$blancs = str_repeat(" ", 256);
$finrecord = chr(13).chr(10);
$switch = "0";
if ((trim($_POST['compte']) == "") || (trim($_POST['user']) == "") || (trim($_POST['password']) == "") || (trim($_POST['email']) == "")) {
header("Location: ../loginNEW.html");
exit;
}
$utilisateur = array();
$existence = "1";
$compte = trim($_POST['compte']);
$user = trim($_POST['user']);
$password = trim($_POST['password']);
$email = trim($_POST['email']);
$password_len = strlen($password);
$password_key = sha1($password.$password_len);
$out = $user.":".$password_key;
$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") {
$chemin = "../transferts";
if (is_dir($chemin) == false) {
mkdir($chemin,0777);
}
$chemin = "../transferts/";
if (is_dir($chemin.$user) == false) {
mkdir($chemin.$user,0777);
}
$dernier++;
$nbON++;
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[$dernier-1] = 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 - création d'un nouveau compte";
$objet2 = $objet1;
$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$msg .= "\n";
$msg .= "Voici votre nouveau compte sur le site www.creaprint.be \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']="";
$_POST['compte']="";
$_POST['email']="";
if (($resultat1 == false) || ($resultat2 == false)) {
Header("Location: ../index.html");
} else {
Header("Location: ../index.html");
}
} else {
$_POST['user']="";
$_POST['password']="";
$_POST['compte']="";
$_POST['email']="";
header("Location: ../loginNEW.html");
}
Modifié par jytest (01 Nov 2010 - 14:01)