Visualizzazione risultati 1 fino 19 di 19

Discussione: Forum in PHP - Mantenere il login

  1. #1
    Guest

    Exclamation Forum in PHP - Mantenere il login

    Salve a tutti raga...

    Allora, ho deciso finalmente di imparare il PHP, e ho (quasi) imparato a memoria la guida di web-link
    Cmq, torniamo a noi.
    Sto creando in locale un forum che funziona con PHP e MySQL.
    La scheda di Login è fatta in HTML, con un semplice Form in una tabella.
    Quando si clicca su Invia, i dati vengono inviati via "POST" ad una pagina PHP che li elabora e controlla i dati sul database MySQL. Se tutto è "a posto" i dati vengono nuovamente inviati alla home del forum via "POST" con un altro pulsante submit (invia).
    Sulla home va tutto bene ma quando si tratta di "cambiare pagina" e visualizzare le sezioni e/o i treads, come "mantengo il login"?
    Cioè, l'unico metodo che conosco è il "GET" a quetso punto, se non voglio nuovamente usare <input type="submit">!
    Come faccio a inviare i dati all'altra pagina del forum senza accodarli alla URL e senza usare <input type="submit">???


    NB. Credo di aver detto tutto.
    Ultima modifica di Zorinik : 06-05-2006 alle ore 12.12.14

  2. #2
    Guest

    Predefinito

    Devi farti una cultura sull'uso di sessioni e cookies!


    Ciaooo!!!!!

  3. #3
    Guest

    Predefinito

    Devi usare le sessioni o i cookie... fai una ricerchina su come usarli

    EDIT: Dho!! Debug mi hai preceduto di un soffio e abbiamo detto la stessa cosa
    Ultima modifica di attorianzo : 06-05-2006 alle ore 12.25.55

  4. #4
    Guest

    Predefinito

    Si su un forum ho letto coem usare le sessioni...
    il problema è che non mi funzionano!

  5. #5
    Guest

    Predefinito

    ...quindi?
    Il topic finisce qui?


    Ciao!

  6. #6
    Guest

    Predefinito

    No vorrei sapere dov'è l'errore...

    in dieci minuti posto il codice che ho usato

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Zorinik
    No vorrei sapere dov'è l'errore...
    Errore de che scusa???
    Che senso ha il tuo precedente post???


    Ciao!

  8. #8
    Guest

    Predefinito

    Nel senso che se non funziona sarà che ho fatto un errore di programmazione...

  9. #9
    Guest

    Predefinito

    E' che purtroppo è un discorso un po complesso Zorinik... Posta il codice dove pensi stia l'errore altrimenti non possiamo vedere dove sta il prob...
    Ultima modifica di attorianzo : 06-05-2006 alle ore 14.56.50

  10. #10
    Guest

    Predefinito

    Il problema è che ho usato tutto il codice della home, delle varie sezioni e delle pagine dei vari treads tutto in una pagine, quindi è un "po" lungo il codice...

    EDIT: Per viusalizzare ora una ora l'altra (pagina) ho usato uno switch e una variabile $_GET[nomevariabile]
    Ultima modifica di Zorinik : 06-05-2006 alle ore 15.00.30

  11. #11
    Guest

    Predefinito

    posta solo l'inizio dello script e le parti di codice in cui usi le sessioni

  12. #12
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Usa i cookies
    Codice PHP:
    <? //PER SETTARE UN COOKIE
    setcookie("NomeCookie","contenuto",time()+3600); //cookie con contenuto "contenuto", nome "NomeCookie" e scadenza di un ora
    //PER VERIFICARE
    if($_COOKIE["NomeCookie"]) {
    echo
    "Sei loggato";
    }else{
    echo
    "Non sei loggato!";
    exit();
    }
    ?>
    Ciaooo!

  13. #13
    Guest

    Predefinito

    Allora ragazzi, ricapitolando.
    In queste ore sono stato scollegato.
    Ho provato a rifare daccapo il forum usando i cookie.
    Per il login, ho usato questo codice per impostare un cookie all'id dell'utente:
    Codice PHP:
    setcookie("zorinikforum", "$id", time()+3600);
    E alla pagina principale ho usato questo codice per rilevarne la presenza:

    Codice PHP:
    <?php
    if(isset($_COOKIE["zorinikforum"])){
    $accessoeffettuato=1;
    $idutenteattuale=$_COOKIE["zorinikforum"];
    }
    else{
    $accessoeffettuato=0;
    }
    ?>
    Ma mi da questo errore all'atto di registrazione:

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\zorinik-forum\verifica_log.php:4) in c:\programmi\easyphp1-8\www\zorinik-forum\verifica_log.php on line 63
    EDIT: Leo mi hai preceduto di poco...
    Ultima modifica di Zorinik : 06-05-2006 alle ore 20.00.42

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quell'errore significa che devi mettere il codice per gestire i codici prima di qualsiasi output. Ti conviene metterlo come primo pezzo di codice della pagina.
    Comunque quell'errore non dovrebbe succedere su AlterVista perché ha impostazioni diverse da EasyPHP.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    Su Altervista non succede?
    Io uso EasyPHP1-8 in locale...

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da Zorinik
    Su Altervista non succede?
    Io uso EasyPHP1-8 in locale...
    Per esperienza personale so che è così, comunque ti conviene correggere il codice come ti ho suggerito prima.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    Guest

    Predefinito

    Però il codice per il settaggio del cookie è in una condizione IF.
    Deve essere settato solo se la condizione è vera... come faccio?

    EDIT: Problema risolto coi cookies!!! Però ora è sorto il problema inverso: come faccio a cancellare il cookie???
    Ultima modifica di Zorinik : 06-05-2006 alle ore 22.16.43

  18. #18
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Devi fare setcookie...al contrario!

    ovvero..
    Codice PHP:
    <?
    setcookie
    ("zorinikforum","",time()-3600);
    ?>
    Ciao!

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da Leo91
    Devi fare setcookie...al contrario!

    ovvero..
    Codice PHP:
    <?
    setcookie
    ("zorinikforum","",time()-3600);
    ?>
    Ciao!
    Ok più tardi provo


    EDIT
    ________________________________________________

    Nooooo!!!
    Non mi funziona più!
    Perché mai? Posto quel che ho usato.

    Pagina di login, con un normale form che spedisce via "POST" i dati (nickname e password) ad una pagina PHP che controlla i dati e con un link spedisce via "GET" i dati ad un'altra pagina PHP che setta il cookie così:

    Codice PHP:
    <?php setcookie("zorinikforum", "$_GET[id]", time()+3600); ?>
    Poi si torna alla pagina principale che verifica se sei connesso o no così:

    Codice PHP:
    <?php
    if(isset($_COOKIE["zorinikforum"])){
    $accessoeffettuato=1;
    $idutenteattuale=$_COOKIE["zorinikforum"];
    }
    else{
    $accessoeffettuato=0;
    }
    ?>
    Infine, uso per la pagina di logout (raggiungibile da un link nella homepage una volta connessi):

    Codice PHP:
    <?php setcookie("zorinikforum", "", time()-3600); ?>
    Specifico che non mi da alcun errore ma non riesce ad accedere al forum!!!

    Come mai? Dove sbaglio?
    Ultima modifica di Zorinik : 07-05-2006 alle ore 13.48.41

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •