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 :

Redirection en fonction de la page demandée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut Redirection en fonction de la page demandée
    Bonjour,

    Je suis sous Debian Lenny, avec un serveur LAMP

    J'ai mis en œuvre une authentification php avec redirection.

    Toutefois, j'aimerais que la redirection se fasse en fonction de la page qu'a demandé l'internaute.

    C'est à dire s'il tape http://bipbip.com il s'authentifie puis il se fait redirigé sur http://bipbip.com/index.php
    Mais s'il saisie http://bipbip.com/coyote/pamplemouse.php, il faut qu'il s'authentifie puis qu'il soit redirigé vers http://bipbip.com/coyote/pamplemouse.php

    Merci par avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Conserve dans une variable de session l'url demandée avant de faire ta redirection vers la page d'authentification.
    Une fois l'authentification validée, tu rediriges vers la page demandée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Merci sabotage pour ton aide.
    Tu as bien cerné le problème.

    étant débutant en php j'aurais voulu savoir si tu pouvais m'orienter vers une fonction ou autre chose qui réalise cela.

    Ou si tu avez un pti bout de code à titre d'exemple.

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    page au contenu restreint :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    session_start();
    if (!isset($_SESSION['login']) {
    $_SESSION['page_demandee'] = $_SERVER['REQUEST_URI'];
    header('Location: authentification.php');
    exit();
    }
    // contenu protégé
    et dans authentification.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (authentification réussie) {
       if  (isset($_SESSION['page_demandee']) {
                  header('Location: ' . $_SESSION['page_demandee']);
       }
       else {
                  header('Location: index.php');
       }
    }
    else {
       echo 'Authentification ratée';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Merci bien sabotage pour ton aide.
    Cependant, je n'arrive pas à intégrer ton code dans le mien,
    j'ai une multitude d'erreur :
    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
    <?php require_once('connexion.php'); ?>
    <?php
    /*
    -----------------------------------
    ------ SCRIPT DE PROTECTION -------
    DBProtect V1.2
    -----------------------------------
    */
     
    session_start(); // début de session
     
    if (isset($_POST['login'])){ // execution uniquement apres envoi du formulaire (test si la variable POST existe)
    $login = addslashes($_POST['login']); // mise en variable du nom d'utilisateur
    $pass = addslashes(md5($_POST['pass'])); // mise en variable du mot de passe chiffré à l'aide de md5 (I love md5)
     
    // 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 pass='$pass'"); // 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['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)
     
    header("Location:accueil.php"); // redirection si OK
    }
    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&prenom=$prenom");
    }
    ?>
    <html>
    <head>
    <title>AUTHENTIFICATION - DBProtect</title>
    <link href="styles.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <form action="" method="post" name="connect">
    <p align="center" class="titre"><strong>- : : : ESPACE SECURISE PAR DBProtect : : : -</strong></p>
    <p align="center" class="title">
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) { // Affiche l'erreur ?>
    <strong class="erreur">Echec d'authentification !!! &gt; login ou mot de passe incorrect</strong>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
    <strong class="reussite">D&eacute;connexion r&eacute;ussie... A bient&ocirc;t <?php echo $_GET['prenom'];?> !</strong>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
    <strong class="erreur">Echec d'authentification !!! &gt; Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page</strong>
    <?php } ?>
    </p>
    <p align="center"><u>Authentification s&eacute;curis&eacute;e utilisant :</u><br>
    - BDD MySQL<br>
    - Sessions PHP c&ocirc;t&eacute; serveur <br>
    - Empreintes des mot de passe stock&eacute;s par md5</p>
    <p align="center"><em><a href="lisez_moi.htm">lire les instructions d'installation &gt;&gt;</a><br>
    <a href="details.doc">lire le fonctionnement d&eacute;taill&eacute; &gt;&gt;</a></em></p>
    <table width="300" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
    <tr>
    <td width="50%""><div align="right">login</div></td>
    <td width="50%"><input name="login" type="text" id="login"></td>
    </tr>
    <tr>
    <td width="50%""><div align="right">mot de passe</div></td>
    <td width="50%"><input name="pass" type="password" id="pass"></td>
    </tr>
    <tr>
    <td height="34" colspan="2"><div align="center">
    <input type="submit" name="Submit" value="Se connecter">
    </div></td>
    </tr>
    </table>
    <p align="center"><a href="http://www.cv-webmaster.com" title="cv webmaster webdesigner développeur php/mysql">CV webmaster et auteur du script</a></p>
    </form>
    </body>
    </html>
    Pour info j'ai trouvé ce code sur le net et il est libre de droits.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quelles erreurs as-tu ?

    session_register() et session_unset() que tu utilises sont obsolètes, et contrairement a ce qu'indique le commentaire, ils n'enregistrent pas une session - les lignes peuvent être supprimées.

    Tu as des guillemets en trop un peu partout
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sécurité] Redirection vers la page demandée
    Par paradeofphp dans le forum Langage
    Réponses: 2
    Dernier message: 28/09/2006, 14h01
  2. Redirection en fonction de l'extension de l'URL
    Par Mr Hyde dans le forum Web
    Réponses: 6
    Dernier message: 21/09/2005, 18h39
  3. Redirection en fonction de l'extension de l'URL
    Par Mr Hyde dans le forum Autres langages pour le Web
    Réponses: 3
    Dernier message: 20/09/2005, 15h01
  4. Redirection en fonction d'un formulaire
    Par kmayoyota dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/03/2005, 12h14
  5. Redirection en fonction d'un critere Access
    Par alfigor dans le forum ASP
    Réponses: 4
    Dernier message: 23/04/2004, 10h34

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