Problème sessions

bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007 - 11 août 2007 à 15:33
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 11 août 2007 à 19:05
Bonjour,
  J'ai un problème, mon script fonctionne correctement, les membres peuvent s'inscrire, et la connexion fonctionne également puisque lorsque je tape un pseudo ou un mot de passe incorect, je ne suis pas dutout redirigé vers l'espace membre, par contre, si le pseudo et le mot de passe sont corrects alors, je suis redirigé sur la page membre.php mais tout de suite, le script me renvoi sur la page de connexion: connect.php.

Voici le code installer sur membre.php (espace membre)
<?
                session_start();
               
                if(!isset($_SESSION['login'])) {
                echo '<SCRIPT LANGUAGE="JavaScript">
                document.location.href="http://loto-kado.reseau-games.com/connect.php" </SCRIPT>';
                exit;
                }
                ?>
                 <?php echo 'Bonjour ',$_SESSION['login'],'

';
        ?>
        Déconnexion

Merci de votre aide

15 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 15:40
Bonjour,

fort logiquement, si ton javascript s'écrit, c'est que la condition est vraie, donc que tu n'as pas encore mis $login en session !
revérifie ta page de login.

à+
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 15:43
PS: un session_start oublié sur ton login.php peut-être :)
0
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 15:45
Non, justement, il y ai, voici mon code de ma page connect2.php:
<?
    require("conf.php");
   
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
    extract($_POST);
    // on recupère le password de la table qui correspond au login du visiteur
    $sql = "select password from membres_tbl where login='".$login."'";
    $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
   
    $data = mysql_fetch_assoc($req);
   
    if($data['password'] != $password) {
    echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="connect.php" </SCRIPT>';
    exit;
    }
    else {
    session_start();
    $_SESSION['login'] = $login;
   
    echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="membres/membre.php" </SCRIPT>';
    }
    }
    else {
    echo '<SCRIPT LANGUAGE="JavaScript">
    document.location.href="connect.php" </SCRIPT>';
    exit;
    }
    ?>
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 15:55
Alors:
1) fais des redirections php avec header('Ocation: membres.php'), c'est beaucoup plus propre
2) peut-être que sur membres.php, il y aurait un autre bout de script que tu n'as pas montré et ce serait lui qui redirigerait ?
3) est-ce que tes sessions marchent ? chez Free, il faut créer un répertoire "sessions" à la racine.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 16:09
Je suis chez 1&1, mais en faite, quand le login ou mot de passe est faut, on ne va même pas jusqu'à l'espace membre, on est redirigé directement sur la page de connexion, donc sa fonctionne, seulement, quand les identifiants sont bons, on est redirigé directement sur la page de connexion quand même...

Je vais essayer la redirection en php !
Merci

Non, j'ai essayé, mais cette fois, sa ne redirige plus du tout
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 16:18
cf php.net pour savoir comment utiliser la fonction header().

T'aurais pas mis un include de connexion.php sur membres.php ? ou alors ta détection des "bons" mots de passe est mauvaise...
enlèves tes redirections et fais des tests pour voir ce qui se passe à chaque foi
à+
0
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 16:20
Est-il possible que ce soit parce que le session_start ne soit pas en entête de page sur les pages de l'espace membre ?
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 16:27
non, du moment qu'il est appelé avant tes variables de session c'est bon.
0
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 16:30
d'accord, donc dans la conditions de mon script, comment dois-je metre le header ?  Avec le echo devant, entre "" ?

Merci
0
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 16:32
PS: si vous voulez voir, c'est: http://loto-kado.reseau-games.com (adresse d'essais)

Merci pour vos réponse
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 16:58
0
bazonnet Messages postés 8 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2007
11 août 2007 à 17:15
le header ne fonctionne pas, sa ne me redirige pas du tout
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 17:20
Tu envoies surement du html avant le header, il ne faut rien envoyer du tout avant cette ligne (aucun echo et pas d'espace avant <?php tout en haut de la page).

Sinon c'est que tu es redirigé sur la même page alors tu t'en rends pas compte.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2007 à 18:34
Salut
evangun.... session_start envoi un cookie, donc faut pas de echo avant ! pas d'envoi de texte !

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
11 août 2007 à 19:05
Ha oui ? c'est vrai désolé !
Je l'ai toujours mis au début de mes pages par habitude, mais depuis le temps je ne me souvenais même plus que c'était une obligation :p
0
Rejoignez-nous