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 :

rediriger une page php


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut rediriger une page php
    bonjour
    en fait je suis bloquée au niveau d un code tt bidon , j ai une page d authentification dont voila le code (le code fonctionne bien)

    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
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
     <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = "SELECT * FROM authentification WHERE pseudo = '$login' AND passe = '$passwd' ";
    // On fait la recherche du couple login/password directement :)
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
      if ( mysql_num_rows($query) === 1 ) {
          echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
      } else {
          echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
      }
    ?>
    <?php
     
    mysql_close(); // Déconnexion de MySQL
    ?>
    en fait je voudrai rediriger ma page vers une autre page quand tt se passe dans l authentification sinn que ke reste dans la meme page au cas contraire

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    comme ca?


    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
     
    <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = "SELECT * FROM authentification WHERE pseudo = '$login' AND passe = '$passwd' ";
    // On fait la recherche du couple login/password directement 
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) === 1 ) {
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    } else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
    header('location:./authentification.php');
    die();
    }
    ?>
    <?php
     
    mysql_close(); // Déconnexion de MySQL
    ?>

  3. #3
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonjour! Peut être avec ça:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) === 1 ) {
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    header("Location: mapage.php");
    exit();
    } else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
    header('location:./authentification.php');
    exit();
    }

    Arf, on été plus rapide quoi moi^^

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut
    non j'ai deja essayé avce la meme chose ca na pas marché :s
    je suis bloquée la ;s
    aides moi stp

  5. #5
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bon alors on va un peu bidouiller...

    Code php : 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
     
    <?php
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) === 1 ) {
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    ?>
    <script language="javascript"
     type="text/javascript">
     
    window.location.replace("mapage.php");
     
    </script>
    <?php
    } 
    else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
     
    }

  6. #6
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    qu'est ce qui n'a pas marché exactement, peu etre faudrait til vérifier que la condition est bien remplie

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    non mais c'est normal que ça marche pas... Le header doit être en tête de page, sans html avant, impossible par conséquent de le caser dans un if...

    Header, doit être la première ligne de code php... Moi aussi je me suis planté sur ce coup

  8. #8
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    euhhh tu est sur obito, parceque moi j'en utilise de cette manière et ca marche parfaitement

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut
    Abito ca marche pas ton code ,
    <script language="javascript"
    type="text/javascript"></script>
    window.location.replace("interface.php");</script>
    ........
    je pense qu 'il se plante a ce niveau
    window.location.replace("interface.php");</script>
    deja qu il me le mette pas en couleur c esyt bizzard

  10. #10
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Heu ben il me semble en tout cas, enfin la je parle td de cours, mais on nous avait bien dit de le placer en tête de page, avant tout le html etc...

    Après entre les cours théoriques et la pratique, y a quelques différence... J'ai jamais vraiment essayé de placer un header location dans un if faut dire...

    Mais sinon ca peut venir de l'hebergeur qui accepte pas le redirection, donc la faut d'abord tester en local, si ça marche ou pas...

    ben alors:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script language='Javascript'>document.location='mapage.php'</script>";

  11. #11
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    en faite je pense que les header dont tu parles sont surement du type
    <?php
    include("inc1/header.html");

    ?>

  12. #12
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Heu peut être bien gerald

    sinon peut être essayer ça (je viens de faire une petite recherche, tu as raison Gerald, on peut mettre un header location où on veut...)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: mapage.php');
    exit();

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut
    je comprend rien quoique j utilise marche pas ,
    voila mon code :s
    si tu regardes un truc qui marche pas je suis la :d

    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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
     <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = "SELECT * FROM authentification WHERE pseudo = '$login' AND passe = '$passwd' ";
    // On fait la recherche du couple login/password directement :)
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
      if ( mysql_num_rows($query) === 1 ) {
     // window.location="interface.php";
         /* header('location:./interface.php');
    	die();*/
    	 //echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    	 header('Status: 301 Moved Permanently', false, 301);
    header('Location: test.php');
    exit();
      } else {
          echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
    	  header('location:./authentification.php');
    	die();
     
      }
     
     
    mysql_close(); // Déconnexion de MySQL
    ?>

  14. #14
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Code php : 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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
    <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = 'SELECT * FROM authentification WHERE pseudo = "'.$login.'" AND passe = "'.$passwd'" ';
    // On fait la recherche du couple login/password directement
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) == 1 ) {
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: mapage.php');
    exit();
    } 
    else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
    header('location: authentification.php');
    exit();
     
    }
     
     
    mysql_close(); // Déconnexion de MySQL
    ?>

    Ca marche même pas comme ça?

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 153
    Par défaut
    nn meme comme ca ca marche pas
    en fait ce qui se passe quand le code est bon il m affiche le message "identification ok" mais il me dirige pas vers ma page que je veux
    je te met le message qu il m affcihe
    Identification ok
    Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\caf\verif_auth.php:1) in D:\wamp\www\caf\verif_auth.php on line 17

    Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\caf\verif_auth.php:1) in D:\wamp\www\caf\verif_auth.php on line 18

    merci bcp Mr

  16. #16
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Oui ben oui, c'est une des erreurs que je viens de lire sur internet car le header mieux vaut le mettre au début...

    Donc la je me dis que le javascript peut vraiment être une solution...

    Code php : 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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
    <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = "SELECT * FROM authentification WHERE pseudo = '$login' AND passe = '$passwd' ";
    // On fait la recherche du couple login/password directement
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) === 1 ) {
    echo "<script language='Javascript'>document.location='page.php'</script>";
     
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
     
     
    } else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
     
     
    }
     
     
    mysql_close(); // Déconnexion de MySQL
    ?>

    Es-ce que tu travail en local ou bien directement sur l'hebergeur? Car chez free par ex, les header location ne marchent pas très bien lorsqu'on les met en plein milieu d'un code

  17. #17
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    supprime tout les espace que tu peu avoir dans ton code et met


    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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
    <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = 'SELECT * FROM authentification WHERE pseudo = "'.$login.'" AND passe = "'.$passwd'" ';
    // On fait la recherche du couple login/password directement
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
    if ( mysql_num_rows($query) == 1 ) {
    echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: mapage.php');
    exit();
    } 
    else {
    echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
    header('Location: authentification.php');
    exit();
     
    }

  18. #18
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Si je puis me permettre bien que grande débutante...

    sur ces histoires de header php, j'avais buté pas mal de temps il y a quelques jours encore...

    et j'ai fini par régler mon problème en mettant un bout de code php encadré par sa condition en tout début de "copie", avant le head quoi...
    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
     
    <?php
     
    //en cas de redirection, toujours avant head
    //si l'utilisateur a cliqué annul, on va voir ailleurs...
    	if(isset($_POST['annul'])){
    			header('Location: index.php');
    	}
    ?>
    //sous-entendu sinon on charge tout
    <html>
    <head></head>
    <body>
    blabla du html
    <?php
    //la suite de mes différentes cas d'événements user
    //dont évidemment le bouton qui permettra le clic
    //qui donnera le  $_POST['annul'] ci dessus...
    ?>
    blabla du html
    </body>
    </html>
    Du coup, je dis peut-être une bêtise, mais rien ne t'empêche de caser comme ça toutes tes conditions de redirection de la page dès le début, par une série de if ou de elseif à coup de variables flags... Une fois que tu as bien fini ton algo lol...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  19. #19
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    En clair, et pour repartir de ton script nita...
    Tu rajoutes la variable $ok dans ta condition où tout est ok (elle fera office de flag, peu importe la valeur qu'elle reçoit en réalité, l'important, c'est qu'elle existe)... et
    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
     
    //tout en haut de ta page, enfin de la page dont tu veux t'en aller en tout cas, avant n'importe quelle balise <html>
    //tu entres ça
    <?php
    <if (isset($ok)){
      header("Location: mapage.php");
    }
    ?>
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("p2i");?>
     
     
     <?php
    $login = $_POST['login']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    $sql = "SELECT * FROM authentification WHERE pseudo = '$login' AND passe = '$passwd' ";
    // On fait la recherche du couple login/password directement :)
    $query = mysql_query($sql);
     
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
      if ( mysql_num_rows($query) === 1 ) {
          $ok='ok';
          echo 'Identification ok'; // Si la requète retourne 1, alors c'est que c'est bon.
      } else {
          echo 'Identification erronée'; // Sinon, c'est que c'est un mauvais login ou mot de passe.
      }
    ?>
    <?php
     
    mysql_close(); // Déconnexion de MySQL
    ?>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  20. #20
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut il me semble ...
    qu'un echo empeche un header puisqu'il fait lui même une sortie ...

    essaye de le commenter ?

    nimbus

Discussions similaires

  1. Redirigé une page html vers une page php
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/08/2006, 12h24
  2. Réponses: 11
    Dernier message: 11/03/2005, 17h41
  3. problème debodybackground dans une page php
    Par bertrand_declerck dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/02/2005, 22h39
  4. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25
  5. connection a mssql a partir d'une page php
    Par jean_marc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2003, 14h24

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