> Tous les forumsForum des Webmasters

 session pas vraiment fermée
Statut du sujet : NON RESOLU Imprimer
 herve.lagarde
  Posté le 20/04/2007 @ 22:48  
 Petit astucien

450 Messages
je vais essayer de vous presenter mon probleme.
Quand un membre s'identifie j'ouvre une session
Code : PHP <?php
session_start ();
include "../Dossier/connect_EP.php";
$user=addslashes(htmlspecialchars($_POST['user']));
$passw=addslashes(htmlspecialchars($_POST['passw']));

// verif mot de passe dans table utilisateur

$sql = "SELECT COUNT(*) AS membre FROM utilisateurs WHERE user='".$user."' AND passw='".$passw."'";
//echo $sql;
$retour = mysql_query($sql);
$donnees = mysql_fetch_array ($retour);
$count = $donnees['membre'];

if ($count == 1)
{
//est
// session_start(); // on ouvre la session
$_SESSION ['user'] = $user;
$_SESSION['passw'] = $passw;
$_SESSION['logged'] = true;
$var = '<b>Bienvenue </b>'.$user;
$_COOKIE['user'] = $user;
}
else
{
$var = '<b>Vous n\'avez pas été identifié<br><br></b><a href="index.php">Retour</a>'; // le login n'a pas été reconnu
}

// si la case souvenir est cochée
if (isset ($_POST['souvenir']))
{
$expire = time() + 3600*24*365;
setcookie ('user', $user , $expire);
setcookie ('passw', $passw, $expire);

}

mysql_close();
?>
pour se deconnecter c'est ca (fichier complet):Code : PHP <?php
session_start();
session_destroy();
unset ($_SESSION['logged'], $_SESSION['user']);
// Suppression variables de session
setcookie ('user','',time () - 3600);
setcookie ('passw','',time () - 3600);
// suppression cocckies

$_SESSION['logged'] = false;

header ("location: ../index.php");

?>

dans mon fichier index, je teste les cookies ,pour le rappel du membreCode : PHP <?php
session_start();
echo 'logged : '.$_SESSION['logged'];
//test
echo '<br>cookie user'.$_COOKIE['USER'];
echo '<br>session user'.$_SESSION['user'];
//$_SESSION['logged'] = false;
// identification membre memorisé

if (empty ($_COOKIE['user']) && empty ($_COOKIE['passw']))
{
$_SESSION['logged'] = true;
$_SESSION['user'] = $_COOKIE['user'];
$_SESSION['passw'] = $_COOKIE['passw'];

echo '<strong><div align="center">bienvenu'.$_SESSION['user'].'</div></strong>';
}
//elseif (!empty ($_SESSION['user']

?>

dans mon fichier index, j'inclue des menus (affichage différent si membre ou pas)Code : PHP include 'menu_haut.php';
echo'<br>';
include 'menu bas.php';
voici les fichiers :
menu_haut.phpCode : PHP <table width="160" border="0" align="center">
<?php
echo 'logged='.$_SESSION['logged'].'<br>';

if ($_SESSION['secu'] == 'secure' && $_SESSION['logged'] == true)
{
echo '
<tr>
<td><b>Admin</b><br>
<br></td>
</tr>
<tr>
<td><a href="Admin/liste.php">liste des membres </a></td>
</tr>
<tr>
<td><a href="Admin/messages.php">messages re&ccedil;us</a> </td>
</tr>
<tr>
<td><a href="Admin/aff_actus.php">affichage des actualit&eacute;s </a></td>
</tr>
<tr>
<td><a href="Admin/inscription.php">inscrire un membre </a></td>
</tr>';

}
?>
<tr>
<td><b>Pricil</b><br><br></td>
</tr>
<tr>
<td><a href="index.php">Accueil</a></td>
</tr>
<tr>
<td><a href="Pages/association.php">L'association</a></td>
</tr>
<tr>
<td><a href="Pages/charte.php">Notre charte</a> </td>
</tr>
<tr>
<td><a href="Pages/loi_905.php">Loi 1905</a> </td>
</tr>
<tr>
<td><a href="Pages/lettre_ferry.php">Lettre de Jules Ferry</a> </td>
</tr>
<tr>
<td><a href="Pages/calendrier.php">Notre calendrier</a> </td>
</tr>
</table>

