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

    sostituire un file incluso al caricamento della pagina

    ciao,

    ho un layout messo insieme con il sistema dell'include()
    quindi:
    codice:
    include("header");
    include("menu");
    
    //script che controlla le inclusioni delle pagine passate via GET
    
    include("footer");
    praticamente io carico le pagine nel corpo centrale nel modo;
    index.php?page=pagina

    adesso io vorrei fare in modo che al caricamento di una determinata pagina, anzichè tenermi il menu.php ( nell'include)me lo sostituisca con menu2.php
    è possibile?
    come dovrei fare che non riesco a farmi venire in mente niente?
    :master:

  2. #2
    if($_GET['pagina'] == 'pagina')
    include 'menu2.php';
    else
    include 'menu.php';

    la logica è questa...


    occhio che questo sistema è potenzialmente dannoso (modifico l'url e includo un file che voglio io)... quindi controlla che in $_GET['pagina'] ci sia quello che ti aspetti... il modo migliore è di fare un array di pagine "legali" e verificare s ela variabile che arriva da get è in quell'array.. i caso contrario non esegui l'include

  3. #3
    codice:
    $p="main";              //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){      //pagina passata via parametro
        $p=$_GET['page'];
        if($p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="home" || !file_exists($p.".php"))
            $p="error";     //pagina di errore
        }
    include($p.".php");
    include("footer.php");
    questo non va bene?

  4. #4
    sì, è meno restrittivo... ma di comodo ha che per aggiungere una pagina no devi ritoccare il codice

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.