problema con le sessioni e get

mediasteno

Utente Attivo
25 Gen 2010
120
0
0
Mi sono creato un sistema che mi permette di non riscrivere ogni volta l'intero codice della pagina. Infatti ho una unica pagina in comune (pagbase.php) e attraverso GET e require riesco ogni volta a modificare solo la parte di pagina che cambia.
Cioè ho: pagbase.php
PHP:
...
                      <?php
                            if (isset($_GET['nome']))
                                    {
                                    $nome_pagina = ($_GET['nome']);
                                    require ("$nome_pagina".'.php');
                                    }
                      ?>
...
i link delle varie pagine sono impostate in questo modo pagbase.php?nome=pag1 pagbase.php?nome=pag2 e cosi via.

Il sistema funziona ed io scrivo nelle diverse pagine solo il codice di quella parte di pagina.
Il mio problema nasce per le pagine protette. Infatti ho un'area del sito che viene gestita dall'amministratore. Volevo utilizzare le sessioni ma se costruisco le pagine in questo modo:

pag1.php

PHP:
<?php
session_start();
if(isset($_SESSION['utente'])&& isset($_SESSION['password']))
{
?>
...
codice pagina
....
<?php
}else{
echo "Accesso non consentito";
}
?>
La pagina completa avrà l'apertura delle sessioni nel cuore della pagina generando in questo modo un errore.

Non so come poter risolvere!

Ho pensato di inserire le sessioni nella pagina comune ma poi ho che se l'utente accede direttamente al codice della pagina ad esempio a pag1.php può vedere benissimo la pagina senza login!
Qualcuno mi può suggerire una soluzione? Avevo pensato anche all'uso di httpaccess ma vorrei che l'inserimento di login e psw fosse attraverso un form inserito una pagina e non vedere quella finestra di dialogo che si ha in questo caso.
 
un sistema del genere per richiamare le pagine è estremamente insicuro:
PHP:
<?php
                            if (isset($_GET['nome']))
                                    {
                                    $nome_pagina = ($_GET['nome']);
                                    require ("$nome_pagina".'.php');
                                    }
                      ?>
 
spostando solo
session_start();
all'inzio di pagbase.php ho risolto il problema delle sessioni. Grazie
Per quanto riguarda il fatto che il richiamo di pagine da me utilizzato è insicuro è un pò dovuto alla mia poca conoscenza di php. Fino ad un anno fa di php sapevo solo echo e require, ora riesco a fare molto, naturalmente devo ancora molto migliorarmi. Accetto qualsiasi indicazione di tutorial che mi permetta di utilizzare un richiamo delle pagine più affidabile. GRazie
 
potresti spostare i contenuti in un database e richiamarli tramite query
 
Ultima modifica:
Utilizzo il metodo del database quando si tratta solo di testo. Ora provo a farlo anche con pagine che contengono ad esempio un form. Grazie del suggerimento.
 

Discussioni simili