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 :

pb avec un header


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut pb avec un header
    salut
    je souhaiterais que quand un personne entre un numero d'identification, qui existe dans la BDD mysql, ça emmene directement l'utilisateur vers une autre page
    bon, j'ai utlisé un header, mais ya quand meme un probleme..

    voici le code du petit formulaire :
    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
     
    ?
     
    session_start();
     
    if (!empty ($_POST['id_stagiaire']))
     {
     
    $_SESSION['id_stagiaire']= $_POST['id_stagiaire'];
     
     }
     
     
     
     
    echo "<html>
    <head>
    <body font bgcolor = #C0C0C0>
    <font face=papyrus >
    <b>
    <title>Identification</title></head>
     
    <body bgcolor=#99ccff>
     
    <table align=center border=2 bordercolor=white cellpadding=5>
     
    <h3 align=\"center\"><B>Veuillez vous enregistrer :</b></h3>
    <table align=\"center\" border=2 bordercolor=white cellpadding=5>
     <form method= 'post' action=login.php>
     
    <tr><td><font color='black' size=4>votre identifiant :</td><td><input type='text' name='id_stagiaire'></td></tr>
    <
    <tr><td colspan=2><center><input type='submit' value='ENTRER'></form></td></tr></FORM>
     
     
     
    </table>
    <br><br>
     
     
     
    </form></td></tr></CENTER>
     
     
    <font face =\"comic sans ms\">
     
    <tr><td colspan=2><center>
     
     
    </table>
    <br><br>
    </body>
    </html>";
     
    ?>

    puis le code en 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
     
     
    <html>
    <body font bgcolor = C0C0C0>
    <font face=papyrus >
    <b>
    </body>
    </html>
     
    <?
     
    session_start();
    session_id();
     
     
     
    $_SESSION['id_stagiaire']= $_POST['id_stagiaire'];
    $id_stagiaire = $_POST['id_stagiaire'];
     
     
     
     
     
    echo "<head> <title>Identification</title></head><body bgcolor=#99ccff>";
     
    $base=mysql_connect("localhost","root", "ko");
    mysql_select_db('ji', $base);
     $identification = mysql_query("SELECT id_stagiaire FROM stagiaire", $base);
     while ($valeur_ident = mysql_fetch_array($identification))  
     {  //met ces valeurs sous forme de tableau
     
      $id_stagiaire_mysql = $valeur_ident['id_stagiaire'];
     
     
      if ($id_stagiaire == $id_stagiaire_mysql)
      {
     
      header ("location : presence.php");
     
     }
     }
     echo "</body>";
    echo "</HTML>";
     
    ?>
    voilà thks

  2. #2
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    pour qu'un header fonctionne, il doit être réalisé avant toute sortie du buffer, hors tu le fais une fois l'entête envoyée, ça ne peut donc pas fonctionner.

    il faut mettre ton code php au tout début du script... et faire suivre ton header de exit()

    en plus ton html n'est pas valide du tout... tu fermes le body et le html avant le reste du script...

    un exemple de ce qui devrait être fait :
    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
     
    <?php
    // gestion de la session
    session_start();
    session_id();
     
    // recuperation de la superglobale
    // on met 0 par defaut si elle n'existe pas
    $id_stagiaire = (!isset($_POST['id_stagiaire']))?(0):($_POST['id_stagiaire']);
     
    // verification de l'identifiant
    $base=mysql_connect("localhost","root", "ko") or die ("erreur connexion base");
    mysql_select_db('ji', $base) or die ("erreur selection base");
     
    $identification = mysql_query("SELECT id_stagiaire FROM stagiaire", $base);
    if(!$identification) die (mysql_error());
    while ($valeur_ident = mysql_fetch_array($identification)) {  
     
       //met ces valeurs sous forme de tableau
       $id_stagiaire_mysql = $valeur_ident['id_stagiaire'];
     
       // si identifiant existant
       if ($id_stagiaire == $id_stagiaire_mysql) {
     
          // redirection
          header ("location : presence.php");
          exit();
       }
     
    }
    mysql_close();
     
    $_SESSION['id_stagiaire']= $id_stagiaire;
    ?>
    <html>
    <head>
    <title>Identification</title>
    </head>
    <body font bgcolor = C0C0C0>
    <font face=papyrus >
    <b>bienvenue !</b>
    </body>
    </html>
    voila ;-)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Par défaut
    Tu devrais utiliser la commande WHERE de mysql...

    genre : SELECT id_stagiaire FROM stagiaire WHERE id_stagiaire=$id_stagiaire

    puis tu controle le nombre de ligne résultée

  4. #4
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    Citation Envoyé par LarZuK
    Tu devrais utiliser la commande WHERE de mysql...

    genre : SELECT id_stagiaire FROM stagiaire WHERE id_stagiaire=$id_stagiaire

    puis tu controle le nombre de ligne résultée
    exact ;-)
    mais je me suis dit que c'était peut-être qu'une partie du code qu'il nous a donné... peut-être fait-il d'autres actions sur les champs retournés dans la foulée.

    [edit]oups, non en fait, puisqu'il ne réclame qu'un seul champs dans la requête [/edit]

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    et session_start doit être la première instruction avant tout autre, même avant tout espace...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    arf ca ne me redirige pas du tout vers la page "presence.php"

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    je ne veux juste que quand la personne entre son numero d'identifiant, et s'il existe dans la BDD, ça le redirige directement vers la page "presence.php"

  8. #8
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    je ne vois pas trés bien pourquoi ça ne fonctionne pas mais bon...

    donc pour résumer :
    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
     
    <?php
    // gestion de la session
    session_start();
    session_id();
     
    // recuperation de la superglobale
    // on met 0 par defaut si elle n'existe pas
    $id_stagiaire = (!isset($_POST['id_stagiaire']))?(0):($_POST['id_stagiaire']);
     
    // verification de l'identifiant
    $base=mysql_connect("localhost","root", "ko") or die ("erreur connexion base");
    mysql_select_db('ji', $base) or die ("erreur selection base");
     
    $identification = mysql_query("SELECT id_stagiaire FROM stagiaire WHERE id_stagiaire = ".$id_stagiaire, $base);
    if(!$identification) die (mysql_error());
     
    // si retour different de 0 donc existe deja
    $valeur_ident = mysql_num_rows($identification); 
    if ($valeur_ident != 0) {
       // redirection
       header ("location : presence.php");
       exit();
    }
    mysql_close();
     
    $_SESSION['id_stagiaire']= $id_stagiaire;
    ?>
    <html>
    <head>
    <title>Identification</title>
    </head>
    <body bgcolor="#C0C0C0">
    <font face="papyrus">
    <b>l'identifiant n'existe pas</b>
    </font>
    </body>
    </html>
    essaies ceci et dis-nous

  9. #9
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    est ce que ta page présence.php est dans le meme répertoire que la page que tu te trouves présentement?

    Et sinon..est ce que ton usager exist avec ce id_stagiaire...c'est p-e juste ca, ca ne rentre pas dans ton if donc ne fais pas l'instruction header

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    alors presence.php est bein dans le repertoire, puis numero d'identifiant est bien dans la BDD

    sinon pour le code, j'ai, au départ, la page login_test.php, puis ça me met directement sur la page login.php, donc en faite ça ne m'affiche rien
    ce sont 2 pages differentes.

    mais je pense qu'il faudrait que je les mette sur une meme page et faire un header vers "presence.php" (sur cette page donc)

    ça serait peut être mieux non?

    :

Discussions similaires

  1. [debutant]Pb avec les headers
    Par mikedavem dans le forum C
    Réponses: 2
    Dernier message: 09/04/2006, 10h24
  2. problèmes avec un header
    Par tioseb dans le forum Langage
    Réponses: 1
    Dernier message: 04/04/2006, 16h01
  3. Pb de redirect avec fonction header
    Par adlaf dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2006, 15h25
  4. Problemes avec les header informations
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 15/11/2005, 13h10
  5. Problème avec un HEADER
    Par Zebulonn dans le forum Langage
    Réponses: 4
    Dernier message: 19/10/2005, 13h56

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