Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3061 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de syntaxe. Mettre 2 classes pour une page

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de syntaxe. Mettre 2 classes pour une page

n°2003345
djodjolyon
Posté le 21-06-2010 à 14:43:32  profilanswer
 

Salut,
Je vais essayé de faire simple pour éviter de mettre  15 pages de code...
Je pense que les classes du code html ne sont pas prises en compte. La classe currentpage qui se trouve dans le code php fonctionne.
Il doit y a voir une petite erreur sur la ligne mais je n'arrive pas à touver.

Code :
  1. <li class="top"><a <?php echo (preg_match('/^.*?\/gallery/',$_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_URI'] == "/gallery/music/events/events.php" ) ?'class="currentpage"':'' ?> href="#" class="top_link"><span class="down">GALERIES PHOTO</span></a>


A priori, ça serait la classe top_link qui ne fonctionnerai pas.
Merci pour votre aide

Message cité 1 fois
Message édité par djodjolyon le 21-06-2010 à 20:55:50
mood
Publicité
Posté le 21-06-2010 à 14:43:32  profilanswer
 

n°2003411
olivthill
Posté le 21-06-2010 à 16:47:24  profilanswer
 

Plutôt que le code de la page sur le serveur, il faudrait voir le code la page telle qu'elle apparait dans le navigateur d'un utilisateur (donc, avec le PHP qui a été interprété).
 
Peut-être que la a href a deux classes au lieu de n'en avoir qu'une, ou bien que la classe "top_link" est absente.
Peut-être que la classe "down" du span intérieur contredit la classe top_link.
Peut-être que la définition de la classe top_link est défecteuse.

n°2003468
djodjolyon
Posté le 21-06-2010 à 18:26:09  profilanswer
 

Merci pour l'aide.
En fait, tout est à priori ok au niveau des css... Après un dernier test effectué.
En fait ce qu'il me faudrait, c'est au niveau du code php. Il faudrait que je puisse assigner 2 classes différentes mais je n'y arrive pas
J'ai testé avec ?'class="currentpage top_link"':'' ?
?'class="currentpage, top_link"':'' ?
?'class="currentpage" "top_link"':'' ?


Message édité par djodjolyon le 21-06-2010 à 18:26:45
n°2003622
olivthill
Posté le 22-06-2010 à 09:43:43  profilanswer
 

1. Répondez à ma question. Quel est le code que voit le navigateur du poste client ?
 
2. Pourquoi s'ennuyer avec l'opérateur ternaire ?:, alors qu'on peut faire cela facilement et de manière plus lisible avec un if ?
Les utilisateurs d'opérateurs ternaires sont des avares. Ils veulent gagner quelques octets. Ils pensent d'abord à l'optimisation, alors qu'il faut d'abord penser à la fiabilité et à la lisibilité.
 
Essayer :

<li class="top"><a href="#"  
<?php  
if (preg_match('/^.*?\/gallery/',$_SERVER['REQUEST_URI'])
    || $_SERVER['REQUEST_URI'] == "/gallery/music/events/events.php" )  
  echo 'class="currentpage"';
else
  echo 'class="top_link"';
?>
><span class="down">GALERIES PHOTO</span></a>


Message édité par olivthill le 22-06-2010 à 09:44:55
n°2003638
Tyrant
Posté le 22-06-2010 à 10:51:27  profilanswer
 

djodjolyon a écrit :

Salut,
Je vais essayé de faire simple pour éviter de mettre  15 pages de code...
Je pense que les classes du code html ne sont pas prises en compte. La classe currentpage qui se trouve dans le code php fonctionne.
Il doit y a voir une petite erreur sur la ligne mais je n'arrive pas à touver.

Code :
  1. <li class="top"><a <?php echo (preg_match('/^.*?\/gallery/',$_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_URI'] == "/gallery/music/events/events.php" ) ?'class="currentpage"':'' ?> href="#" class="top_link"><span class="down">GALERIES PHOTO</span></a>


A priori, ça serait la classe top_link qui ne fonctionnerai pas.
Merci pour votre aide

 
Code :
  1. class="<?php echo (preg_match('/^.*?\/gallery/',$_SERVER['REQUEST_URI']) || $_SERVER['REQUEST_URI'] == '/gallery/music/events/events.php') ? 'currentpage top_link' : 'top_link'; ?>"


Message édité par Tyrant le 22-06-2010 à 10:53:41

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de syntaxe. Mettre 2 classes pour une page

 

Sujets relatifs
Probleme avec requete sql NOT EXISTS et NOT INproblème de zero binaire dans un enregistrement
Problème d'authentification en JAVA/J2EEProblème avec un menu CSS
problème de calcul d'une moyenne en 'double'Header puis bloc occupant 100% du reste de la page
Protection d'une page permettant l'accès à une base de données sqlFPDF Mettre en gras un morceau de texte
petit problème de div à résoudre 
Plus de sujets relatifs à : Problème de syntaxe. Mettre 2 classes pour une page


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR