Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [PHP] gestire la querystring

    Salve a tutti,

    Sto sviluppando un sito e ho un problemino.
    Per farvi capire meglio vi spiego la mia situazione.

    Ho un file main.php5 dove includo le 5 sezioni diverse del mio sito.
    Per fare questo ho settato una variabile $_GET che viene elaborata dallo script per includere ciò che è dovuto.
    So già che nei file inclusi avrò a che fare con diverse altre variabili di questo tipo.

    esempio:
    lang = lingua
    mod = modulo del sito
    action = azione del modulo corrente
    page = pagina da visualizzare in caso di paginazione dei risultati

    codice:
    www.sito.it/main.php5?lang=de&mod=gallery&action=view&page=4
    Come faccio a questo punto a gestire la querystring in modo che tutte le variabili vengono riportate e se (concordando all'esempio) cambio pagina mi cambia solamente la variabile page senza che nessuna variabile venga ripetuta?

    ho provato in questo modo

    Codice PHP:
    $qs $_SERVER['QUERYSTRING']."&page=5"
    ma come già immaginavo, se nella querystring è già presente una variabile page essa viene accodata e si presenta 2 volte.

    Grazie
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  2. #2
    Prova così:

    $qs = "lang=" . $_GET['lang']. "&mod=" . $_GET['mod']. "&action=" . $_GET['action'] . "&page=5";

    Fammi sapere
    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    ciao grazie della tua risposta

    comunue così non può funzionare perché le variabili get cambiano (di numero e di valore) a seconda di dove si sta navigando nel sito...
    avrei bisogno una soluzione piu generica. si capisce?
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  4. #4
    Ciao,
    avevo capito che conoscessi sempre le variabili con cui avere a che fare.
    Cmq,
    con questo script dovresti analizzare tutta la querystring.

    foreach($_GET as $variable => $value)
    {
    echo $variable . " = " . $value ;
    }

    Fammi sapere
    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  5. #5
    hehe non mi hai capito... comunque fa niente

    ho trovato una soluzione.

    praticamente controllo se la variabile è presente nella querystring con
    Codice PHP:
    function addtoqs($get_var$val) {
      if(isset(
    $_GET[$get_var])) {
         
    $qs ereg_replace("regular expressione che individua la variabile","nuova stringa che cambia il valore della variablie attraverso $val",$_SERVER['QUERY_STRING']);
      }
      else {
        
    $qs $_SERVER['QUERYSTRING'].'&'.$getvar.'='.$val;
     }
       return 
    $qs;

    si capisce quello che volgio fare?
    il problema è che io sono una schiappa con le regexp e non saprei davvero come fare... chi mi aiuta per favore??
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  6. #6
    up... sono giunto alla disperazione :P
    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

  7. #7
    Salute a tutti,

    ho trovato una soluzione (già oggi in giornata...) e qui sotto ve la posto, in caso potebbe venire utile

    saluti
    Codice PHP:
    function addtoqs($get_var$val) {
        if(isset(
    $_GET["$get_var"])) {
            
    $qs '?' str_replace($get_var.'='.$_GET["$get_var"],$get_var.'='.$val$_SERVER['QUERY_STRING']);
        }
        else {
            
    $qs '?' $_SERVER['QUERY_STRING'].'&'.$get_var.'='.$val;
        }
     return 
    str_replace("?&","?",$qs);

    If today was perfect, there would be no need for tomorrow...
    Live as you want, the wildest way you can, till you're alive!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.