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

Discussione: Form con "?"

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

    Form con "?"

    Form
    Codice PHP:
    <form action='<? echo $_SERVER['PHP_SELF']; ?>?login=ok' method='post'>
    Poi quando viene eseguito il Form, sempre nella stessa pagina di quest'ultimo, viene letto:

    Codice PHP:

    $login 
    $_GET['login'];

    /* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
    if ( $login == "ok" 
    {
    [...]

    Come potrei ovviare? Con le sessioni?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ciao cloud , non capisco bene qual'è il problema puoi spiegarti meglio?
    Non vuoi usare variabili get?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Ciao cloud , non capisco bene qual'è il problema puoi spiegarti meglio?
    Non vuoi usare variabili get?
    Mi dispiace RoTeam ma fino a prova contraria devo insistere che sono Lory9618 e non ho nulla a che vedere con questo "Cloud"

    Comunque esatto, niente variabili get e URL con "?"

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618
    Mi dispiace RoTeam ma fino a prova contraria devo insistere che sono Lory9618 e non ho nulla a che vedere con questo "Cloud"

    Comunque esatto, niente variabili get e URL con "?"
    Allora sorry è che avete postato lo stesso identico form , comunque
    non capisco, che problemi ti da la variabile get? Potresti provare anche mettendo
    una variabile post nel form come "hidden" ma cambia solo la variabile su cui ti basi in
    poche parole, forse se specifichi meglio cosa devi fare vedo di aiutarti in modo migliore

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se vuoi mantenere l'informazione nel form metti un campo hidden

    <input type='hidden' name='login' value='ok' />

    così viene passato in post assieme al resto.


    Ma la soluzione migliore sarebbe mettere tale dato in sessione visto che si tratta dell'indicazione dell'avvenuto login, altrimenti uno che legge il codice della pagina capisce come aggirare il tuo sistema di login.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da RoTeam
    Allora sorry è che avete postato lo stesso identico form , comunque
    non capisco, che problemi ti da la variabile get? Potresti provare anche mettendo
    una variabile post nel form come "hidden" ma cambia solo la variabile su cui ti basi in
    poche parole, forse se specifichi meglio cosa devi fare vedo di aiutarti in modo migliore


    Get non mi da alcun problema, anzi funziona alquanto bene e hai ragione se mi riproveri per il fatto che voglia cambare metodo...comunque ciò che in poche parole voglio fare è poter eliminare quel ?login=ok dell'URL, ma questo significherebbe che
    if ( $login == "ok" )
    {
    non funzionerebbe più. Quindi vorrei togliere ?login=ok e poter ovviare a quel problema

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da Alhazred
    Se vuoi mantenere l'informazione nel form metti un campo hidden

    <input type='hidden' name='login' value='ok' />

    così viene passato in post assieme al resto.


    Ma la soluzione migliore sarebbe mettere tale dato in sessione visto che si tratta dell'indicazione dell'avvenuto login, altrimenti uno che legge il codice della pagina capisce come aggirare il tuo sistema di login.
    Esatto, era quel che intendevo, quindi usare una/delle variabile/i di sessione per risolvere il problema

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Lory9618


    Get non mi da alcun problema, anzi funziona alquanto bene e hai ragione se mi riproveri per il fatto che voglia cambare metodo...comunque ciò che in poche parole voglio fare è poter eliminare quel ?login=ok dell'URL, ma questo significherebbe che
    if ( $login == "ok" )
    {
    non funzionerebbe più. Quindi vorrei togliere ?login=ok e poter ovviare a quel problema
    Beh se come detto da Alhazred ti serve per controllare se un utente è loggato
    potresti ovviare al problema settando una sessione quando viene effettuato il login
    e basarti su essa sennò prova col campo hidden post

    Oppure potresti usare anche i cookie al posto delle sessioni

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Bene, allora opterò per le sessioni, visto che comuque i cookie e l'hidden non mi convincono molto...
    Grazie Mille ad entrambi!
    Solved!

  10. #10
    Originariamente inviato da RoTeam
    Allora sorry è che avete postato lo stesso identico form
    Originariamente inviato da Lory9618
    Codice PHP:
    <form action='<? echo $_SERVER['PHP_SELF']; ?>?login=ok' method='post'>
    ...
    $login = $_GET['login'];

    /* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
    if ( $login == "ok" ) 
    {
    [...]
    }

    Codice di Cloud:

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

    /* -- Serve per Evitare di Ricevere subito un Messaggio dallo Script -- */
    if ( $login == "ok" ) 
    {
    [...]
    }
    ...quantomeno bizzarro se, come ipotizzato da RoTeam, non sono la stessa persona
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.