|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
|
PHP] HELP Login
Ciao a tutti, dovrei fare un login in php del tipo che chi si logga ha una voce in piu nel menu come si potrebbe fare ?
Thx Ciao es. Menu: HOME-guide-immagini-.. ===> Login ==> HOME-guide-immagini-Admin-.. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
con le sessioni
http://it2.php.net/manual/it/ref.session.php se il log in è corretto allora imposti l'utente come loggato e con un controllo delle sessioni tipo if(isset($_SESSION['login'])) echo "admin"; lo fai comparire Ultima modifica di mamo139 : 26-09-2006 alle 20:06. |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
|
Quote:
MMm thx provo un po e posto poi i problem Thx ![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
|
e nn mi e molto chiaro
![]() ![]() in pratica devo fare un ciclo che mi dice se il nome utente e giusto confronto al user e pas che ci sono su un db, e in caso di si quidni isset.... mostra admin ...??? teoria giusta?? |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Alla fine della fiera, saprai se l'utente è autenticato oppure no. Se lo è, imposti una variabile di sessione del tipo: $_SESSION['loggato'] = "yes"; Il valore non è molto importante. Puoi anche mettere altre variabili di sessione che tengono per comodità, ad es. il nome dell'utente, il testo di benvenuto, ecc... Da quel momento, per tutte le pagine richieste durante la sessione, puoi fare: if (isset ($_SESSION['loggato'])) { .... }
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
usare le sessioni è utilissimo xche nn sono altro che variabili che mantengono il loro valore di pagina in pagina...
l'unica clausula è chiamare in ogni pagina prima del loro utilizzo la funzione session_start() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
mi accodo con una domanda, secondo voi come è meglio memorizzare le password nel database, in formato testo o (come credo) solo la hash della password?
mi potreste dare qualche indicazione
__________________
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
funziona tutto, però vorrei una piccola precisazione:
dato che sha1 genera una hash da 40 caratteri esadecimali e il tutto viene ad occupare 240 bit è giusto nel database mySql dare un tipo di dato binary 240 o c'è qualcosa di + adatto?
__________________
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
A questo punto la scelta è: memorizzare la stringa (40 caratteri / 320 bit) oppure memorizzare il valore binario (20 byte / 160 bit). Nel primo caso potresti dichiarare il campo come CHAR(40), nel secondo caso potresti usare BINARY(20). Nota: mi sto riferendo a MySQL. Vedi tu cosa ti è più comodo.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: May 2005
Città: L'aquila
Messaggi: 182
|
Scusate la domanda!
Ma se un utente ha effettuato correttamente il login,come faccio a reindirizzarlo in un'altra pagina? Mi spiego meglio... Siamo nella pagina autenticazione.php;ora voglio che se l'utente ha effettuato correttamente il login,una volta confrontati i dati con un database,mi venga aperta la pagina (a.php),altrimenti se il login non è corretto mi venga aperta la pagina (b.php). Sapreste aiutarmi gentilmente?! Spero di essere stato chiaro!! |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
header("Location: blabla");
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: May 2005
Città: L'aquila
Messaggi: 182
|
scusate e per proteggere le pagine come posso fare?
nel senso per far accedere a determinare pagine solo le persone che hanno effettuato correttamente il login come posso fare? vorrei far questo perche altrimenti inserendo semplicemente il nome della pagina nel browser si potrebbe cmq aver accesso alla pagina "aggirando" cosi il login!! Grazie a tutti per eventuali risposte Ultima modifica di mummolo : 15-03-2007 alle 21:42. |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Un esempio: Codice:
session_start (); if (!isset ($_SESSION['LOGGATO'])) { header ("Location: http://blabla/login.php"); exit; } E ovviamente se il login ha successo, imposti $_SESSION['LOGGATO'].
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Prego. Comunque, indipendentemente da come poi implementerai la cosa, il concetto è molto semplice: sei loggato? allora invia tutta la pagina. Non sei loggato? Allora rimanda alla pagina di login, non inviare la pagina e termina lo script.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#19 |
Member
Iscritto dal: May 2005
Città: L'aquila
Messaggi: 182
|
![]() L'unico dubbio è se il valore di $_SESSION lo devo impostare nella pagina nella pagina di autenticazione e poi controllarne il valore in quella da aprire giusto? |
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Poi come gestire il rimando al login, dipende molto da come è strutturato il sito. Mi spiego meglio: se si ha una unica pagina apposita per il login, allora è abbastanza logico reindirizzare a quella pagina se non si è loggati. Se invece il modulo di login è incorporato in ogni pagina (ad esempio nell'header) come in certi siti di e-commerce, allora non devi fare alcun rimando ma semplicemente inviare la pagina in cui in quell'area ci sarà o il modulo di login o un qualcosa ad esempio del tipo "Benvenuto XYZ" con un pulsante di logout se si è loggati. Insomma ... per fare la gestione di un login non c'è uno standard preciso, dipende da molti fattori: la struttura del sito, l'interazione tra le varie pagine, ecc...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:10.