Page 1 sur 1

récupérer et tester plusieurs variables

Posté : 15 mai 2009, 18:59
par philipp_c
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(); .....

Posté : 16 mai 2009, 11:35
par Ryle
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;