Bonjour à tous.
Je débute avec mysql, et me voilà avec un problème avec setcookie.
Depuis quelques heures, je m'arrache les cheveux.
Mon problème est le suivant...
Il m'est impossible d'avoir des cookies enregistrés sur le poste du client.
Pourquoi ?
Comment faire pour résoudre ce souci ?
Merci d'avance pour votre précieuse aide.
JYves
Modifié par jytest (29 Mar 2011 - 15:41)
Je débute avec mysql, et me voilà avec un problème avec setcookie.
Depuis quelques heures, je m'arrache les cheveux.
Mon problème est le suivant...
Il m'est impossible d'avoir des cookies enregistrés sur le poste du client.
Pourquoi ?
Comment faire pour résoudre ce souci ?
Merci d'avance pour votre précieuse aide.
JYves
// ------------------------------------------------------------------------------------
// $switch = 1 pour un nouveau cookie "invit"
// $switch = 2 pour un cookie déjà existant "invit"
// $switch = 3 pour un cookie déjà existant dont le compte a été modifié et/ou supprimé
// $switch = 4 pour un cookie déjà existant différent de "invit" (="ftp"ou ="admin"...)
// ------------------------------------------------------------------------------------
// Table logins contient tous les logins, motdepasse, email, type de compte
// Table visites contient toutes les statistiques de visites par jour
// ------------------------------------------------------------------------------------
// A chaque visite sur la page d'accueil, l'internaute stocke 3 cookies
// 'CFVcompte', 'CFVuser' et 'CFVemail'
// ------------------------------------------------------------------------------------
// Valeurs possibles du type de compte 'CFVcompte' = ftp, admin, invit
// ------------------------------------------------------------------------------------
if ((!isset($_COOKIE['CFVcompte'])) || (!isset($_COOKIE['CFVuser'])) || (!isset($_COOKIE['CFVemail']))) {
$switch=1;
$compte = "invit";
$user = "invit";
$email = "invit";
} else {
$user = trim($_COOKIE['CFVuser']);
$compte = trim($_COOKIE['CFVcompte']);
$email = trim($_COOKIE['CFVemail']);
if ($user=="invit" && $compte=="invit") {
$switch=2;
} else {
$switch=3;
require_once("connexionMysql.inc.php");
$reqLogin="SELECT * FROM logins ".
"WHERE utilisateur='".$user."' AND type='".$compte."' ";
$resLogin=mysql_query($reqLogin);
$record=mysql_fetch_array($resLogin);
if ($record) {
$switch=4;
}
}
}
if (($switch==1) || ($switch==3)) {
$annee = substr("0000".date("Y"),-4);
$mois = substr("00".date("m"),-2);
$jour = substr("00".date("d"),-2);
$journee="jour".$jour;
require_once("connexionMysql.inc.php");
$reqVisite="SELECT * FROM visites".
" WHERE annee= '".$annee."' AND mois= '".$mois."' ";
$resVisite=mysql_query($reqVisite);
$record=mysql_fetch_array($resVisite);
$valeur=$record["$journee"]+1;
$reqMAJ="UPDATE visites SET ".$journee."= ".$valeur.
" WHERE annee= '".$annee."' AND mois= '".$mois."' ";
mysql_query($reqMAJ);
}
if ($switch==4) {
// cookies valable pendant 10 ans
setcookie('CFVcompte', $compte, time() + 10 * 365 * 24 * 3600, null, null, false, true);
setcookie('CFVuser', $user, time() + 10 * 365 * 24 * 3600, null, null, false, true);
setcookie('CFVemail', $email, time() + 10 * 365 * 24 * 3600, null, null, false, true);
$chemin = "../transferts";
if (is_dir($chemin) == false) {
mkdir($chemin,0777);
}
$chemin .= "/";
if (is_dir($chemin.$user) == false) {
mkdir($chemin.$user,0777);
}
} else {
// cookies valable jusque 23h59m59s
setcookie('CFVcompte', $compte, time() + mktime(23,59,59) - time(), null, null, false, true);
setcookie('CFVuser', $user, time() + mktime(23,59,59) - time(), null, null, false, true);
setcookie('CFVemail', $email, time() + mktime(23,59,59) - time(), null, null, false, true);
}
Modifié par jytest (29 Mar 2011 - 15:41)