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 :

problème de variable. [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut problème de variable.
    bonjour.

    je suis en train de créer une page permettant aux personnel de pointer les horaires auxquelles ils arrivent et quand ils partent

    voici ma table :
    presence (id_stagiaire, heure_arrivée, heure_depart, jour...)

    alors quand la personne arrive, elle s'identifie, puis ça enregistre donc son identifiant, l'heure et le jour, dans la table presence.

    et quand il part, c'est la meme chose, sauf pour l'heure de départ

    je vous montre mon code qui est séparé en 2 pages:

    login4.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
    <?
    session_start&#40;&#41;;
     
     "<b>".$date2 = date&#40;"d-m-y"&#41;;
     
    require&#40;"m_fonctions_utiles.php"&#41;;
    require&#40;"codes_oracle.php"&#41;; 
     
    m_Sql_connect_Oracle&#40;SERVEUR_ORACLE, UTILISATEUR_ORACLE, MOTDEPASSE_ORACLE, NOMBASE_ORACLE&#41;; 
     
    $id_stagiaire=$_POST&#91;'id_stagiaire'&#93;; 
     
    $sql_postulant="select id_stagiaire  from stagiaire where id_stagiaire='".$id_stagiaire."'";
     
    $req_postulant=m_Sql_Query_Oracle&#40;$sql_postulant&#41;; 
    $res= m_Sql_LigneRs_Oracle&#40;$req_postulant&#41;;
     
    if&#40;$res&#41;
    &#123;
     
    $_SESSION&#91;'id_stagiaire'&#93; = $id_stagiaire;
     
    m_Sql_Close_rs_Oracle&#40;$req_postulant&#41;;
    m_Sql_Close_cnx_Oracle&#40;&#41;; 
    header&#40;"Location&#58;pres.php"&#41;;
     
     
    &#125; 
     
     else
     &#123; 
     m_Sql_Close_rs_Oracle&#40;$req_postulant&#41;; 
     m_Sql_Close_cnx_Oracle&#40;&#41;; 
      header&#40;"Location&#58;presenceErreur.php"&#41;;
      &#125;
    et pres.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
    46
    47
    48
    49
    50
     
    <?
    if &#40;!session_id&#40;&#41;&#41;
     session_start&#40;&#41;;
     
     session_register &#40;'id_stagiaire'&#41;;
     session_register &#40;'heure_arrivee'&#41;;
     
     
     "<b>".$date2 = date&#40;"d-m-y"&#41;;
     
    require&#40;"m_fonctions_utiles.php"&#41;;
    require&#40;"codes_oracle.php"&#41;; 
     
    m_Sql_connect_Oracle&#40;SERVEUR_ORACLE, UTILISATEUR_ORACLE, MOTDEPASSE_ORACLE, NOMBASE_ORACLE&#41;; 
     
     
    $id_stagiaire=$_POST&#91;'id_stagiaire'&#93;;
    $_SESSION&#91;'id_stagiaire'&#93; = $id_stagiaire;
     
     
     
    $sql_postulant2="select *  from presence";
     
    $req_postulant2=m_Sql_Query_Oracle&#40;$sql_postulant2&#41;;
    $res2= m_Sql_LigneRs_Oracle&#40;$req_postulant2&#41;;
     
     
     
    if &#40;$id_stagiaire==$res2&#91;'id_stagiaire'&#93; and $date2==$res2&#91;'jour'&#93;&#41;
     
    &#123;
     
      $_SESSION&#91;'jour'&#93; = $date2;
     
    m_Sql_Close_rs_Oracle&#40;$req_postulant2&#41;;
    m_Sql_Close_cnx_Oracle&#40;&#41;; 
    header&#40;"Location&#58;presencedepart.php"&#41;;
    &#125; 
     
    else
     &#123; 
     m_Sql_Close_rs_Oracle&#40;$req_postulant2&#41;;
     m_Sql_Close_cnx_Oracle&#40;&#41;;
     header&#40;"Location&#58;presencearrivee.php"&#41;;
     
     
      &#125;
     
      ?>

    le fichier login4.php permet de s'identifier et il n'y a pas de soucis à ce niveau là.

    Le fichier pres.php permet de contrôler si le stagiaire a déjà pointé dans la journée dans ce cas 2 possibilités:
    ou il a déjà pointé et il se retrouve sur la page "presencearrivee.php",
    ou il n'a pas pointé et il se retrouve sur la page "presencedepart.php".

    Le soucis c'est que dans les 2 cas je me retrouve sur la page "presence arrivee.php".

    Pour vous aider à m'éclairer je peux vous dire que j'ai pratiqué quelques expériences:
    l'une d'entre elles à consister à remplacer le "header("Location:presencearrivee.php");"
    par un "echo $date2;
    echo $id_stagiaire;"

    et la date s'affiche mais pas l'identifiant du stagiaire donc c'est l'$id_stagiaire qui ne veut pas être recconnu alors que j'ai bien déclaré la variable: "$id_stagiaire=$_POST['id_stagiaire'];
    $_SESSION['id_stagiaire'] = $id_stagiaire;".

    Honnêtement je ne comprends pas pourquoi .

    Si quelqu'un peut m'aider ça m'aiderait beaucoup.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  2. #2
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Il y a pleins de choses étranges dans ton code comme : session_register, ou bien :

    $id_stagiaire=$_POST['id_stagiaire'];
    $_SESSION['id_stagiaire'] = $id_stagiaire;

    Pourquoi ne pas faire directement :

    $_SESSION['id_stagiaire'] = $_POST['id_stagiaire'] ; ????

    Regardes déjà du côté de session_register qui est complètement obsolète et mal utilisé ici.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    c'était justement là où j'étais en train de regarder je sais que c'est à ce niveau que le problème se pose mais je ne sais pas par quoi remplacer le session_register.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    sinon pour le

    $id_stagiaire=$_POST['id_stagiaire'];
    $_SESSION['id_stagiaire'] = $id_stagiaire;

    celà me servait pour ma requête que j'ai changé entre temps car il y avait plein de choses inutiles dans le doute, j'ai utilisé ce que tu m'a proposé mais ça donne le même résultat le contraire m'aurait d'ailleur étonné.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    je refait monter le sujet car vu que peu de personnes ont répondu mon post s'est retrouvé en queue.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    bon ben alors j'ai réussi à avancer un peu :
    C'était le
    $id_stagiaire=$_POST['id_stagiaire'];
    $_SESSION['id_stagiaire'] = $id_stagiaire;
    qui me faisait dec..... ma page je l'ai donc viré mais ma requête ne veut toujours pas m'envoyer à la page correspondante bien qu'elle prenne en compte l'id_stagiaire cette fois en fait si je fais juste après ma requête un
    ça m'affiche
    Resource id #431-01-068389
    et si je fais , ça m'affiche rien du tout.[/code]
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Donc si j'ai bien suivi, le probleme vient de cette ligne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if &#40;$id_stagiaire==$res2&#91;'id_stagiaire'&#93; and $date2==$res2&#91;'jour'&#93;&#41;
    pourrais-tu faire un affichage de $res2['jour'] et etre sur qu'ils soient "comparables" (c'est a dire de meme format)..
    de meme, verifie aussi que l'identifiant est correct (mais je pencherais plus pour la date)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    bon en fait cette ligne que tu viens de citer je l'ai viré car j'ai rechangé ma requête voilà à préent ce que donne mon code:

    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
     
    <?
    if &#40;!session_id&#40;&#41;&#41;
     session_start&#40;&#41;;
     
     session_register &#40;'id_stagiaire'&#41;;
     session_register &#40;'heure_arrivee'&#41;;
     
     
     "<b>".$date2 = date&#40;"d-m-y"&#41;;
     
    require&#40;"m_fonctions_utiles.php"&#41;;
    require&#40;"codes_oracle.php"&#41;;
     
    m_Sql_connect_Oracle&#40;SERVEUR_ORACLE, UTILISATEUR_ORACLE, MOTDEPASSE_ORACLE, NOMBASE_ORACLE&#41;;
     
    $sql_postulant2="select heure_arrivee  from presence where id_stagiaire='".$id_stagiaire."' and jour = '".$date2."'";
     
    $req_postulant2=m_Sql_Query_Oracle&#40;$sql_postulant2&#41;;
    $res2= m_Sql_LigneRs_Oracle&#40;$req_postulant2&#41;;
     
    if  &#40;$res&#41;
     
    &#123;
     
      $_SESSION&#91;'jour'&#93; = $date2;
     
    m_Sql_Close_rs_Oracle&#40;$req_postulant2&#41;;
    m_Sql_Close_cnx_Oracle&#40;&#41;;
    header&#40;"Location&#58;presencedepart.php"&#41;;
    &#125;
     
    else
     &#123;
     m_Sql_Close_rs_Oracle&#40;$req_postulant2&#41;;
     m_Sql_Close_cnx_Oracle&#40;&#41;;
     header&#40;"location&#58;presencearrivee.php"&#41;;
     &#125;
     
      ?>
    bon la requeête veut bien s'effectuer cette fois mais le problème c'est que dans TOUS les cas je me retrouve sur "presencearrivee.php" .[/code]
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Ca veut dire que la requete a bien ete executee.. C'est bien, mais ce qu'il faut c'est plutot compter le nombre de lignes retournees ( si c'est > 0, alors presencearrivee.php sinon presencedepart.php)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    ok j'ai remplacé le par
    Il est probable que celà vienne du fait que j'ai peut être mal formulé ma requête surtout que je l'ai beaucoup changé.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Ou sinon regarde si $res2[0] existe...
    enfin je sais pas trop, m_Sql_ a la place de mysql_ ca me deroute
    en tant normal j'aurais fait une requete du style SELECT COUNT(*)
    puis $row_..=mysql_fetch_array($res) et un test sur $row[0]

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    C'est bien ce que je craignais, je viens de tester la requête sous oracle, ça m'a affiché "impossible d'extraire les données de la table"
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    C'est ce que je suis tenté de faire aussi mais d'abord je veux comprendre pourquoi ma requête ne passe pas sous oracle.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    bon en fait sous oracle j'avais oublié de mettre les ''
    mais bon ça continue à ne rien m'afficher quand même.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 155
    Points : 65
    Points
    65
    Par défaut
    bon j'y suis arrivé finalement j'a réussi à arranger ma requête
    c'était ça qui faisait tout planter
    Sinon j'ai testé ton $res2>'0'.
    Il marche mais ce que j'avais avant marche également.
    Je profite de la possibilité de mettre une signature pour vous dire que si vous vez un problème dans votre code merci de ne pas me MP un forum n'est pas là pour rien.

    Je remercie également tous ceux qui me répondent sur ce forum

    Merci

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

Discussions similaires

  1. [VB.NET] Probléme de variable
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2005, 12h51
  2. [Debutant(e)]problème de variable d'environnement
    Par tolsam dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/08/2004, 20h08
  3. Problème de variable
    Par vp dans le forum Windows
    Réponses: 2
    Dernier message: 14/05/2004, 17h27
  4. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 18h41
  5. [servlet]problème de variable jamais nulle
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/03/2004, 10h31

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