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 :

Condition qui échoue


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut Condition qui échoue
    Bonjour,
    J'ai mis une conditions s'appliquant seulement en fonction d'une valeur contenue dans ma base de donnée.

    Voici donc mon code ou à la ligne 45 se situe ma condition.

    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
    56
    57
    58
    59
    60
    61
    62
    <?php
    session_start();
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $fonction = $bdd->prepare('SELECT fonction FROM `membres`');
    ?>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    		<title>SchoolManager - Menu</title>
    		<meta name="description" content="Réseau Social Privé"/>
    		<meta name="keywords" content="navigation, menu, responsive, border, overlay, css transition" />
    		<?php include("favicon.php"); ?>
    <link rel="stylesheet" type="text/css" href="msg.css" />
    <link rel="stylesheet" type="text/css" href="actu.css" />
    <script type="text/javascript" src="main.js"></script>
    <link href='https://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'>
    <script type="text/javascript" src="minichat.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <div id="menu" style="margin-left: 570px"><ul>
             <li>
                    <a class="mainTopNav__item" href="/menu.php">Menu</a>
                </li>
                 <li>
                    <a class="mainTopNav__item" href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>">Mes Infos</a>
                </li>
                </ul>
             </div>
             <center>
                <div id="name">
    <div id="user">
        <a href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>"><FONT color="black"><h3><?php echo $_SESSION['pseudo']; ?></h3></FONT></a>
        <div id="separating" style="border-top-width: 2px; border-top-style: solid; border-top-color: rgb(190, 190, 190); margin-bottom: 10px;"></div>
        <a href="/deconnexion.php"><FONT color="black">Déconnexion</FONT></a>
    </div>
        </center>
    	</head>
    	<body>
    		<div id="bandepub" style="background-color: #F49B01;">
    			<center>
    <br />
    <?php
    if ($fonction == 1) { 
    echo '<p style="text-align: center"><font color="white">Menu :</font></p> <center><div id="separating" style="width: 200px; border-top-width: 2px; border-top-style: solid; border-top-color: rgb(190, 190, 190); margin-bottom: 10px;"></div><a href="/cantine.php" style="color: black; text-decoration: none;">Cantine</a><br /><a href="/absencesreception.php" style="color: black; text-decoration: none;">Absences</a></center>';
    } ?>
    <div id="bandemsg"></div>
    </center>
        </section>
    	<br />
    <script>
    	setInterval('load_messages()', 1000);
    	function load_messages() {
    		$('#bandemsg').load('load_messages.php');
    	}
    </script>
        </body>
    	<footer>
    		<?php include("footer.php"); ?>
    	</footer>
    </html>
    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    à quelle moment exécutes-tu la requête ?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Je ne sais pas voila le problème en fait je voudrais qu'il affiche ou non en fonction de l'utilisateur donc lorsque la page est ouverte il regarde si l'utilisateur à la fonction 1.

  4. #4
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 148
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    $bdd->prepare ne sera jamais egal à 1, ca sera false ou PDOStatement.

    prepare comme son nom l'indique "prépare" une requête, derrière il faut exécuter le statment retourné puis faire un fetch pour recuperer la ou les valeurs retournée par le select.

    La doc PDO est tres bien faite.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Rombutucraft Voir le message
    Je ne sais pas ...... il regarde si l'utilisateur à la fonction 1.
    C'est qui, "il" ?
    Et si "tu ne sais pas", qui va savoir à ta place ?
    si tu ne comprends même pas ce que tu fais, tu n'iras pas loin.
    Tu fais une condition sur quelque chose sans même savoir ce que c'est...

    Le MINIMUM à faire est que TU LISES LA DOC. et les TUTOS qu'on t'a (déjà !) proposés :


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $fonction = $bdd->prepare('SELECT fonction FROM `membres`');
    Plus loin on voit : $_SESSION['id'].
    Donc, je suppose que c'est pour CET utilisateur ?

    1/ Alors pourquoi cet id n'apparait pas dans la requête ?
    2/ Comment fait-on pour récupérer un champ dans une TABLE SQL en PDO (=> voir la DOC !)
    Dernière modification par Invité ; 21/05/2016 à 13h42.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ok merci pour vos gentils réponse mais si je ne sais pas ce que je fais c'est peut être due à mon age.
    Et le il c'est ma requête que je n'arrive pas à executer parce que je ne sais pas comment faire et l'informatique je le connais très très bien niveau dépannage mais la programmation php je viens de l'apprendre il n'y a pas longtemps donc si il y a des erreurs c'est normal.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Non,
    car on apprend à tout age.

    Mais ça demande plus ou moins d'effort.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    A oui et à 10 ans vous croyez que c'est facile. Réponse : non car je pense que ce que je fais est déjà très très bien c'est juste que je ne sais pas comment exécuter ma requête selon mes besoins.

  9. #9
    Invité
    Invité(e)
    Par défaut
    LOL,
    tu n'as pas indiqué ton age sur ton profil

    On ne peut pas le deviner.

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Et vous savez que j'ai eu 20/20 en programmation je suis le seul à l'avoir eu de toute la classe parce que depuis mes 8 ans je programme et répare des pc. (Pour info j'ai appris tous seul mon père n'est pas informaticien et n'est pas ingénieur en informatique il n'as rien a voir avec l'informatique.)

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Oui donc revenons à notre condition.
    Comment faire pour que mon code lorsque la page est ouverte il regarde si la fonction de l'utilisateur inscrite dans le base de donnée soit 1 affiche ou non mes éléments html

  12. #12
    Invité
    Invité(e)
    Par défaut
    Voilà comment récupérer l'info qui t'intéresse :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $req = "SELECT fonction FROM membres WHERE id = :id";
    $sql = $bdd->prepare($req); // préparation de la requête
    $sql->execute( array(
    	':id' => $_SESSION['id'] // execution de la requête, avec les paramètre nécessaires
    	) );
    $row = $sql->fetch(); // 1 seule ligne -> fetch()
    $fonction = $row['fonction']; // récupération de la valeur du champ 'fonction'

    N.B. En effet, tes codes sont déjà suffisamment aboutis pour qu'on pense que tu étais plus agé
    J'y penserai pour la prochaine fois

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Et à propos de ma logique qui à été abordé dans d'autres sujet oui j'ai été suivi par une orthophoniste qui m'a déclarer que j'avais un problème de logique en mathématique ce qui explique mes 0/20 ou 4/20. Vous comprenez.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Vu.
    Désolé, j'avais cru que tu faisais preuve de "mauvaise volonté".
    Ce qui n'est clairement pas le cas.

    Donc, je me montrerai plus pédagogue à l'avenir.

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ma page est blanche rien ne s'affiche et voici mon nouveau 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    session_start();
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $req = "SELECT fonction FROM membres WHERE id = :id";
    $sql = $bdd->prepare($req); // préparation de la requête
    $sql->execute( array(
      ':id' => $_SESSION['id'] // execution de la requête, avec les paramètre nécessaires
      ) );
    $row = $sql->fetch(); // 1 seule ligne -> fetch()
    $fonction = $row['fonction']; // récupération de la valeur du champ 'fonction'
    ?>
    <html>
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title>SchoolManager - Menu</title>
        <meta name="description" content="Réseau Social Privé"/>
        <meta name="keywords" content="navigation, menu, responsive, border, overlay, css transition" />
        <?php include("favicon.php"); ?>
    <link rel="stylesheet" type="text/css" href="msg.css" />
    <link rel="stylesheet" type="text/css" href="actu.css" />
    <script type="text/javascript" src="main.js"></script>
    <link href='https://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'>
    <script type="text/javascript" src="minichat.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <div id="menu" style="margin-left: 570px"><ul>
             <li>
                    <a class="mainTopNav__item" href="/menu.php">Menu</a>
                </li>
                 <li>
                    <a class="mainTopNav__item" href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>">Mes Infos</a>
                </li>
                </ul>
             </div>
             <center>
                <div id="name">
    <div id="user">
        <a href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>"><FONT color="black"><h3><?php echo $_SESSION['pseudo']; ?></h3></FONT></a>
        <div id="separating" style="border-top-width: 2px; border-top-style: solid; border-top-color: rgb(190, 190, 190); margin-bottom: 10px;"></div>
        <a href="/deconnexion.php"><FONT color="black">Déconnexion</FONT></a>
    </div>
        </center>
      </head>
      <body>
        <div id="bandepub" style="background-color: #F49B01;">
          <center>
    <br />
    <?php
    if ($fonction == 1) { 
    echo '<p style="text-align: center"><font color="white">Menu :</font></p> <center><div id="separating" style="width: 200px; border-top-width: 2px; border-top-style: solid; border-top-color: rgb(190, 190, 190); margin-bottom: 10px;"></div><a href="/cantine.php" style="color: black; text-decoration: none;">Cantine</a><br /><a href="/absencesreception.php" style="color: black; text-decoration: none;">Absences</a></center>';
    } ?>
    <div id="bandemsg"></div>
    </center>
        </section>
      <br />
    <script>
      setInterval('load_messages()', 1000);
      function load_messages() {
        $('#bandemsg').load('load_messages.php');
      }
    </script>
        </body>
      <footer>
        <?php include("footer.php"); ?>
      </footer>
    </html>

  16. #16
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Ok merci.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "SELECT fonction FROM membres WHERE id = :id";
    1/ Dans ta TABLE "membres", l'index est-il bien "id" ? (car j'ai mis ça "par défaut" -> à toi de l'adapter)

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    que signifie index c'est la valeur avec clef primaire qui a l'auto increment si oui et bien c'est belle et bien id

  19. #19
    Invité
    Invité(e)
    Par défaut
    Oui, je parlais bien de l'index auto-incrémenté.

    Tu peux afficher les erreurs SQL avec :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $req = "SELECT fonction FROM membres WHERE id = :id";
      try {
    	$sql = $bdd->prepare($req);
    	$sql->execute( array(
    		':id' => $_SESSION['id']
    		) );
    	$row = $sql->fetch(); // 1 seule ligne -> fetch()
      } catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    $fonction = $row['fonction'];
    as-tu un message d'erreur qui s'affiche ?
    Si oui, lequel ?

  20. #20
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Points : 50
    Points
    50
    Par défaut
    Voici une erreur incompréhensible pour moi : Erreur SQL : SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.membres' doesn't exist
    a pars que j'ai compris que quelque chose n'existe pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SQL-Server] sql server express + php connexion qui échoue
    Par if_zen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/07/2006, 22h41
  2. [VB6] Upload fichier xls qui échoue (missing css file)
    Par pom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/06/2006, 14h10
  3. [vb.net] Condition qui ne fonctionne pas
    Par dyree dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2006, 09h55
  4. [C#]Authentification qui échoue : a chaque fois "Login inco
    Par The_revival dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/04/2006, 22h36
  5. Réponses: 8
    Dernier message: 07/12/2005, 14h44

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