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

    inclusione files in base a variabili $_GET

    Buongiorno a tutti.

    Sto costruendo un sito che utilizza una sola pagina principale (index.php) come template per tutte le pagine, e al suo interno carico (includo) di volta in volta i file corretti basandomi sui parametri passati nell’indirizzo sotto forma di variabili $_GET .

    Per controllare quali parametri ed includere il/i file/s corretti c’è bisogno di molto codice, ripetitivo, come ad esempio :


    Codice PHP:
    if (isset($_GET[sezione])) {
        switch 
    $_GET[sezione] {
            case 
    "articoli":
                if (isset(
    $_GET[categoria])) {
                     switch 
    $_GET[categoria] {
                        case 
    "categoria1":
                            include(
    "categoria1.php");
                            break;                        
                        case 
    "categoria2":
                            include(
    "categoria2.php");
                            break;
                    }
                } else {
                    include(
    "filearticoli.php");
                }        
            case 
    "contatti":
                include(
    "filecontatti.php");
                break;
            case 
    "altro":
                include(
    "altrofile.php");    
                break;
        }
    }
    else {
        include(
    "homepage.php");


    A parte eventuali errori nel codice postato, questa soluzione funziona egregiamente, ma richiede una quantità di codice enorme con grande possibilità di errore.

    Prima domanda: esiste un modo più semplice per effettuare questa operazione?

    In caso negativo, seconda domanda: vorrei scrivere una funzione per "automatizzare" un po'questa operazione. Avete qualche suggerimento a riguardo?

    Grazie e buon lavoro.
    fox

  2. #2
    fai così:

    // controllo variabili in GET
    $controllo = array('pagina1','pagina2');


    if (in_array($_GET[sezione],$controllo))
    include ($_GET[sezione].'.php');

  3. #3
    e se avessi la necessità di gestire più livelli di variabili? nel senso:

    se c'è la variabile $_GET[sezione] e basta includo qualcosa, ma se se c'è $_GET[sezione]&$_GET[categoria] ne includo un altra.

    Altre volte ho la necessità di includere magari più di un file a seconda delle variabili...

    Da cosa ho capito facendo come ha suggerito silverwings non è possibile gestire tutte queste possibilità... o forse non ho capito bene il sistema...
    fox

  4. #4
    devi gestire delle viste annidate

    ovvero dentro pagina1 inclusa in index includi l'altro blocco di pagina necessaria a quella sezione

  5. #5
    ah ok...
    così mi pare ottimo...

    dimmi se ho capito giusto...

    in index.php includo le pagine principali delle varie sezioni, all'interno delle quali ci sarà ulteriore codice per vedere cosa includere di volta in volta in base al secondo livello di variabili $GET... e idem esistesse anche un terzo o quarto livello....
    fox

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 © 2025 vBulletin Solutions, Inc. All rights reserved.