• User

    Problema in php

    Buon giorno a tutti. Sto facendo un sito in php che si collega a mysql. Ora mi sono bloccato perchè ho un problema.
    Allora una volta che l'utente si è registrato si più collegare ad una pagina riesrvata diciamo la pagina principale dove più collegarsi ad altre pagine che possono essere visualizzate solo da utenti iscritti.
    Ora il mio problema è questo. Una volta che l'utente va in una pagina da quella principale una volta che torna indietro il sito non ha più il suo nickname e la sua password e mi dice che l'utente non è riconosciuto.
    DOMANDA: Come posso per risolvere sto problema?
    spero di essere stato chiaro
    Ho provato a rimettere da sql il nickname e la password per poi rispedirle nella pagina principale. Fino a che deve mettere i due dati nelle variabili lo fa però non riesco a spedirle nella pagina principale.
    Poi ho provato a creare un cookie nella pagina principale (quella privata), appena aperta la pagina sembra che va tutto bene però non ho capito bene come funziona perchè quando torno in quella pagina mi da un errore sul cookie boh?!
    AIUTO vi prego!!


  • Moderatore

    Ciao e benvenuto.
    Puoi usare le sessioni per tali problematiche.
    Approfondimenti --> http://it.php.net/manual/it/ref.session.php

    :ciauz:


  • User

    Grazie del benvenuto. Cmq non ho capito benissimo la guida. Per risolvere il mio problema cosa dovrei fare?
    Cioè cosa devo usare?


  • User

    @dariol86 said:

    Grazie del benvenuto. Cmq non ho capito benissimo la guida. Per risolvere il mio problema cosa dovrei fare?
    Cioè cosa devo usare?

    Devi utilizzare le sessioni.

    Quando un utente si registra crei una sessione con i suoi dati che rimarra valida fino a quando non fara il logout


  • User

    Cioè io ho fatto

    <?
    if (!isset($_SESSION['$nickname1']))
    $_SESSION['$nickname1'] = $_GET['$nickname1'];
    if (!isset($_SESSION['$password1']))
    $_SESSION['$password1'] = $_GET['$password1'];
    ?>

    per registrare le variabili. Non so se è corretto però sembra che funziona.
    Ok ora se vado nella altre pagine e voglio ritornare nella pagina principale mi chiede ancora i valori delle variabili. Come faccio a ridargleli?


  • User

    @dariol86 said:

    Cioè io ho fatto

    <?
    if (!isset($_SESSION['$nickname1']))
    $_SESSION['$nickname1'] = $_GET['$nickname1'];
    if (!isset($_SESSION['$password1']))
    $_SESSION['$password1'] = $_GET['$password1'];
    ?>

    per registrare le variabili. Non so se è corretto però sembra che funziona.
    Ok ora se vado nella altre pagine e voglio ritornare nella pagina principale mi chiede ancora i valori delle variabili. Come faccio a ridargleli?

    se la sessione non è passata in automatico all'interno delle pagine (o come campo hidden o appesa all'url), aggiungila tu all'url. (se non mi ricordo male è pa parola chiave SID).


  • User

    Scusate se rompo così tanto però non riesco. Con $_register non mi fuonzionava niente allora ho provto session register e lo fatto così

    <?
    if (!session_is_registered('nick')) {
    session_register('nick');
    $nickname1 = $_GET['nickname1'];
    }
    if (!session_is_registered('pass')) {
    session_register('pass');
    $password1 = $_GET['password1'];
    }
    ?>

    solo che il nick me lo registra ma la password mi da errore.
    Sapete dirmi il perchè?


  • User

    [QUOTE=dariol86]
    <?
    if (!session_is_registered('nick')) {
    session_register('nick');
    $nickname1 = $_GET['nickname1'];
    }
    if (!session_is_registered('pass')) {
    session_register('pass');
    $password1 = $_GET['password1'];
    }
    ?>
    QUOTE]

    Registri una variabile di sessione "nick" ma assegni la password ad una variabile password1... (in realta succede la stessa cosa con nick).


  • User

    ....invece di "nick" avrei dovuto scrivere "pass"....


  • User

    ok ora ci sono non mi da più l'errore della password e mi si collega all'atra pagina con SID però se faccio indietro mi da questo errore

    Notice: Undefined index: nickname1 in c:\programmi\easyphp1-8\www\erica\riservato.php on line 4

    Notice: Undefined index: password1 in c:\programmi\easyphp1-8\www\erica\riservato.php on line 5

    nickname1 e password1 sono i dati che inserisce l'utente nel index e li passo in questa pagina attraverso l'url faccio questo tramite una form non so se la sessione la devo fare nella pagina principale o nel index

    sto usando dreamweaver

    Però ho notato una cosa se faccio indietro mi si crea nel database un record vuoto che prima non c'era.


  • User

    un "notice" non è proprio un errore, in questo ti avvisa solamente che non hai definito le variabili in quella pagina, definiscile oppure disabilita i notice nel php.ini


  • Moderatore

    Domanda stupida: hai inizializzato le sessioni nella pagina con session_start() ? 🙂


  • User

    mi sto spaccando la testa non riesco prprio a farlo andare ora ho provato così

    <?
    session_start();
    session_register("nickname1");
    $nickname1=$_GET['nickname1'];
    session_register("password1");
    $password1=$_GET['password1'];
    ?>

    <html>
    ...
    ...
    solo che quando torno indietro mi dice Undefined index su password1 e nickname1 quelle due varibili gle le dò nel'index e gle le passo a questa pagina tramite url e sono $_GET['nickname1'] non sono delle varibili di questa pagina nn so come fare!! sono disperato, Poi non posso toglere quegli avvisi perchè fin che nn risolco il problema quando l'utente trona in quella pagina non viene riconosciuto.

    Poi forse sbaglio a mettere la sessione. V messa dove inserisco nick e password o nella paginariservato dove gle li passo dalla pagina prima?