Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/07/2007, 11h42   #1
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 :
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 11h43   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Traitement à faire côté serveur.

Quel langage serveur utilises-tu ?
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 11h46   #3
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
Je travaille sur un serveur php
bankette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 11h49   #4
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : juillet 2007
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2007
Messages : 33
Points : 36
Points : 36
Envoyer un message via MSN à Weysan
Il te faudra utiliser du php :

Code :
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>
Weysan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 11h59   #5
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
Merci pour ces réponses aussi rapide !! J'ai encore un problème voici mon code original qui fonctionne très bien :

Code :
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 :
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h07   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h09   #7
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
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 :
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>';
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h13   #8
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h22   #9
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
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 !
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h28   #10
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 :
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 :
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h47   #11
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
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 :
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 ...
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 13h11   #12
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 :
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 13h16   #13
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 13h30   #14
Membre actif
 
Avatar de bigltnt
 
Inscription : mars 2007
Messages : 221
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 221
Points : 155
Points : 155
Citation:
Envoyé par bankette

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

Code :
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 )
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 13h52   #15
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 13h54   #16
Membre du Club
 
Avatar de bankette
 
Homme Julien
Chef de Projet Web
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 26
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 : 134
Points : 55
Points : 55
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h07.


 
 
 
 
Partenaires

Hébergement Web