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

PHP & Base de données Discussion :

Problème redirection multiple avec les sessions [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut Problème redirection multiple avec les sessions
    Bonjour,

    Je suis actuellement entrain de développer un site Web en PHP/Mysql.
    J'attaque la partie identification avec les sessions.
    Après avoir lu quelques docs, l'identification fonctionne.

    L'authentification ne se fait pas sur toute les pages mais que sur 2 ou 3.

    La page d'accueil de mon site utilise 3 frameset:

    1) la bannière en flash
    2) la barre de menu (avec les différents boutons)
    3) La partie où s'affichera le contenu de chaque page.

    Si l'internaute clique sur le bouton A du menu, la page dauthentification s'affiche.
    En cas de réussite, il est redirigé vers la page A correspondante. Normal me direz vous.

    Là où je coince, c'est si l'internaute clique sur le bouton B du menu, il s'identifie sur cette meme page de connexion mais la redirection se fait vers la page A, Or la logique voudrait que ce soit la page B.

    Ma question est: comment puis-je faire pour que l'internaute soit rediriger vers la bonne page où il s'est identifié?

    Merci par avance

  2. #2
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    il faut que t'arrives à savoir sur quel bouton à cliquer ton utilisateur A ou B et ensuite, dans ta fonction de redirection, le rediriger en conséquence...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Merci de ta réponse.

    Je veux bien moi comment puis-je procéder?

  4. #4
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    ben...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <head>
    </head>
    <body>
    <a href="index.php?from=lien1">Lien 1</a> | <a href="index.php?from=lien2">Lien 2</a> | <a href="index.php?from=lien3">Lien 3</a>
    <?php
    if (isset($_GET["from"])){
    	echo 'Vous avez cliqué sur le '.$_GET["from"];
    }
    ?>
    </body>
    </html>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    A force d'etre dessus je ne vois pas mon erreur, j'ai appliqué ton code mais j'ai encore un souci.

    Une fois la saisi du login et mdp et click sur connexion il me charge la page d'accueil.... mais par contre si je clique sur les boutons FAQ et Telechargements il me redirige bien sur la page respective tout en conservant ma session.
    Ce que je voudrais réaliser c'est qu'au moment de m'identifier il m'envoi directement sur la page concernée et non pas la page d'accueil.

    Donc je résume ce que j'ai fais:

    1) Dans ma partie "menu", j'ai remplacer les liens des boutons par "connexion.php?from=faq.php" et "connexion.php?from=telechargements.php"

    2) Ensuite dans ma page Connexion.php, où il ya tous les codes d'exécution de la session + le formulaire d'authentification, voici mon code:
    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 require_once('../../scripts/session/connexion.php'); ?>
    <?php
    session_start(); 
     
    if (isset($_GET["from"])){
     
    header("Location:$_GET[from]");
    }
     
     
    if (isset($_POST['login'])){ 
    	$login = $_POST['login']; 
    	$mot_de_passe = $_POST['mot_de_passe']; 		
     
     
    mysql_select_db($database, $db);
    $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND mot_de_passe='$mot_de_passe'"); // requête sur la base administrateurs
    $verif = mysql_query($verif_query, $db) or die(mysql_error());
    $row_verif = mysql_fetch_assoc($verif);
    $utilisateur = mysql_num_rows($verif);
     
     
    	if ($utilisateur) {	
    	    session_register("authentification"); 		
     
    		$_SESSION['niveau_utilisateur'] = $row_verif['niveau_utilisateur']; 		$_SESSION['nom'] = $row_verif['nom']; 
    		$_SESSION['prenom'] = $row_verif['prenom']; 		$_SESSION['login'] = $row_verif['login']; 
    		$_SESSION['mot_de_passe'] = $row_verif['mot_de_passe']; 
     
     
    header("Location:$_GET[from]");
     
     
     
    }
     
    	else {
    		header("Location:connexion.php?erreur=login"); 	}
    }
     
     
    // GESTION DE LA Déconnexion
    if(isset($_GET['erreur']) && $_GET['erreur'] == 'delog'){ 
    $prenom = $_SESSION['prenom']; session_unset("authentification");
    //header("Location:index.php?erreur=delog");
    }
    ?>
    Merci de ce que vous pourrez faire

  6. #6
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    l'attribut action de ton formulaire de connexion doit également contenir l'adresse de retour pour la redirection.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form action="connexion.php?from=<?php echo $_GET["from"] ?>" method="post">
    ...
    </form>
    Attention! maintenant, dans ton code actuel, tu dois traité ton formulaire avant toute redirection

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Tout d'abord merci de m'apporter ton aide.

    J'ai remodifié mon code, du coup dès que je clique sur "connexion" il me renvoit sur une page avec cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Forbidden
    You don't have permission to access /fusion_site/site/FR/pages/<br /><b>Notice</b>: Undefined index: from in <b>C:/Program Files/EasyPHP 2.0b1/www/fusion_site/site/FR/pages/connexion.php</b> on line <b>99</b><br /> on this server.


    MAis la session fonctionne toujours.
    Petite précision je travaille en localhost.

    Comment faire pour qu'il reconnaisse mon "from" de l'action de mon formulaire?

  8. #8
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    En fait, il y a deux messages d'erreur dans ton message.
    L'un est envoyé par Apache (le serveur web)
    Forbidden
    You don't have permission to access /fusion_site/site/FR/pages/<br />

    Et ensuite PHP qui t'envoie une notice :
    <b>Notice</b>: Undefined index: from in <b>C:/Program Files/EasyPHP 2.0b1/www/fusion_site/site/FR/pages/connexion.php</b> on line <b>99</b><br /> on this server.

    Il dit juste que la variable "from" n'existe pas. Pour éviter ce genre de notice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if (isset($_GET["from"])){
     $f = $_GET["from"];
    }else{
     $f = '';
    }
    <form action="connexion.php?from=<?php echo $f; ?>" method="post">
    ...
    </form>
    ?>

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Ok donc là je n'ai plus le message d'erreur de tout à l'heure mais il me redirige toujours vers ma page index.php. Bizarre ke même.

    VOici mon code à propos du Form:
    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
    <?php
    if (isset($_GET["from"])){
     $f = $_GET["from"];
    }else{
     $f = '';
    }
    ?>
    <form action="connexion.php?from=<?php echo $f; ?>" method="post">
     
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur  ?>
          <span class="essai1">Echec </span>    <?php } ?>
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "déconnexion")) { // Affiche l'erreur ?>
          <span class="essai2">Déconnexion </span>    <?php } ?>
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "inconnu")) { // Affiche l'erreur ?>
         <H4>Veuillez vous identifier pour accéder au contenu sécurisé.</H4>
    	 	<?php } ?>
     
    	<TABLE>
    		<TR>
    			<TD ><P><b>Identifiant :</b></P></TD>
    			<TD ><INPUT type="text" name="login" value=""/></TD>
    		</TR>
    		<TR>
    			<TD ><P><b>Mot de passe :</b></P></TD>
    			<TD ><INPUT type="password" name="mot_de_passe" value=""/></TD>
    		</TR>	
    		<TR>
    			<TD><INPUT type="submit" name="connexion" value="connexion"/></TD>
     
    		</TR>									
    	</TABLE>
     
    	</FORM>

  10. #10
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    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
     
    <?php require_once('../../scripts/session/connexion.php'); ?>
    <?php
    session_start(); 
    /* Ceci te renvoie directement là d'où tu viens.
    if (isset($_GET["from"])){
     
    header("Location:$_GET[from]");
    }
    */		
     
    if (isset($_POST['login'])){ 
    	$login = $_POST['login']; 
    	$mot_de_passe = $_POST['mot_de_passe']; 		
     
     
    mysql_select_db($database, $db);
    $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND mot_de_passe='$mot_de_passe'"); // requête sur la base administrateurs
    $verif = mysql_query($verif_query, $db) or die(mysql_error());
    $row_verif = mysql_fetch_assoc($verif);
    $utilisateur = mysql_num_rows($verif);
     
     
    	if ($utilisateur) {	
    	    session_register("authentification"); 		
     
    		$_SESSION['niveau_utilisateur'] = $row_verif['niveau_utilisateur']; 		$_SESSION['nom'] = $row_verif['nom']; 
    		$_SESSION['prenom'] = $row_verif['prenom']; 		$_SESSION['login'] = $row_verif['login']; 
    		$_SESSION['mot_de_passe'] = $row_verif['mot_de_passe']; 
     
     
    header("Location:$_GET[from]");
     
     
     
    }
     
    	else {
    		header("Location:connexion.php?erreur=login"); 	}
    }
     
     
    // GESTION DE LA Déconnexion
    if(isset($_GET['erreur']) && $_GET['erreur'] == 'delog'){ 
    $prenom = $_SESSION['prenom']; session_unset("authentification");
    //header("Location:index.php?erreur=delog");
    }
    ?>

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Alors maintenant;

    Si l'utilisateur click sur bouton A et qu'il s'identifie correctement alors
    il est bien redirigé sur la page A mais s'il veut aller sur page B alors ça lui remet la page de connexion.

    Comment ça se fait que la session n'est plus conservée d'une page à l'autre?

    Autre souci , si l'utilisateur n'est pas connecté avant il avait le message suivant qu'il doit se connecter or maintenant ce message à disparu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    session_start(); // On relaye la session
    if (session_is_registered("authentification")){ 
    }
    else {
    header("Location:connexion.php?erreur=intru");
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
         <H4>Veuillez vous identifier pour accéder au contenu sécurisé.</H4>

  12. #12
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Désolé mais il va falloir que tu me mettes un peu plus de code que ce qu'il y a...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Je résume, j'ai remis les choses à plat, et c'est que j'ai pas été assez clair dans mes explications:

    Voici le code de mon fichier Menu.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
    <html>
    <head>
    </head>
    <body>
     
    <a href="index.php?from=faq.php">FAQ</a>
    <br />
    <p><a href="index.php?from=telechargements.php">Téléchargements</a></p>
    <?php
    if (isset($_GET["from"])){
    	echo 'Vous avez cliqué sur le '.$_GET["from"];
    }
    ?>
     
    </body>
    </html>
    Voici le code de mon 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
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <?php require_once('connexion.php'); ?>
    <?php
     
     
    session_start(); // début de session
     
     
     
     
    if (isset($_POST['login'])){ // execution apres envoi du formulaire
    	$login = $_POST['login']; // mise en variable du nom d'utilisateur
    	$mot_de_passe = $_POST['mot_de_passe']; 
     
    // requete sur la table administrateurs (on récupère les infos de la personne)
    mysql_select_db($database_dbprotect, $dbprotect);
    $verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND mot_de_passe='$mot_de_passe'"); // requête sur la base administrateurs
    $verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
    $row_verif = mysql_fetch_assoc($verif);
    $utilisateur = mysql_num_rows($verif);
     
     
    	if ($utilisateur) {	// On test s'il y a un utilisateur correspondant
    	    session_register("authentification"); // enregistrement de la session
     
    		// déclaration des variables de session
    		$_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur)
    		$_SESSION['nom'] = $row_verif['nom']; // Son nom
    		$_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom
    		$_SESSION['login'] = $row_verif['login']; // Son Login
    		$_SESSION['mot_de_passe'] = $row_verif['mot_de_passe']; // Son mot de mot_de_passee (à éviter)
     
    		header("Location:$_GET[from]");
    }
    	else {
    		header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu
    	}
    }
     
     
    // GESTION DE LA Déconnexion
    if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un "contexte" de déconnexion
    $prenom = $_SESSION['prenom']; // On garde le prénom en variable pour dire au revoir (soyons polis :-)
    session_unset("authentification");
    header("Location:index.php?erreur=delog");
     
    }
     
    if (isset($_GET["from"])){
     $f = $_GET["from"];
    }else{
     $f = '';
    }
     
     
    ?>
    <html>
    <head>
    <title>Authentification </title>
     
    </head>
    <body>
    <form action="index.php?from=<?php echo $f; ?>" method="post" name="connect" class="Style6">
      <p align="center" class="Style7"><strong>      
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur  ?>
          <span class="Style5">login ou mot de mot_de_passee incorrect</span>    <?php } ?>
     
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
          <span class="Style2">D&eacute;connexion r&eacute;ussie</span>    <?php } ?>
          <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
          <span class="Style5">Aucune session n'est ouverte.</span>
     
          <?php } ?></strong></p>
      <p align="center" class="Style10"> Connexion</p>
     
     
     
      <div align="center" class="Style7">  
        <table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">
          <tr>
            <td><table width="400"  border="0" cellpadding="10" cellspacing="0" bgcolor="#eeeeee">
              <tr>
                <td width="50%"><span class="Style7">LOGIN</span></td>
                <td width="50%"><input name="login" type="text" id="login"></td>
              </tr>
              <tr>
                <td width="50%"><span class="Style7">MOT DE PASSE </span></td>
                <td width="50%"><input name="mot_de_passe" type="password" id="mot_de_passe"></td>
              </tr>
              <tr>
                <td height="34" colspan="2"><div align="center">
                    <input type="submit" name="Submit" value="Se connecter">
                </div></td>
              </tr>
            </table></td>
          </tr>
        </table>  
     
    </form>
    </body>
    </html>
    et voici le code de ma page FAQ.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
    <?php require_once('connexion.php'); ?>
    <?php
    session_start(); // On relaye la session
    if (session_is_registered("authentification")){ // vérification sur la session authentification (la session est elle enregistrée ?)
    // ici les éventuelles actions en cas de réussite de la connexion
     
    echo "Bonjour".$_SESSION['nom']."!";
     
    }
    else {
    header("Location:index.php?erreur=intru"); // redirection en cas d'echec
    }
     
    ?>
    <html>
    <head>
    </head>
    <body>
     
    <p align="left" ><a href="index.php?erreur=logout"><strong>Vous d&eacute;connecter</strong></a></p>
     
    <p align="left" ><a href="menu.php"><strong>Retour Menu</strong></a></p>
    </body>
    </html>
    Idem pour telechargements.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
    <?php require_once('connexion.php'); ?>
    <?php
    session_start(); // On relaye la session
    if (session_is_registered("authentification")){ // vérification sur la session authentification (la session est elle enregistrée ?)
    // ici les éventuelles actions en cas de réussite de la connexion
     
    echo "Bonjour".$_SESSION['nom']."!";
     
    }
    else {
    header("Location:index.php?erreur=intru"); // redirection en cas d'echec
    }
     
    ?>
    <html>
    <head>
    </head>
    <body>
     
    <p align="left" ><a href="index.php?erreur=logout"><strong>Vous d&eacute;connecter</strong></a></p>
     
    <p align="left" ><a href="menu.php"><strong>Retour Menu</strong></a></p>
    </body>
    </html>
    Pour le moment je rencontre 2 principaux soucis (c'est déjà pas mal):
    1) Si on clique sur FAQ dans le menu, et que l'on s'identifie correctement, on est bien redirigé vers la page faq.php mais si on fait retour menu pour aller cliquer sur Téléchargements alors la session n'est pas conservée (affichage de l'écran de connexion).

    2) Si l'utilisateur correctement identifié veut se déconnecter, la déconnexion fonctionne , avertie l'utilisateur , Affiche l'écran de connexion mais s'il souhaite se reconnecter, on a perdu l'url d'où il provient, donc il est dans l'impossibilité de se reconnecter.


    Un grand merci pour ceux qui peuvent m'aider.

  14. #14
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Qu'y a t'il dans connexion.php ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Connexion.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // paramètres de connexion
    $hostname = "localhost"; // nom de votre serveur
    $database= "test"; // nom de la base de données
    $username = "root"; // nom d'utilisateur 
    $password = ""; // mot de passe 
    $db = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); 
    ?>

  16. #16
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    tu me files ta Db?

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Comme base de donnée concernant le problème, ya une juste une base de donnée test qui s'appelle test.

    avec une table "utilisateurs", contenant 3 champs "login", "mot_de_passe" et niveau_utilisateur".

  18. #18
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Voilà les 2 fichiers qui ont été corrigés.

    Essaie de toujours mettre le session_start en première ligne de ton script. (ce que j'ai fais dans le fichier connexion.php)

    Ensuite dans index.php, j'ai ajouté un test d'existence de $_GET["from"] et un test d'existence de la session utilisateur.

    Si cette dernière existe, tu es renvoyé sur la page que tu souhaites...

    voilà, voilà ...

    ++
    Fichiers attachés Fichiers attachés

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Points : 59
    Points
    59
    Par défaut
    Je te remercie bcp pour ton aide.

    Cependant,
    1) Si l'utilisateur correctement identifié veut se déconnecter, la déconnexion fonctionne , avertie l'utilisateur , Affiche l'écran de connexion mais s'il souhaite se reconnecter, on a perdu l'url d'où il provient, donc il est dans l'impossibilité de se reconnecter.
    ( A la rigueur ça je peux peut-être m'arranger pour que cela affiche le message de "déconnexion réussie" puis une redirection vers la page d'accueil.)
    A moins que tu es une meilleure idée?

    2ème et dernière chose Si l'utilisateur clik sur FAQ, par exemple alors qu'il n'y a aucune session d'ouverte, cela affiche l'écran de connexion mais mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:index.php?erreur=intru");
    qui devrait afficher le message "Aucune session n'est ouverte , veuillez vous identifier!" au-dessus de l'écran de connexion,ne s'exécute pas......
    Qu'en penses-tu?

  20. #20
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Citation Envoyé par Spanish_ Voir le message
    Je te remercie bcp pour ton aide.

    Cependant,
    1) Si l'utilisateur correctement identifié veut se déconnecter, la déconnexion fonctionne , avertie l'utilisateur , Affiche l'écran de connexion mais s'il souhaite se reconnecter, on a perdu l'url d'où il provient, donc il est dans l'impossibilité de se reconnecter.
    ( A la rigueur ça je peux peut-être m'arranger pour que cela affiche le message de "déconnexion réussie" puis une redirection vers la page d'accueil.)
    A moins que tu es une meilleure idée?
    Il n'est pas impossible de se reconnecter vu que par défaut il est renvoyé sur la page d'index.

    Citation Envoyé par Spanish_ Voir le message

    2ème et dernière chose Si l'utilisateur clik sur FAQ, par exemple alors qu'il n'y a aucune session d'ouverte, cela affiche l'écran de connexion mais mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:index.php?erreur=intru");
    qui devrait afficher le message "Aucune session n'est ouverte , veuillez vous identifier!" au-dessus de l'écran de connexion,ne s'exécute pas......
    Qu'en penses-tu?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:index.php?erreur=intru");
    Cette partie fonctionne correctement et le message affiché est "Aucune session n'est ouverte"

    Je crois qu'avant de poster les bug de ton application, tu devrais chercher un peu plus... reste logique avec toi même et face à un problème reconstitue étape par étape la procédure de ton code.

    Bon courage!

    ++

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de syntaxe avec les session
    Par kuja2053 dans le forum Langage
    Réponses: 2
    Dernier message: 07/08/2007, 00h10
  2. Réponses: 5
    Dernier message: 18/10/2006, 16h20
  3. problème avec les sessions
    Par DiverSIG dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2005, 11h01
  4. Problèmes avec les Sessions
    Par alexthomas dans le forum Langage
    Réponses: 5
    Dernier message: 20/11/2005, 21h53
  5. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 15h19

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