Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Form con "?" - Parte 2

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190

    Form con "?" - Parte 2

    Codice PHP:
    <form action='<? echo $_SERVER['PHP_SELF']; ?>' method='post'>
    [...]
    </form>

    <?php
    /* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
    if (isset($_SESSION['login'])) 
    {
    [...]
    }
    ?>
    Il problema che mi sorge è quello di: dove mettere la variabile di sessione:
    $_SESSION['login'] = "login";

    Perche se la metto sopra l'if, quest'ultimo (l'if) mi verrebbe letto sempre.

    Suggerimenti?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma infatti la variabile in sessione non devi metterla sulle pagine dove devi controllarla.

    Il form dovrebbe richiamare uno script che non sia la pagina stessa, questo script dovrebbe mettere la variabile in sessione e poi rimandarti alla pagina precedente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da Alhazred
    Ma infatti la variabile in sessione non devi metterla sulle pagine dove devi controllarla.

    Il form dovrebbe richiamare uno script che non sia la pagina stessa, questo script dovrebbe mettere la variabile in sessione e poi rimandarti alla pagina precedente.
    Sicuramente, ma per il login in questione uso un'unica pagina, sia per il form sia per il controllo e/o conferma login ed è propio per questo ce mi sorge il problema.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ho capito, ma se non è così che si fa tu vuoi farlo ugualmente? Non puoi modificare la logica del login?

    La soluzione c'è, ma fa ribrezzo, io ti consiglierei di modificare la logica (e non ci vuole niente a farlo).

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da Alhazred
    Ho capito, ma se non è così che si fa tu vuoi farlo ugualmente? Non puoi modificare la logica del login?

    La soluzione c'è, ma fa ribrezzo, io ti consiglierei di modificare la logica (e non ci vuole niente a farlo).
    Ok, l'accetto volentieri come dovrei modificare?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Come dice alhazred modifica la logica, quando un utente effettua il login
    dichiara una variabile di sessione e basati su quella per controllare se un utente
    è loggato o meno

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Come dice alhazred modifica la logica, quando un utente effettua il login
    dichiara una variabile di sessione e basati su quella per controllare se un utente
    è loggato o meno
    Pero in questo caso dovrei usare due pagina, no?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618
    Pero in questo caso dovrei usare due pagina, no?
    Dipende, se sulla pagina di login metti semplicemente questo controllo

    Codice PHP:
    if(!empty($_SESSION['user'])){ //...l'user è loggato... 
    }else{ //...l'user non è loggato... 

    Potresti benissimo basarti su quella variabile di sessione per il controllo login

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Dipende, se sulla pagina di login metti semplicemente questo controllo
    Potresti benissimo basarti su quella variabile di sessione per il controllo login
    Ok, pero il problema che ho io è diverso. Visto che io uso un'unica pagina per il login, il controllo del login che prima facevo con:
    if ( $login == "ok" )
    {
    [...]
    }
    ora lo devo fare con la variabile di sessione
    if (isset($_SESSION['login']))
    {
    [...]
    }

    Problema:
    se dichiaro la variabile di sessione ($_SESSION['login']) prima del controllo, il controllo verrà sempre letto perche la variabile esiste sempre.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618
    Ok, pero il problema che ho io è diverso. Visto che io uso un'unica pagina per il login, il controllo del login che prima facevo con:
    if ( $login == "ok" )
    {
    [...]
    }
    ora lo devo fare con la variabile di sessione
    if (isset($_SESSION['login']))
    {
    [...]
    }

    Problema:
    se dichiaro la variabile di sessione ($_SESSION['login']) prima del controllo, il controllo verrà sempre letto perche la variabile esiste sempre.
    Che centra, perchè la devi dichiarare prima? La dichiari all'avvenuto login e basta

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.