Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    gestione indirizzamento dinamico tramite link non visualizzando la querystring

    ciao a tutti.

    ho un 'dubbio' sulla reindirizzamento delle pagine.

    io possiedo una index dove verranno incluse tutte le pagine che l'utente vorrà vedere.
    Possiedo 2 menu, uno laterale per gli utenti e uno orizzontale per l'amministrazione del sito (questo se l'utente ha i permessi adatti).
    Tutti i 'tasti' sono link e quindi invia dati tramite get.
    per ora setto una variabile in query string dove passo un nome della pagina che vorrei caricare e tramite una classe gestisco inclusione delle pagine.

    ora la mia domanda è questa:
    visto che ci saranno più alberature nel progetto vorrei evitare di passare i parametri tramite get (almeno visibili agli utenti) e sempre per il concetto di avere più sotto cartelle vorrei evitare di dover passare una get di questo tipo:

    http://www.blabla.com?pag=controllo/...amministra.php
    oppure
    http://www.blabla.com?pag=amministra.php

    vi posto un pò si codice per essere piu chiari.

    La pagina index:

    Codice PHP:
    session_start();//Inizializzo la sessione

    include('model/indirizzamento.php');#gestione delle pagine
                                
    if ($_GET['pag'] != ''){
        
        $_SESSION['indirizzamento'] = $_GET['pag'];
        
    }

    Indirizzamento::setPagina($_SESSION['indirizzamento']);
    echo Indirizzamento::getPagina(); 
    ?>
    <html>


                <div id="corpo_centrale"><?php include(Indirizzamento::indirizza()); ?></div>
    Questo qui sotto è il gestore della pagina da visualizzare

    Codice PHP:
    class Indirizzamento{
        
        private static 
    $model 'model/';
        private static 
    $view 'view/';
        private static 
    $paginaSessione;
        
        public static function 
    setPagina ($paginaSessione){
            
    self::$paginaSessione $paginaSessione;
        }

        public static function 
    getPagina (){
            return 
    self::$paginaSessione;
        }
        
        public static function 
    indirizza(){
            
            
    $paginaOrigine self::$paginaSessione;
            
            if (!isset(
    $paginaOrigine) || $paginaOrigine == ''){
                
                
    $pagina self::$view.'login.php';    
                
            }else{
                
                
    $pagina self::$view.''.self::$paginaSessione.'.php';
                
            }
            
            
    self::setPagina('');
            return 
    $pagina;
            
        }
    //chiudo il metodo

    }//chiudo la classe 
    Ora l'esempio dei link che voglio passare
    Codice PHP:
    [*][url="index.php?pag=gestione_utenti"]Amministrazione[/url]
            [*][
    url="index.php?pag=configurazione_grafica"]Configurazione[/url]
            [*][
    url="control/logout.php"]logout[/url
    come si può vedere passo una variabile alla classe di indirizzamento, questa variabile è una sessione dove tiene memoria della pagina, come faccio a non far passare i valori via get visibili e a cambiare pagina?

    vi ringrazio delle risposte...

    ciao!

  2. #2
    Io penso che dovresti impostare i menu' non come chiamata a php ma come chiamate a funzioni javascript.....dovresti prevedere l' area dove visualizzi la pagina scelta agendo sul menu' come una parte che viene aggiornata usando ajax.

    In alternativa potresti usare l' urlrewrite e rendere piu belle le query string, sarebbero comunque visibili ma non e' detto che sia un male ( pensa ai bookmark, al reload della pagina ed ai motori di ricerca ).
    Nella vita c'e' sempre da imparare, c'e' chi impara a fare e chi impara ad aspettare.

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.