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 :

[PHP-JS] Affichage conditionnel d'un champ


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut [PHP-JS] Affichage conditionnel d'un champ
    Bonjour !!

    Voila je travaille sur une appli web en php/html. Certaine page contienne des formulaires a remplir par l'utilisateur. chaque utilisateur appartient a un groupe (se groupe est stocké dans une variable php). Ce que je souhaite faire c'est que certain groupe ne puisse pas voir (et donc modifier) certains champs.

    Exemple sur de simples lignes de texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <td>Cette ligne visible par tous</td><p>
    <td>Celle ci visible par le gorupe 1</td><p>
    <td>Celle ci par le groupe 2</td><p>
    <td>Celle ci par tous</td><p>
    </html>
    Comment puis je faire?

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Traitement à faire côté serveur.

    Quel langage serveur utilises-tu ?

  3. #3
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Je travaille sur un serveur php

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Par défaut
    Il te faudra utiliser du 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
    <form method="" action="">
    <td> ton truc vu par tout le monde</td>
    <?
    switch ($groupe){ // on utilise la variable $groupe pour designer les differents groupe. Elle vaut 1 pour le groupe 1, 2 pour le groupe 2, etc
    case "1": // pour le groupe 1
    echo "<td> ton champ visible par le groupe 1</td>";
    break;
    case "2": // pour le groupe 2
    echo "<td> champ visible par le groupe 2</td>";
    break;
    }
    ?>
    <td> autre champ visible par tous</td>
    </form>

  5. #5
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Merci pour ces réponses aussi rapide !! J'ai encore un problème voici mon code original qui fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td class="dataLabel"><span sugar='slot6'>{MOD.LBL_ACCOUNT_NAME} <span class="required">{APP.LBL_REQUIRED_SYMBOL}</span></span sugar='slot'></td>
    	<td  valign="top"  class="dataField"><span sugar='slot6b'><input class="sqsEnabled" tabindex="2" autocomplete="off" id="account_name" name='account_name' type="text" value="{ACCOUNT_NAME}">
    		<input name='account_id' id="account_id" type="hidden" value='{ACCOUNT_ID}' />&nbsp;<input tabindex='2' title="{APP.LBL_SELECT_BUTTON_TITLE}" accessKey="{APP.LBL_SELECT_BUTTON_KEY}" type="button" class="button" value='{APP.LBL_SELECT_BUTTON_LABEL}' name="btn1"
    			onclick='open_popup("Accounts", 600, 400, "&return_action=Popup", true, false, {encoded_popup_request_data}, "", true);' /></span sugar='slot'></td>
    et voici le résultat :

    Mais lorsque je le remplace par ceci (je n'ai aps encore utilisé les condition avec les groupes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<?
    	echo "<td class=\"dataLabel\"><span sugar=\'slot6\'>{MOD.LBL_ACCOUNT_NAME} <span class=\"required\">{APP.LBL_REQUIRED_SYMBOL}</span></span sugar=\'slot\'></td>";
    	echo "<td  valign=\"top\"  class=\"dataField\"><span sugar=\'slot6b\'><input class=\"sqsEnabled\" tabindex=\"2\" autocomplete=\"off\" id=\"account_name\" name=\'account_name\' type=\"text\" value=\"{ACCOUNT_NAME}\">";
    	echo "	<input name=\'account_id\' id=\"account_id\" type=\"hidden\" value=\'{ACCOUNT_ID}\' />&nbsp;<input tabindex=\'2\' title=\"{APP.LBL_SELECT_BUTTON_TITLE}\" ;accessKey=\"{APP.LBL_SELECT_BUTTON_KEY}\" type=\"button\" class=\"button\" value=\'{APP.LBL_SELECT_BUTTON_LABEL}\' name=\"btn1\"";
    	echo "		onclick=\'open_popup(\"Accounts\", 600, 400, \"&return_action=Popup\", true, false, {encoded_popup_request_data}, \"\", true);\' /></span sugar=\'slot\'></td>";
    	?>
    Et la voici le résultat


    Et bien il ne m'affiche plus du tout le meme chose...

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    essaies de remplacer <? par <?php je pense que dans ton php.ini tu as la directive short_open_tags qui est à Off
    Sinon assures toi que ton fichier a bien une extension .php aussi

  7. #7
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    mettre <?php ne résoud pas mon problème mais tu as raison mon fichier est en .html. Le problème c'est que je ne peux pas modifier son extension (je travaille sur un logiciel open source) si je le fais plus rien ne fonctionne.

    Afin d'éclairicir un peu la chose j'ai un fichier de meme nom en extension.php qui permet d'assigner toutes les varaiables. Mais comme je souhaite intervenir sur la mise en page je suis obligé de travailler sur le fichier en .html.

    Y a t il une solution a mon problème?

  8. #8
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut !

    Je te conseille de faire un echo avec les simple quote '
    Comme ca tu te débarrasses de tout les \, ce qui rendra ton code plus lisible.
    Je te rappelle que dans une balise html, après un =, il faut mettre des guillemets (") et non des simple quotes (').

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <span sugar='slot6'> //C'est faux
    <span sugar="slot6"> // C'est bon
     
    echo '<td class="dataLabel"><span sugar="slot6">{MOD.LBL_ACCOUNT_NAME} <span class="required">{APP.LBL_REQUIRED_SYMBOL}</span></span></td>';

  9. #9
    Membre confirmé Avatar de bankette
    Homme Profil pro
    Chef de Projet Web
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de Projet Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Citation Envoyé par bigltnt
    Salut !

    Je te conseille de faire un echo avec les simple quote '
    Comme ca tu te débarrasses de tout les \, ce qui rendra ton code plus lisible.
    Je te rappelle que dans une balise html, après un =, il faut mettre des guillemets (") et non des simple quotes (').

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <span sugar='slot6'> //C'est faux
    <span sugar="slot6"> // C'est bon
    Bon alors j'ai remplacé les guillemet par des quotes pour les echo et j'ai remplacer les quotes par des guillemets dans la ligne html. Ca ne fonctionne toujours pas mais y'a du progrès mon bouton est un bouton !!!

    Voila le screen


    et voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<?php
    	echo '<td class="dataLabel"><span sugar="slot6">{MOD.LBL_ACCOUNT_NAME} <span class="required">{APP.LBL_REQUIRED_SYMBOL}</span></span sugar="slot"></td>';
    	echo '<td  valign="top"  class="dataField"><span sugar="slot6b"><input class="sqsEnabled" tabindex="2" autocomplete="off" id="account_name" name="account_name" type="text" value="{ACCOUNT_NAME}">';
    	echo '	<input name="account_id" id="account_id" type="hidden" value="{ACCOUNT_ID}" />&nbsp;<input tabindex="2" title="{APP.LBL_SELECT_BUTTON_TITLE}" accessKey="{APP.LBL_SELECT_BUTTON_KEY}" type="button" class="button" value="{APP.LBL_SELECT_BUTTON_LABEL}" name="btn1"';
    	echo '		onclick="open_popup("Accounts", 600, 400, "&return_action=Popup", true, false, {encoded_popup_request_data}, "", true);" /></span sugar="slot"></td>';
    	?>

    Ai je encore fait une erreur? Aussi quelque chose d'étrange que l'on ne voit pas sur les screen shot vu que je réduit la vu mais le texte "nom du compte" est traité en debut de page (et apparait donc tout en haut) et le reste donc la zone de texte et le bouton sont traités a l'endroit ou j'ai inséré le code dans al page html est ce normal?

    Merci pour vos réposes aussi rapide c'est super sympa

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

Discussions similaires

  1. Affichage conditionnel d'un champs
    Par syntaxis dans le forum Salesforce.com
    Réponses: 2
    Dernier message: 23/01/2013, 15h51
  2. [AC-2007] Affichage conditionnel d'un champ
    Par Prettyletter dans le forum VBA Access
    Réponses: 6
    Dernier message: 29/04/2011, 08h25
  3. [AC-2003] affichage conditionnel dans un champ
    Par castours dans le forum IHM
    Réponses: 5
    Dernier message: 21/01/2011, 18h00
  4. Réponses: 2
    Dernier message: 09/12/2007, 12h56
  5. [FLASH 8] Affichage contenu d'un champ Flash dans php
    Par carmen256 dans le forum Flash
    Réponses: 4
    Dernier message: 15/02/2007, 15h57

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