IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pb de session (mais peut être pb IE7)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Par défaut Pb de session (mais peut être pb IE7)
    Bonjour,

    J'ai une page index.php contenant un formulaire avec 2 champs login / password et un bouton valider qui poste sur main.php (jusque là, rien de sorcier).

    Dans main.php, j'ai un session_start qui va bien. Je récupère si besoin (si les variables de session sont vide) les valeurs $_POST

    Dans main.php, j'ai aussi un lien qui pointe vers toto.php. Lequel toto.php contient un formulaire + bouton retour de type submit (sur main.php).


    Voilà globalement la description. Maintenant, ce qui est étrange.

    Sous Firefox, je m'identifie dans index.php, je clique sur le lien dans main.php et j'utilise le bouton retour (celui du navigateur ou de la souris). J'atterris correctement dans main.php

    Sous IE7, je m'identifie dans index.php, je clique sur le lien dans main.php et j'utilise le bouton retour (celui du navigateur ou de la souris). J'atterris dans une page 'La page Web a expiré'

    Si par contre, j'utilise le bouton Retour (du formulaire) de toto.php, j'arrive correctement à main.php.


    Quelqu'un voit-il ce qui coince ???

    Merci,

    Vincent

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Montre le code...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Par défaut
    CODE POUR LE FICHIER index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?php
     
    	//'--------------------------------------------------------------'
        //' PAS DE SESSIONS POUR L'INSTANT !
    	//'--------------------------------------------------------------'
     
    	//'--------------------------------------------------------------'
    	//' DEMARRAGE DE LA SESSION - TOUTE PREMIERE LIGNE...
    	//'--------------------------------------------------------------'
    	session_start();
     
    	//'--------------------------------------------------------------'
    	//' SI LA SESSION EXISTE DEJA, ON SE LOGGE SUR LA PAGE
    	//'--------------------------------------------------------------'
    	if(isset($_SESSION['UserIdentified'])) {
    		//session_unset();
    		//session_destroy();
      		header('Location: main2.php');
      		return;
    	}
     
    	//'--------------------------------------------------------------'
    	//' LA SECTION N'EXISTE PAS, ON CONTINUE COMME QUI RIGOLE
    	//'--------------------------------------------------------------'
    ?> 
     
     
    <-- ENSUITE, html classique (il y en a une tartine...
    -->
     
    <form name="frmMAIN" method="post" action="main2.php">
               	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                  	<tr>
                    <td class="pure_text_bold_black">LOGIN</td>
                    <td><input type="text" name="login" class="pure_text_dark" maxlength="20" size="20"></td>
                  	</tr>
                  	<tr>
                    <td class="pure_text_bold_black">PASSWORD</td>
                    <td><input type="password" name="password" class="pure_text_dark" maxlength="20" size="20"></td>
                  	</tr>
                  	<tr>
                    <td>&nbsp;<BR>&nbsp;</td>
                    <td><input name="btnOK" type="submit" class="pure_text_bold_black" id="btnOK" value="VALIDER"></td>
                  	</tr>
                	</table>
                </form>



    CODE POUR LE FICHIER main2.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    <?php
     
    	session_start();
     
     
     
    function GetMENU() {
     
    	//---------------------------------------------------------------------
    	// TEST DE L'EXISTENCE D'UNE SESSION. SI LA SESSION EXISTE, ON NE REFAIT
    	// PAS TOUT LE PATACAISSE DES TESTS.
    	//---------------------------------------------------------------------
     
    	if (!isset($_SESSION["UserIdentified"])) {
     
    		//---------------------------------------------------------------------
    		// EN CAS D'OUBLI DU LOGIN OU DU MOT DE PASSE
    		//---------------------------------------------------------------------
    		if ($_POST["login"] == '' OR $_POST["password"] == ''){
    		    echo '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">';
    		    echo '<tr>';
    		    echo '<td width="100%" colspan=1><font size="1" face="Verdana">';
    		    echo "Le login / password est obligatoire.";
    		    echo '</font></td>';
    		    echo '</tr>';
    			echo "</table>";
    			unset($_SESSION["UserIdentified"]);
    		    return;
    		}
     
    		//---------------------------------------------------------------------
    		// LE LOGIN EXISTE ???
    		//---------------------------------------------------------------------
    		require("config.txt");
    		$ReqSQL = "SELECT * FROM T_USERS WHERE LOGIN = '".$_POST["login"]."'";
    		$Req = mysql_query($ReqSQL);
    		$Res = mysql_num_rows($Req);
    		if ($Res == 0) {
    		    echo '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">';
    		    echo '<tr>';
    		    echo '<td width="100%" colspan=1><font size="1" face="Verdana">';
    		    echo "Identifiant inconnu.";
    		    echo '</font></td>';
    		    echo '</tr>';
    			echo "</table>";
    			unset($_SESSION["UserIdentified"]);
    		    return;
    		}
     
    		//---------------------------------------------------------------------
    		// LE PASSWORD EST-IL LE BON ???
    		//---------------------------------------------------------------------
    		else {
    			$Data = mysql_fetch_assoc($Req);
    			if($_POST["password"]!=$Data["PASSWORD"]) {
    			    echo '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">';
    			    echo '<tr>';
    			    echo '<td width="100%" colspan=1><font size="1" face="Verdana">';
    			    echo "Vérifiez votre mot de passe";
    			    echo '</font></td>';
    			    echo '</tr>';
    				echo "</table>";
    				unset($_SESSION["UserIdentified"]);
    			    return;
    			}
    		}
    	}
     
    	//---------------------------------------------------------------------
    	// SI ON EST LA, C'EST QUE LE USER EST IDENTIFIE
    	//---------------------------------------------------------------------
    	if ($_SESSION["UserIdentified"] != True) { 
    	  	$_SESSION["UserIdentified"] = True;
    		$_SESSION["Login"] = $Data["login"];
    		$_SESSION["IdUser"] = $Data["IDT_USERS"];
    		$_SESSION["Level"] = $Data["LEVEL"];
    	}
    	if ($_SESSION["Level"] == 0) {
    		require("menu_level_1.html");
    	}
    	elseif ($_SESSION["Level"] == 1) {
    		echo "AA";
    	}
    	elseif ($_SESSION["Level"] == 2) {
    		echo "AAA";
    	}
    	elseif ($_SESSION["Level"] == 3) {
    		echo "AAAA";
    	}
    }


    CODE POUR le sous menu qui emmène vers TOTO, en pur html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="toto.php">TEST</a>



    Le contenu de toto.php commence aussi par un session_start



    Merci,

    Vincent

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Perso, je ne vois pas... mais je ne suis pas un expert de ces choses là

Discussions similaires

  1. Réponses: 15
    Dernier message: 19/09/2007, 18h46
  2. Requête peut être simple, mais compliquée pour moi !
    Par xfree dans le forum Langage SQL
    Réponses: 11
    Dernier message: 17/08/2007, 16h09
  3. Peut - être Bête .mais primordiale
    Par widom dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/05/2007, 11h21
  4. boucle for next ? peut être mais comment
    Par caro2552 dans le forum VBA Access
    Réponses: 11
    Dernier message: 07/02/2007, 20h26
  5. mysql_fetch_array mais ça vient peut être de la requête
    Par JackBeauregard dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/06/2006, 03h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo