Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Comprendere meglio il sistema di login/logout

    Siccome ho un sito php su una macchina in locale, su cui eseguo prove e faccio studi sul PHP (autodidatticamente!), vorrei sapere con molti più dettagli il funzionamento del login e logout descritto qui:

    Gestire gli utenti con PHP

    vi prego, ci sto uscendo matto! non riesco a comprendere bene tutte quelle variabili!!! Eppure ho studiato e sto studiando il PHP con un manuale della Apogeo (PHP & MySQL - Guida completa)...


    So di non essere molto produttivo... ma spero possa esserci qualcuno con la voglia di aiutarmi!



    Grazie a tutti voi!!!

    the Key of Lost Deep E-Dreams
    L'incomprensibile mondo nascosto.
    La Sottile linea tra Immaginazione e Realtà

  2. #2
    La guida effettivamente è un po' dispersiva perchè molto completa.

    Il procedimento di log-in e log-out è molto molto semplice. Tirato all'osso funziona così:

    l'utente arriva sul tuo sito e non è, ovviamente loggato.
    Quando vuole andare a vedere una pagina protetta la pagina controlla che l'utente sia loggato (controllando una variabile di sessione che tu hai impostato): vede che non è loggato e non concede l'accesso.

    Quando l'utente inserisce i propri dati nell'apposito form (user e pass), la pagina di login esegue queste operazioni:

    1) (Opzionale ma altamente raccomandato!)
    Controlla che i valori passati dal form siano validi

    2) Estrae dal db la riga dove corrispondono contemporaneamente user e pass. Qualcosa del genere

    SELECT id FROM users WHERE user_name = '$_POST[user]' AND pass = '$_POST[pass]'

    3) Controlla se il risultato è uguale ad 1: se non lo è dice che i dati non sono corretti

    4) Se i dati sono giusti setta una var di sessione che dica che l'utente è loggato e magari puoi inserire in sessione anche l'id dell'utente o tutto quello cheti pare

    $_SESSION['AUTH'] = 1 ; // 0/false=non loggato;1/true=loggato
    $_SESSION['id'] = $id //id l'hai estratto prima dal db

    Molto semplice come vedi!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    L'articolo a cui fai riferimento spiega molto bene l'argomento.
    Non capisco cosa non riesci a capire.
    Forse dovresti provare con qualche cosa di piu semplice.
    Facci sapere.
    Ciauz
    ¿Hasta la pasta?

  4. #4

    sinceramente...???

    avrei preferito che il codice scaricabile fosse molto più commentato! Sarà che sono maniacale nei commenti, ma in quel codice scaricabile di commenti ce n'erano ben pochi.

    Infatti ho realizzato un sistema di login con user e password,
    tramite mysql, salvataggio della session_id su mysql, controllo della data di creazione della sessione per quell'utente (e nel caso sia vecchia, eliminazione della session_id dalla tabella mysql ed esecuzione del login nuovamente)...
    ovviamente tale controllo ad ogni pagina attiva del sito...

    Anzi (e qui arriva il bello) "dei siti"! o meglio:
    siccome ci gioco parecchio con questo server, vorrei sapere se c'è un sistema automatico per il controllo del login, senza che sto ad aggiungere:

    codice:
    include("/start/check_login.php");
    ad ogni pagina.

    tipo: il file .htaccess a che serve? e perchè su WinXP se tento di creare un file simile mi dice che devo inserire il nome del file???

    Ops: niente. Trovato per creare il file .htaccess : lo si pu ò rinominare come si vuole attraverso il prompt dei comandi!

    Tornando al problema principale: c'è solo questo modo per controllare il login, o si può fare qualcosa di meno "laborioso"? Immaginate che nel mio piccolo HomeServer ci sono circa una ventina di progetti... posso stà a incollare il codice su più di 200 pagine???



    Spero di non essere una palla al piede!
    the Key of Lost Deep E-Dreams
    L'incomprensibile mondo nascosto.
    La Sottile linea tra Immaginazione e Realtà

  5. #5
    Bhe, credo proprio che dovrai fare così!

    Il fatto è che avresti dovuto fare un'altra cosa.
    Io creo un file initialize.php dove metto tutte le cose che vanno fatte ad ogni pagina (connessione al db, estrazione dei dati di configurazion, settaggio della lingua, sessioni, ecc). In questo modo modificando un unico file ne ho modificato un numero arbitrario che include tale file. La prima volta (soprattutto al punto in cui sei!) il lavoro sarà lungo ma dopo farai tutto in un batter d'occhio!

    Per i commenti il codice non mi sembra sia così complicato! Poi da quello che dici quell'articolo non ti serve proprio a niente!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6

    aspetta...

    tu intendi che crei un file "initialize.php" da aggiungere ad ogni altra pagina? questo è ciò che ho fatto anch'io... ovviamente per le connessioni mysql creo un file a parte, poichè ogni sito si connette al suo db.

    quindi... nulla? A mano??? ma dico: tipo: ho installato quixplorer dal sito:

    quixplorer

    se volessi che quixplorer comprende da solo se mi sono connesso al sito principale, dovrei starmi a studiare il codice per poter capire dove controlla il login. Giusto?
    the Key of Lost Deep E-Dreams
    L'incomprensibile mondo nascosto.
    La Sottile linea tra Immaginazione e Realtà

  7. #7
    bhe, direi di si! Per questo io gli script preferisco farmeli da solo! Posso personalizzarli quanto voglio! Credimi, perdi meno tempo a rifarlo che a metterti a studiare il codice per capire cosa modificare. Inoltre io mi scoccio proprio di studiare farlo! Si, do uno sguardo per capire come si sono comportati i programmatori in determinate situazioni ma niente di più!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    ciao a tutti..
    ecco il mio 1° post...
    comincio con un suggerimento e una domanda.

    in linea generale, io mi trovo bene nel gestire tutto tramite classi, cosa che rende i codici molto più "portabili"

    secondo poi:
    ho trovato l'articolo interessante... qualcuno ha anche il link alla continuazione?

    grazie

  9. #9
    Che vuol dire il link alla continuazione? L'erticolo è composto di tre parti tutte raggiungibili da ogni singola parte dell'articolo. Che link vuoi?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.