• Super User

    Index e login

    Mi sapete illuminare su di una perplessità?

    Se ho una pagina chiama index.php con all'interno un form per il classico login dell'utente registrato, come gestisco l'intera pagina?

    Mi spiego. Quello che voglio è che al login l'utente ripiombi nella stessa pagina senza però la presenza del form per il login e magari l'aggiunta di qualche cosa in più visualizzabile unicamente dall'utente registrato.
    Cosa devo fare? Ricreare l'intero codice di index.php in una nuova pagina (senza la parte del login) e lo riconduco ad una nuova (es. registrato.php) oppure mi merita creare una funzione nella index che mostri o nasconda parti di codice html a seconda della sessione?

    Questo perchè ho visto in alcuni forum lo stesso URL "www.sito.it/index.php" con o senza il login dell'utente senza ulteriori estensioni, la differenza è che cambiava una parte della pagina dove veniva visualizzato in un div il profilo dell'utente registrato.

    Spero mi abbiate capito nn so come spiegarvelo diversamente.


  • Super User

    Aggiungo anche un'altra domanda inerente.
    Seguendo ciò che vi chiedevo prima vi faccio un altro esempio:

    La prima pagina è a tre colonne:

    • a sinistra il menù + notizie
    • contenuto dinamico al centro a seconda del link sul menù
    • a destra il login + altre informazioni e pubblicitàSe voglio mantenere il template delle due colonne laterali e cambiare unicamente il contenuto centrale SENZA usare "iframe" o altre porcate simili seguendo gli standard della w3c, come posso fare?

    Intanto la soluzione precedente l'ho risolta a mio modo ma nn so se è un'ottima cosa.
    Avendo il seguente codice:
    [HTML]<div id="container">
    <div id="testa"></div>
    <div id="dinamico">
    <div id="left"></div>
    <div id="contenuto"></div>
    <div id="right"></div>
    </div>
    <div id="piede"></div>
    </div>[/HTML]
    Ho spostato il div con id "dinamico" in un file php esterno che controlla la sessione e a seconda di quest'ultima mostra due porzioni diverse di html.

    Se però voglio muovermi attraverso i link con o senza la situazione di login cosa mi merita fare?
    Pensavo ad uno switch di controllo sui parametri dell'url ( ?link=home, ?link=hardware , ecc ecc) da posizionare sempre nella pagina php esterna.

    Vi pare un buon modo oppure sto sbagliando?


  • User Attivo

    dunque, per la prima domanda, potresti creare un if nella pagina index.php nel quale, se ad esempio usi le sessioni per autenticare, potresti scrivere:

    [PHP]if (!IsSet($_SESSION['login_effettuato')) {
    /* IL FORM DI LOGIN ED IL RESTO DEL CODICE AD ESSO ATTINENTE */

    } else {
    /* TUTTI I CONTENUTI AGGIUNTIVI PER L'UTENTE CHE HA EFFETTUATO IL LOGIN*/
    } [/PHP]

    Spero sia quello di cui avevi bisogno.. saluti..


  • Super User

    Si ho craeto qualcosa di simile come detto sopra.
    Essendo la parte centrale l'unica a doversi modificare ho estrapolato quel contenuto in un file php esterno che mi si modifica a seconda dell'autenticazione.

    Un'altra domanda tecnica.
    Voi i contenuti nei template come li fate? Create nuove pagine? o Scrivete tutto in un file.php gestito cn sessioni, if e quant'altro?
    Non ho ancora capito se solitamente vengono creati altri php per ogni pagina o solitamente si opera più o meno come ho fatto io:

    [php] switch ('content'){
    case 'home':
    home();
    break;
    case 'hardware':
    hardware();
    break;
    case 'chisiamo':
    chisiamo();
    break;
    //ecc
    }[/php]

    Dove ogni funzione richiamata è una porzione di html che si autoinserisce all'interno del template


  • User Attivo

    mah.. io preferisco fare una pagina diversa per ogni modulo e fare gli switch con l'include per avere una maggiore organizzazione e non dover modificare esclusivamente il file funzioni ma poi alla fine è relativo in base alle esigenze..


  • Super User

    Si possono usare entrambi i metodi 🙂
    Io preferisco usare un template engine come smarty o raintpl e stampare un template esterno diverso a seconda della querystring richiesta. 🙂
    Ciao!