menu_bas.phpCode : PHP <table width="160" border="0">

<tr>
<td><b>Menu</b><br><br></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>Forum</td>
</tr>
<tr>
<td><a href="Pages/actualite.php">Actualité</a>s</td>
</tr>
<tr>
<td><a href="Pages/archives.php">Archives</a></td>
</tr>
<?php
if ($_SESSION['logged'] == true)
{
?>
<tr>
<td>
<?php
echo '<a href="Membres/actualite_ajout.php">Ajouter une actualité</a><td>';
echo '</tr><tr><td><a href="Membres/article_depot.php">Poster un article</a></td>';
echo '</tr><tr><td><a href="../Membres/messages_lecture.php">Mes messages </a></td>';
echo '</tr><tr><td><a href="Membres/message_post.php">Poster message</a></td>';
?>

</tr>
<?php
}
?>

<tr>
<td>
<a href="Membres/index.php">Mon compte </a></td>
</tr>
<tr>
<td><a href="Pages/contact.php">Nous contacter</a> </td>
</tr>
<tr>
<td><a href="recherche.php">Recherche</td>
</tr>
<tr>
<td>T&eacute;l&eacute;chargement</td>
</tr>
<tr>
<td>Liens web </a></td>
</tr>
<?php
if ($_SESSION['logged'] == true)
{
?>
<tr>
<td>
<?php
echo 'logged='.$_SESSION['logged'].'<a href="deco.php">D&eacute;connexion</a>';
?>
</td>
</tr>
<?php
}
if (!isset ($_SESSION['secu']))
{
?>

<tr>
<td>
<font size="2"><a href="Admin">Administration</a></font>
</td>
</tr>
<?php
}
?>
<tr><td>
<?php
//nbre connectes
include "Dossier/nbre_connectes.php"
?>
</td></tr>
</table>



Voici mon probleme, si je clique sur deconnecter, ca me renvoie sur index.php(normal) ou $_SESSION['logged']=false,$_COOKIE['user']='', $_SESSION['user']='' (toujours normal);Mais a l'affichage des menu $_SESSION['logged']=true (la, ca coince) Comment entre le debut du fichier et l'affichage des menu $_SESSION['logged']change de valeur ?

Sur ma page d'identification, je teste les cookies ainsiCode : PHP

if (isset($_COOKIE['user']) && isset ($_COOKIE['passw']))
{
$_SESSION['logged'] = true;
$_SESSION['user'] = $_COOKIE['user'];
$_SESSION['passw'] = $_COOKIE['passw'];
}

si je vais sur cette page, tout se passe bien et ca ne marche pas a l'acceuil

J'ai été clair dans mes problemes ?

 Afficher le profil de herve.lagarde Envoyer un message privé à herve.lagarde
 
 
Publicité
 Malcolm  Posté le 20/04/2007 à 23:43  
  Astucien


7206 Messages

$_SESSION = array();

session_destroy();

Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 herve.lagarde  Posté le 21/04/2007 à 08:13  
Petit astucien

450 Messages

Mon soucis reste entier



Modifié par herve.lagarde le 21/04/2007 08:14
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
mise à jour d'un champ dans msql toutes les heures
deux choix
global.asa
Réferencement d'un site??
Besoin d'aide pour un mcd
Question décompte
smslife dans mes statistiques ?
Création site web en Flash
probleme resolution ecran
Incompatiblité web et videos
Bouton entrée
probleme coppermine
aide pour un formulaire de contact
modifier script de mon calendrier
problème d'enregistrement d'utilisateur
Classement dans un tableau (Base de donnée)
Problème de SESSION
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page