function actualiser_session($bdd) { if (isset($_SESSION['membre_id']) && intval($_SESSION['membre_id']) != 0) { $req = $bdd->prepare('SELECT * FROM users WHERE id_user = ?'); $req->execute(array($_SESSION['membre_id'])); $retour = $req->fetch(); $req->closeCursor(); //Si la requête a un résultat (id est : si l'id existe dans la table membres) if (isset($retour['id_user']) && $retour['id_user'] != '') { if ($_SESSION['membre_mdp'] != $retour['mdp']) { //Dehors vilain pas beau ! $informations = array(true, 'Session invalide', 'Le mot de passe de votre session est incorrect, vous devez vous reconnecter.', '', 'indeeeeeex.php', 3); require_once 'information.php'; vider_cookie(); session_destroy(); exit; } else { //Validation de la session. $_SESSION['membre_id'] = $retour['id_user']; $_SESSION['membre_mdp'] = $retour['mdp']; $_SESSION['membre_prenom'] = $retour['prenom']; $_SESSION['membre_nom'] = $retour['nom']; $_SESSION['membre_avatar'] = $retour['avatar']; } } } }
<?php vider_cookie(); $_SESSION = array(); session_destroy();
function actualiser_session() { $msg_connexion = 0; if (isset($_SESSION['id']) && intval($_SESSION['id']) != 0) { //utilisation de la fonction sqlquery, on sait qu'on aura qu'un résultat car l'id d'un membre est unique. $retour = sqlquery("SELECT id, pseudo, password FROM Membres WHERE id = " . intval($_SESSION['id']), 1); //Si la requête a un résultat (id est : si l'id existe dans la table membres) if (isset($retour['pseudo']) && $retour['pseudo'] != '') { if ($_SESSION['password'] != $retour['password']) { //Dehors vilain pas beau ! $informations = "Le mot de passe de votre session est incorrect, vous devez vous reconnecter."; $msg_connexion = 1; vider_cookie(); session_destroy(); } else { //Validation de la session. $_SESSION['id'] = $retour['id']; $_SESSION['pseudo'] = $retour['pseudo']; $_SESSION['password'] = $retour['password']; } } } else { if (isset($_COOKIE['id']) && isset($_COOKIE['password'])) { if (intval($_COOKIE['id']) != 0) { //idem qu'avec les $_SESSION $retour = sqlquery("SELECT id, pseudo, password FROM membres WHERE id = " . intval($_COOKIE['id']), 1); if (isset($retour['pseudo']) && $retour['pseudo'] != '') { if ($_COOKIE['password'] != $retour['password']) { //Dehors vilain tout moche ! $informations = "Le mot de passe conservé sur votre cookie est incorrect vous devez vous reconnecter."; $msg_connexion = 1; vider_cookie(); session_destroy(); } else { //Bienvenue :D $_SESSION['id'] = $retour['id']; $_SESSION['pseudo'] = $retour['pseudo']; $_SESSION['password'] = $retour['password']; } } } else { $informations = "Le cookie conservant votre id est corrompu, il va donc être détruit vous devez vous reconnecter."; $msg_connexion = 1; vider_cookie(); session_destroy(); } } else { //Fonction de suppression de toutes les variables de cookie. if (isset($_SESSION['id'])) { unset($_SESSION['id']); } vider_cookie(); } } }
function actualiser_session() { //echo 'plop de débogage'; if (isset($_SESSION['mbrid']) && intval($_SESSION['mbrid']) != 0) { //utilisation de la fonction sqlquery, on sait qu'on aura qu'un résultat car l'id d'un membre est unique. $retour = sqlquery("SELECT mbrid, pseudo, mbrpass, niveau, avatar, mail FROM membresok WHERE mbrid = " . intval($_SESSION['mbrid']), 1); //Si la requête a un résultat (i.e l'id existe dans la table membresok) if (isset($retour['pseudo']) && $retour['pseudo'] != '') { $_SESSION['projet'] = array(); $zzw = mysql_query("SELECT namepjt FROM projetx WHERE mbrpjt='" . $retour['pseudo'] . "' AND nivpjt<>'adminprojet'") or die("Erreur SQL : " . mysql_error()); $ini = mysql_query("SELECT namepjt FROM projetx WHERE mbrpjt='" . $retour['pseudo'] . "' AND nivpjt='adminprojet'") or die("Erreur SQL : " . mysql_error()); if ($ini != '') { $init = mysql_fetch_array($ini); } else { $ini2 = mysql_query("SELECT pjt_pcpl FROM membresok WHERE mbrid='" . $_SESSION['mbrid'] . "'") or die('Erreur SQL : ' . mysql_error()); $init = mysql_fetch_array($ini2); } if ($init != '') { if (isset($_SESSION['pjt_defaut'])) { $_SESSION['projet'][0] = $_SESSION['pjt_defaut']; $_SESSION['projet'][1] = $init[0]; } else { $_SESSION['projet'][0] = $init[0]; } } else { if (isset($_SESSION['pjt_defaut'])) { $_SESSION['projet'][0] = $_SESSION['pjt_defaut']; $_SESSION['projet'][1] = 'Site'; } else { $_SESSION['projet'][0] = 'Site'; } } while ($zzx = mysql_fetch_array($zzw)) { $_SESSION['projet'][] = $zzx[0]; } if ($_SESSION['mbrpass'] != $retour['mbrpass']) { //Refus de validation. $informations = array(true, 'Session invalide', 'Le mot de passe de votre session est incorrect, vous devez vous reconnecter.<br /><br />', '', 'connexion.php', 3); require_once '../infos.php'; vider_cookie(); session_destroy(); exit; } else { //Validation de la session. $_SESSION['mbrid'] = $retour['mbrid']; $_SESSION['pseudo'] = $retour['pseudo']; $_SESSION['mbrpass'] = $retour['mbrpass']; $_SESSION['niveau'] = $retour['niveau']; $_SESSION['avatar'] = $retour['avatar']; $_SESSION['mail'] = $retour['mail']; if ($_SESSION['projet'][0] == $init[0]) { $_SESSION['auth'] = 'ok'; } else { $_SESSION['auth'] = 'non'; } if ($retour['niveau'] == 'adminprojet') { mysql_query("UPDATE membresok SET dernvisit = " . time() . " WHERE mbrid = " . $_SESSION['mbrid']) or exit(mysql_error()); } queries(); } } } else { if (isset($_COOKIE['mbrid']) && isset($_COOKIE['mbrpass'])) { if (intval($_COOKIE['mbrid']) != 0) { //idem qu'avec les $_SESSION $retour = sqlquery("SELECT mbrid, pseudo, mbrpass, niveau FROM membresok WHERE mbrid = " . intval($_COOKIE['mbrid']), 1); if (isset($retour['pseudo']) && $retour['pseudo'] != '') { if ($_COOKIE['mbrpass'] != $retour['mbrpass']) { //"Refoulage" de l'intrus :p $informations = array(true, 'Mot de passe - cookie erroné', 'Le mot de passe conservé sur votre cookie est incorrect vous devez vous reconnecter.<br /><br />', '', 'connexion.php', 3); require_once '../infos.php'; vider_cookie(); session_destroy(); exit; } else { //Bienvenue :D $_SESSION['mbrid'] = $retour['mbrid']; $_SESSION['pseudo'] = $retour['pseudo']; $_SESSION['mbrpass'] = $retour['mbrpass']; $_SESSION['niveau'] = $retour['niveau']; $_SESSION['avatar'] = $retour['avatar']; $_SESSION['mail'] = $retour['mail']; mysql_query("UPDATE membresok SET dernvisit = " . time() . " WHERE mbrid = " . $_SESSION['mbrid']) or exit(mysql_error()); queries(); } } } else { $informations = array(true, 'Cookie invalide', 'Le cookie conservant votre id est corrompu, il va donc être détruit vous devez vous reconnecter.<br /><br />', '', 'connexion.php', 3); require_once '../infos.php'; vider_cookie(); session_destroy(); exit; } } else { //Fonction de suppression de toutes les variables de cookie. if (isset($_SESSION['mbrid'])) { unset($_SESSION['mbrid']); } vider_cookie(); } } if (isset($_SESSION['mbrid'])) { $id = $_SESSION['mbrid']; } else { $id = -1; } updateConnectes($id); }