récupérer et tester plusieurs variables

philipp_c
Invité n'ayant pas de compte PHPfrance

15 mai 2009, 18:59

Bonjour, j'aurais besoin d'un peut d'aide pour mon script car je sais pas trop comment m'y prendre, voilà je récupère plusieurs variable qui sont utilisé dans un premier temps pour construire un nom de fichier pour moi le mettre dans un fichier cache, et dans un deuxième temps utilisé ces variables, seulement pour l'instant je test aucune de ces valeurs reçu :(
pouvez me mettre sur la voix? je pense qu'il est possible de simplifié mon code mais je suis un peut perdu!
merci pour l'aide :oops:

Code : Tout sélectionner

<?php if(isset($_GET['pag'])) { $page = $_GET['pag'] ; } else { $page = default ; } if(isset($_GET['pag']) && isset($_GET['id_select'])) { $page = $_GET['pag'].'-'.$_GET['id_select'] ; } if(isset($_GET['pag']) && isset($_GET['id_select']) && isset($_GET['order'])) { $page = $_GET['pag'].'-'.$_GET['id_select'].'-'.$_GET['order'] ; } if(isset($_GET['pag']) && isset($_GET['id_select']) && isset($_GET['p'])) { $page = $_GET['pag'].'-'.$_GET['id_select'].'-'.$_GET['p'] ; } /*debut du cache*/ $cache = 'cache/'.$page.'.html'; if(file_exists($cache) && filemtime($cache) > $expire) { readfile($cache); } else { ob_start(); .....

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 mai 2009, 11:35

On peut effectivement simplifier ton code.. tu peux par exemple imbriquer les if() successif, puisqu'ils ont tous des tests en commun. Tu peux égalament compléter la valeur de ta variable plutôt que de la réécrire à chaque fois :
if (isset($_GET['pag']))  { // Si la page est spécifiée

  $page = $_GET['pag'] ; 

  if (isset($_GET['id_select'])) { // Si en plus de la page, un id est spécifié
    $page.= '-' . $_GET['id_select'] ; // on complète la chaine

    if (isset($_GET['order'])) { // Si en plus de l'id et de la page, un ordre est spécifié
      $page.= '-' . $_GET['order'] ; 
    } 
    elseif (isset($_GET['p'])) { // Ou si un "p" (?) est spécifié 
      $page.= '-' . $_GET['p'] ; 
    } 
  } 

} 
else { // sinon, on spécifie une valeur de défaut pour la page
  $page = "default" ; 
} 

echo $page;
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...