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 :

Eviter le renvoi des données après un clic sur "page précédente"


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut Eviter le renvoi des données après un clic sur "page précédente"
    Salut,

    Voilà chaque pages de mon site vérifie si la variable $_SESSION['admin'] existe. Si elle n'existe pas c'est que l'utilisateur n'est pas autorisé à voir le contenu et celui-ci est automatiquement redirigé sur la page de connexion index.php.

    Voici le script en début de page :

    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
    require_once("fonctions.php");
    
    session_start();
    
    
    
    if(!isset($_SESSION['admin'])){
    	
     	header('Location: index.php');
    
    
    }
    
    else{
    
    ...afficher la page...
    
    }
    Le problème c'est que j'ai remarqué qu'en faisant "page précédente", la page demande de valider le renvoi des données via Firefox.
    => voir screen
    J'aimerais éviter de cliquer à chaque fois sur renvoyer quand je vais à la page précédente.

    J'ai remarqué qu'en enlevant cette ligne, il n'y a plus besoin de cliquer sur "Renvoyer" mais m'a page n'est plus protégée

    merci à vous !

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Ton formulaire d'identification doit pointer vers une page étant uniquement chargée de vérifier la validité de l'utilisateur, si l'utilisateur est bon, alors tu rediriges vers la page à laquelle il a accès, sinon tu rediriges vers le formulaire de login.

  3. #3
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut
    Oui, c'est ce que j'ai fait avec la page verifLogin.php dont voici le code. Le formulaire de connexion renvoi l'utilisateur vers cette page, qui renvoi elle même vers la page d'accueil si l'utilisateur est valide.

    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
    <?php
     
    //connexion a la base
     
    require_once("fonctions.php");
    $link = mysql_connect(HOST, USER, PASS);
    mysql_select_db(BASE, $link);
     
     
    // On démarre la session
    session_start();
    $loginOK = false;  // cf Astuce
     
    // On n'effectue les traitement qu'à la condition que
    // les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
     
      extract($_POST);  // je vous renvoie à la doc de cette fonction
     
      // On va chercher le mot de passe afférent à ce login
      $sql = "SELECT * FROM login WHERE pseudoLogin = '".addslashes($login)."'";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
     
      // On vérifie que l'utilisateur existe bien
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
     
        // On vérifie que son mot de passe est correct
        if ($password == $data['passLogin']) {
          $loginOK = true;
        }
      }
    }
     
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['id'] = $data['idLogin'];
      $_SESSION['pseudo'] = $data['pseudoLogin'];
      $_SESSION['pass'] = $data['passLogin'];
      $_SESSION['nom'] = $data['nomLogin'];
      $_SESSION['prenom'] = $data['prenomLogin'];
      $_SESSION['admin'] = $data['adminLogin'];
     
      header('Location: index1.php');
     
     
    }
    else {
      echo 'Une erreur est survenue, login ou mot de passe incorrect ! Attention aux majuscules !';
    }
    ?>
    Mais si je fais la vérification avec le $_SESSION['admin'] au début de chaque page du site c'est pour éviter qu'un utilisateur arrive à accéder à la page protégée en rentrant simplement la bonne adresse url.

    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
    require_once("fonctions.php");
     
    session_start();
     
     
     
    if(!isset($_SESSION['admin'])){
     
     	header('Location: index.php');
     
     
    }
     
    else{
     
    ...afficher la page...
     
    }
    Merci !

Discussions similaires

  1. Perte des données après une clic sur bouton
    Par bihakia89 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 15/05/2012, 18h04
  2. Redirection après 5 secondes sur la page précédente
    Par Tidus159 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/05/2008, 16h01
  3. Réponses: 9
    Dernier message: 03/11/2006, 11h30
  4. Récuperer des données aprés formatage
    Par WELCOMSMAIL dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 21/04/2006, 11h56
  5. [VBA-E] afficher des données apres saisie dans cellule
    Par user0505 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/04/2006, 15h04

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