Faire jouer une identification sur d'autres pages....

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 mai 2007, 08:53

Ton problème peut provenir d'ici dans ton fichier sectionmembre_acces.php :
  $_SESSION["membre"] = TRUE; 
  ...
} else { 
     $_SESSION["membre"] = FALSE; 
en effet, qu'il soit à TRUE ou FALSE, ta variable $_SESSION["membre"] sera définie et le isSet() retournera "vrai". Il te faut donc non seulement tester si elle est définie, mais également vérifier sa valeur (et accessoirement son type) :
if (!isset($_SESSION['membre']) && $_SESSION['membre'] === TRUE) 
Mais ceci ne devrait rien changer à ton message d'erreur qui est lui vraissemblement du à un espace ou un retour à la ligne, placé en dehors des balises <?php ?> avant le session_start de ta page acces.php

Nota si la page acces.php est inclue par une autre, il ne faut pas d'espace ou de retour à la ligne en dehors de balises php avant l'inclusion du fichier.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 959 Messages

10 mai 2007, 19:35

Ouai !, sa marche avec :
$id = $_SESSION["membreid"];

au lieu de
$_SESSION["membreid"] = $id;
(dans le fichier "sectionmembre_acces.php")

et
<?php
@session_start();
if (!isset($_SESSION['membre'])) {

@header ("Location: index.html");
    exit();

} 
?>
avec les "@" sinon sa génères des erreurs.. en tout cas avec free

le seul piti problème c'est que sa redirige pas...

Mais merci !

Encore pas tout à fais résolu mais sa ne serais tardé... :wink:

PS : Et pour se déconnecter alors ?? :?:

peut-être avec session_destroy() ?

Mammouth du PHP | 959 Messages

10 mai 2007, 22:44

trouver !! :
<?php
@session_start();

$_SESSION = array();

if (isset($_COOKIE[session_name()])) {
    @setcookie(session_name(), '', time()-42000, '/');
}

@session_destroy();

?>
<meta http-equiv="Refresh" content="2;URL=index.html">
<p>&nbsp;</p>
<center><b>Vous avez été déconnecté !</b></center>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 mai 2007, 08:27

Au lieu de cacher les erreurs sous le tapis en attendant de trouver l'aspirateur, et de se retrouver un jour avec un montagne de m**** au milieu du salon, il serait nettement plus judicieux de virer ces "@", de prendre le temps d'analyser les messages d'erreurs et de corriger que d'attendre que ca n'explose ;)

Si tu es chez free, pour que les sessions fonctionnent il te faut créer un dossier "sessions" à la racine de ton site pour qu'il puisse y gérer ses fichiers.. est-ce fait ?

Sinon quels sont les messages d'erreur que tu rencontres sur ces différentes fonctions ? :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 959 Messages

11 mai 2007, 13:48

a oui excuse moi, comme chui débutant php, je me suis trompé, pour
[session_name()] 
et
setcookie(session_name()
a la place de "session_name" j'ai mi membreid en croyant qu'il falait le remplacer, et quand j'ai vu qu'il y avait des message d'erreurs, j'ai mi des "@", il y avait forcement encore des messages d'erreurs..., j'ai alors décider de remettre "session_name" a la place de "membreid", et sa a marché, donc j'ai oublié de les enlever....
lol

Bé.... c'est encore un sujet résolu ! :wink:
Merci ! :D :D