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 après identification


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Redirection après identification
    Je travaille sur une application , et je dois creer une page d'identification , chaque utilisateur selon son matricule sera dirigé vers une page spécifique , j'ai fait le formulaire html , saisie matricule et mot de passe mais je bloque au niveau de la redirection , je suis débutante en php .
    Merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour et bienvenu sur le forum.

    Regarde par ici :
    http://php.developpez.com/faq/?page=...ts_redirection

    Réfléchis cependant bien a ton système : qu'est ce qui va empêcher un utilisateur d'accéder a une page qui ne lui est pas destiné en saisissant l'adresse directement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut redirection
    tu ajoutes nom du fichier :
    echo "<meta http-equiv=\"Refresh\" content=\"0;URL=nom_du_fichier.php\">";

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    j'ai essayé avec le header , mais j'ai l'erreur "Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\authentification.php:2) in c:\program files\easyphp1-8\www\authentification.php " normalement il ne doit pas y avoir de sortie avt le header , qlq'un pourrait m'expliquer concretement ce que cela vous dire ?
    @houyass
    pourquoi
    echo "<meta http-equiv=\"Refresh\" content=\"0;URL=nom_du_fichier.php\">";?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Points : 43
    Points
    43
    Par défaut
    Tu as probablement affiché quelque chose avant de faire ta redirection avec "header".
    Si tu as toujours des problèmes, fais voir le code de ta page où tu fais ta redirection.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    C'est bon j'ai utilisé le meta equiv , ça résoud le problème , merci pour votre aide , je penserai à ta question sabotage , c'est pertinent
    merci encore

    pour le header je n'avais rien affiché avant , si vous parler d'echo ou print , mais j'a récupéré des données du navigateur je pense que c'est à cause de ça , voila mon code , j'ai essayé aussi le require mais ça marche pas

    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
    <html>
    <head>
    <title>gestion factures</title>
    </head>
    <body>
    <?php
    require("conf.php");
    //connexion serveur
    $db_connect=mysql_pconnect($hote,$login ,$mot_passe) ;
    //connexion base de données
    mysql_select_db($mabase) or die ("pas de connection"); 
    $var=$_POST['matricule'];
    $pass=$_POST['passe'];
    //echo "bonjour &nbsp;" .$var ."<br>";
    $req ="SELECT * FROM utilisateur where matricule= $var ";
    $query="SELECT  FROM utilisateur WHERE passe= $pass " ;
    $res = mysql_query($req) ;
    $row = mysql_fetch_row($res);
    $mdp=$row[2];
    $nom=$row[3];
    $url=$row[4];
    $erreur=mysql_error();
    $num_rows = mysql_num_rows($res);
     
    //test resultat de la requete $res
    if ($num_rows==0) {
      echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$erreur1\">" ;}//message erreur
    elseif ($pass==$mdp){switch ($var)
         {
    	 case 1 : echo "<meta http-equiv=\"Refresh\" content=\"0;URL=admin.php\">";
         case 2  : echo "<meta http-equiv=\"Refresh\" content=\"0;URL=secretaire.php\">";
    	 case 3   :echo "<meta http-equiv=\"Refresh\" content=\"0;URL=comptable.php\">";
     
    	 }}
    	 else  {echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$erreur2\">";} 
    		mysql_close($db_connect);
    ?>
    </html>

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    L'erreur du header vient du code en rouge.

    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
    <html>
    <head>
    <title>gestion factures</title>
    </head>
    <body>
    <?php
    require("conf.php");
    //connexion serveur
    $db_connect=mysql_pconnect($hote,$login ,$mot_passe) ;
    //connexion base de données
    mysql_select_db($mabase) or die ("pas de connection");
    $var=$_POST['matricule'];
    $pass=$_POST['passe'];
    //echo "bonjour &nbsp;" .$var ."<br>";
    $req ="SELECT * FROM utilisateur where matricule= $var ";
    $query="SELECT FROM utilisateur WHERE passe= $pass " ;
    $res = mysql_query($req) ;
    $row = mysql_fetch_row($res);
    $mdp=$row[2];
    $nom=$row[3];
    $url=$row[4];
    $erreur=mysql_error();
    $num_rows = mysql_num_rows($res);
    
    //test resultat de la requete $res
    if ($num_rows==0) {
    echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$erreur1\">" ;}//message erreur
    elseif ($pass==$mdp){switch ($var)
    {
    case 1 : echo "<meta http-equiv=\"Refresh\" content=\"0;URL=admin.php\">";
    case 2 : echo "<meta http-equiv=\"Refresh\" content=\"0;URL=secretaire.php\">";
    case 3 :echo "<meta http-equiv=\"Refresh\" content=\"0;URL=comptable.php\">";
    
    }}
    else {echo "<meta http-equiv=\"Refresh\" content=\"0;URL=$erreur2\">";}
    mysql_close($db_connect);
    ?>
    </html>
    Ceci devrait suffire :

    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
     
    <?php
    require("conf.php");
    //connexion serveur
    $db_connect=mysql_pconnect($hote,$login ,$mot_passe) ;
    //connexion base de données
    mysql_select_db($mabase) or die ("pas de connection");
    $var=$_POST['matricule'];
    $pass=$_POST['passe'];
    //echo "bonjour &nbsp;" .$var ."<br>";
    $req ="SELECT * FROM utilisateur where matricule= $var ";
    $query="SELECT FROM utilisateur WHERE passe= $pass " ;
    $res = mysql_query($req) ;
    $row = mysql_fetch_row($res);
    $mdp=$row[2];
    $nom=$row[3];
    $url=$row[4];
    $erreur=mysql_error();
    $num_rows = mysql_num_rows($res);
     
    //test resultat de la requete $res
    if ($num_rows==0) {
    header("Location:".$erreur1);exit;
    }//message erreur
    elseif ($pass==$mdp){switch ($var)
    {
    case 1 : header("Location:admin.php");exit;
     
    case 2 : header("Location:secretaire.php");exit;
    case 3 : header("Location:comptable.php");exit;
     
    }}
    else {header("Location:".$erreur2);exit;}
    mysql_close($db_connect);
    ?>

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/09/2012, 17h24
  2. redirection après l'identification
    Par erehcab dans le forum Zend_Acl & Zend_Auth
    Réponses: 17
    Dernier message: 25/08/2010, 21h59
  3. [Joomla!] problème de redirection apres identification sur frontend en local
    Par dadal56 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 12/01/2010, 16h17
  4. sauvegarder url pour redirection après identification
    Par aurelientp dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 05/03/2008, 10h33
  5. [Strategie]Redirection après un formulaire
    Par kyser91 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/03/2004, 15h15

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