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

    include e pagine dinamiche

    ciao,

    risolti alcuni problemi, adesso mi ritrovo con un problema di carattere penso più che altro strutturale.

    in pratica ho impostato il layout del sito con il sistema dell'include:

    Codice PHP:
    include("header.php");

    include(
    "menu.php");
    $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=="index" || !file_exists($p.".php"))
            
    $p="error"//pagina di errore
        
    }

    include(
    $p.".php");
    include(
    "footer.php"); 
    questo sistema va bene per le inclusioni di pagine statiche passate via $_GET giusto?

    ma se io adesso volessi includere pagine dinamiche? hehe

    nella pagina del menu.php oltre ai link alle varie pagine, ho il login form per l'area riservata che punta al file login.php per il controllo.

    a questo punto come faccio ad includere nel corpo centrale il tutto?
    considerando anche il fatto che all' autenticazione ho un redirect automatico che punta a file diversi a seconda dei permessi...

    grazie

  2. #2
    ho pensato di utilizzare uno switch....

    Codice PHP:
    include("header.php");
    include(
    "menu.php");

    switch (
    $p) {

    case 
    "login":
    include (
    "auth/login.php");

    break;

    default: 
    //(oppure main)

    $p="main"
    if(isset(
    $_GET['page'])){
    $p=$_GET['page'];
    if(
    $p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error";
    }

    }

    include(
    $p.".php");
    include(
    "footer.php"); 
    ma non funzia e non so se è un sistema, quello dello switch che può funzionare..cosa ne dite?

  3. #3
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    magari mettendolo dopo aver definito la $p.. ke ne dici?
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  4. #4
    dico che hai ragione.

    cmq non funziona, cioè dopo l'autenticazione il redirect del file di controllo login.php mi apre comunque le pagine che non sono incluse nel corpo ( come main.php )

    :master:

    il codice corretto:

    Codice PHP:
    nclude("header.php");
    include(
    "menu.php");

    $p="main"
    switch (
    $p) {

    case 
    "login":
    include (
    "auth/login.php");
    header("Location: admin.php");
    break;

    default: 
    //(oppure main)


    if(isset($_GET['page'])){
    $p=$_GET['page'];
    if(
    $p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
    $p="error";
    }

    }

    include(
    $p.".php");
    include(
    "footer.php"); 

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.