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

  1. #1
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    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
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

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

    Informations professionnelles :
    Activité : Développeur Web

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

    Quel langage serveur utilises-tu ?

  3. #3
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    Par défaut
    Je travaille sur un serveur php
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 59
    Points
    59
    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 régulier 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 : 38
    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
    Points : 89
    Points
    89
    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...
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    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 actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    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>';

  8. #8
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    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?
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Essaye de faire ce que je t'ai dit !

    Ton code est mal écrit, avec 1 erreur de guillemets et de quote, un script php ne peut pas tourner. Alors vu que toi t'en as plusieurs .... (et tu as des erreurs html aussi ...)

    Ca c'est faux et archi faux
    En XHTML, on fait comme ca:
    Bref, relis mon post précédent

    Ton code à l'air interprété donc je pense pas que <?php à la place de <? changera quelque chose. PAr contre faire que ton echo soit bien écrit, ca je pense que oui !

  10. #10
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    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
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Bon ben vu le résultat, je retire ce que j'ai dit: je sais pas si ta page est interprétée lol.
    En tout cas niveau syntaxe c'est bon (on parlera pas des / en fin de balises orphelines ^^).

    Moi y'a juste un truc qui m'intigues mais je sais pas si ca changera quelque chose,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <span sugar="slot6"> //ici tu ouvres slot6
    				{MOD.LBL_ACCOUNT_NAME}
    					<span class="required">
    						{APP.LBL_REQUIRED_SYMBOL}
    					</span>
    			</span sugar="slot"> //Et la tu fermes slot tout court ... y'a pas d'erreurs ?
    Tu devrais peut-etre tester une simple page avec
    pour voir si ton php est bien actif. Sinon il faudra se pencher sur le fichier de configuration apache et installation de php ...

  12. #12
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    Par défaut
    En fait le code html en lui meme est bon c'est sur vu que je travaille sur un logiciel open source (sugarCRM) et que ce code la était écrit par eux !! En fait je souhaite juste ajouter une condition a l'éxecution de ce code mais je crois que ce n'est pas vraiment possible comme ca....

    Avez vous deja entendu parlé de balise de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!-- BEGIN: admin -->
    code html éxecuter uniquement si utilisateurs = admin
    <!-- END: admin -->
    Bon du coup je ne suis plus vraiment dans le bon forum mais si vous savez..

    merci encore pour ton aide bigltnt
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  13. #13
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Trois choix :
    1/ tu renommes ton fichier en index.html
    2/ Tu ne peux pas renommer ce fichier, mais tu peux mettre une regirection dedans (avec des meta, je connais pas la syntaxe exacte) qui redirige vers le vrai index, qui sera index.php
    3/ tu le fais en javascript.

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Citation Envoyé par bankette

    Avez vous deja entendu parlé de balise de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!-- BEGIN: admin -->
    code html éxecuter uniquement si utilisateurs = admin
    <!-- END: admin -->
    Moi perso, même si j'en ai jamais fait, ca me fait penser aux templates (je dis peut-etre une grosse bétise mé bon )

  15. #15
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    Par défaut
    J'ai réussi j'ai pour finir utilisé une méthode de redirection au niveau de mon .php qui en fonction du groupe envoi vers un fichier html ou vers un autre. Merci pour tous ces conseils éclairés. Bravo a vous pour votre rapidité en tout cas
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

  16. #16
    Membre régulier 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 : 38
    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
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par bigltnt
    Moi perso, même si j'en ai jamais fait, ca me fait penser aux templates (je dis peut-etre une grosse bétise mé bon )
    Oui c'est ca c'est les templates je ne connaissaient pas je viens de découvrir c'est magique !!!

    Encore merci
    -- Bankette --
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème....

+ 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