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 :

Supprimer <td></td> en fonction d'une session.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut Supprimer <td></td> en fonction d'une session.
    Bonjours,

    J'ai un code ci dessous qui me permet de supprimer un <td></td>, il fonctionne trés bien, mais seulement pour UN seul <td></td>, avait vous d'autre solutions a me proposer ? Ou m’expliquer à ce que je comprenne pourquoi ? Je pense que c'est le fait d’utiliser plusieurs fois $_SESSION['droits'] : Mais sans certitudes.

    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
    69
    70
    71
    72
    73
    74
    75
    76
    <?php
     
    if (!((int)$_SESSION['droits'] & ajouter_capteur)) 
     
      {
     
     
           echo 'Vous ne pouvez pas accéder à cette page !<br />';
     
     
      }
     
      else { ?>	<div><td class="plusTd button"></td><div><?php }
    // je chache le td de classe plusTd Qui vient juste aprés. 
    ?>
     
                    <td class="plusTd3 button"></td>
    				<td class="plusTdvalid button"></td>
     
                </tr>
                <tr class="headingTr">
                    <td>Index du capteur</td> 
                    <td><center>Nom du capteur</center></td> 
                    <td><center>Identifiant du capteur</center></td> 
                    <td><center>Type du capteur</center></td> 
                    <td><center>Table correspondant au capteur</center></td>
                    <td><center>Supprimer le capteur<input id="checkAll" type="checkbox" style="text-align:center;width:20%;"/></center></td>
    				<td><center>Edition&nbsp;</center></td>
     
     
     
                </tr>
    			<?php
    //Affichage des informations et encodage JSON
    $data= array();
    while ($tab_contenu=mysql_fetch_array($reponse)){
     
    	$data[] = array($tab_contenu[0], $tab_contenu[4], $tab_contenu[1], $tab_contenu[2], $tab_contenu[3]);
     
     
    ?> 
     
     
                <tr class="contenu">
                    <td><center><input type="hidden" name="ar_index"><?php echo $tab_contenu['Arexx_index']; ?></input></center></td> 
    <td><center><input type="hidden" name="arexxname[]"><?php echo $tab_contenu['Arexx_Name']; ?></input></center></td> 
    <td><center><input type="hidden" name="arexxid[]"><?php echo $tab_contenu['Arexx_Id']; ?></input></center></td> 
    <td><center><input type="hidden" name="arexxtype[]"><?php echo $tab_contenu['Arexx_Type']; ?></input></center></td> 
    <td><center><input type="hidden" name="arexxtable[]"><?php echo $tab_contenu['Arexx_Table']; ?></input></center></td>
                        <section title=".squaredFour">
                        <!-- .squaredFour -->
                            <div class="squaredFour">
                                <td style="text-align:center;width:20%;"><input type="checkbox" id="squaredFour" name="champ[]" value="<?php echo $tab_contenu['Arexx_index']; ?>" /></td> 
                                <label for="squaredFour"></label> 
                            </div>
                        <!-- end .squaredFour -->
                        </section>
    									<?php
     
    if (!((int)$_SESSION['droits'] & modifier_capteur)) 
     
      {
     
     
           echo 'Vous ne pouvez pas accéder à cette page !<br />';
     
     
      }
     
      else { ?><div><td class="controlTd"></td><div><?php }
     
    // je chache le td de classe controlTd Qui vient juste aprés seulement celà ne fonctionne pas. 
    ?>
     
                    <td class="controlTd1"><button class="btn btn-danger" type="button">Annuler</button></td>
                </tr>
    Merci à tous

  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
    // je chache le td de classe plusTd Qui vient juste aprés.
    Je ne comprends pas ce que tu veux faire. Le <td> avec la classe plus Td est avant cette phrase, pas après.

    De plus, pourquoi as-tu un <div> qui se ballade la ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    Bonjour et merci
    Alors en fait je veut tout simplement masquer ce <td>. Le div était pour tester.
    Je veut le masquer en utilisant la session :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    if (!((int)$_SESSION['droits'] & ajouter_capteur)) {
           echo 'Vous ne pouvez pas accéder à cette page !<br />';
    }
    else { ?>	<div><td class="plusTd button"></td><div><?php }
    Ce code là fonctionne mais faut que je me déconnecte et reconecte à chaque fois de plus j'ai plusieurs <td> à masquer en fonction de $_SESSION or ce code fonctionne qu'une seule fois !
    Merci

  4. #4
    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
    que je me déconnecte et reconecte à chaque fois
    a chaque fois que quoi ?
    décris nous precisement ton problème sinon on n'y arrivera pas.

    Je ne comprends pas bien ton code : les droit sont inscrits dans des constantes (ajouter_capteur) ou dans la session ($_SESSION['droits']) ?
    Que contiennent ces deux éléments et a quoi correspondent-ils ?
    Et pourquoi tu fais un (int) ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    J'ai établis un systèmes de sessions.

    en haut de la page j'ai donc définis mais constantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php session_start();
    define ('ajouter_capteur', 0x01); // Nous définissons les constantes de droits
    define ('modifier_capteur', 0x02); // Une constante = un droit
    define ('supprimer_capteur', 0x08); // 
    define ('ajouter_groupe', 0x10);
    define ('modifier_groupe', 0x20);
    define ('supprimer_groupe', 0x40);
    define ('ajouter_user', 0x80);
    define ('modifier_user', 0x100);
    define ('supprimer_user', 0x200);
    ?>
    Voilà ce que contient $droits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(isset($_POST['Nom'])) // Si le formulaire a été validé, on peut effectuer les actions PHP
    {
     
            $nom = $_POST['Nom']; // Le nom du groupe
     
            if( $_POST['ajouter_capt'] == 'ajouter_capt_oui')  // Si dans le formulaire, on a indiqué que ce groupe pouvait ajouter un capteur...
            {
                    $droits |= ajouter_capteur; // On ajoute la permission dans la variable $droits
            }
                                                    ## Mêmes actions ci-dessous avec toutes les constantes déclarer en haut de page  ##
    Tout celà fonctionne trés bien : Si tout en haut de la page j'écris :

    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
     
     
    <?php session_start();
     
     
    define ('ajouter_capteur', 0x01); // Nous définissons les constantes de droits
    define ('modifier_capteur', 0x02); // Une constante = un droit
    define ('supprimer_capteur', 0x08); // 
    define ('ajouter_groupe', 0x10);
    define ('modifier_groupe', 0x20);
    define ('supprimer_groupe', 0x40);
    define ('ajouter_user', 0x80);
    define ('modifier_user', 0x100);
    define ('supprimer_user', 0x200);
     
     
      if (!((int)$_SESSION['droits'] & ajouter_capteur)) 
     
      {
     
            echo 'Vous ne pouvez pas accéder à cette page !<br />';
     
            exit;
     
      }
     
    ?>
    Quand j'arrive sur cette page si lors de l'ajout mon groupe je n'est pas accepter l'option "ajouter_capteur" le méssage echo s'affiche, sinon j'ai accés à la page.
    Cela fonctionne trés bien or je veut ne pas bloquer TOUTE la page, mais seulement certaines parties de mon tableau, notamment ces fameux <td> comment dois-je m'y prendre ?
    j'ai essayais le code que j'ai mis dans mon dernier message, or à chaque fois que j'actualise ma page ça ne marche pas, il faut que je reconnecte et reconnecte afin de pouvoir voir ou pas ce fameux <td>, de plus si j'ajoute ce code sur un autre <td> plus bas, ben celà ne fonctionne pas. Cette solution fonctionne que pour UN seul <td>.

    Comment puis-je procéder ? Ou que dois-je modifier ?

    Notez que dans la condition, ajouter_capteur est la constante qui s'occupe du droit pour ajouter un capteurs par éxemple.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Comme à ton habitude, tu nous balances des bouts de code, et du blabla qui, au lieu de nous éclairer, ne fait qu'épaissir le brouillard de tes "explications" fumeuses......

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $droits |= ajouter_capteur; // On ajoute la permission dans la variable $droits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if (!((int)$_SESSION['droits'] & ajouter_capteur))
    Alors ? C'est $_SESSION['droits'] ou $droits ?

    N.B. Pour ceux qui, comme moi, se sont demandé comment fonctionne l'opérateur |= :
    Dernière modification par Invité ; 08/03/2015 à 06h39.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    Ah ! c'est bien !

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/11/2007, 18h05
  2. Réponses: 29
    Dernier message: 27/07/2006, 18h28
  3. Réponses: 3
    Dernier message: 21/05/2006, 00h28
  4. supprimer une session (connection)
    Par sbbn1 dans le forum ASP
    Réponses: 2
    Dernier message: 07/05/2004, 19h57
  5. Réponses: 14
    Dernier message: 15/01/2004, 02h15

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