scusate ma se voglio fare in modo che nel sito nel momento in cui ti registri hai accesso ad alcune pagine come posso fare??
scusate ma se voglio fare in modo che nel sito nel momento in cui ti registri hai accesso ad alcune pagine come posso fare??
Al momento del login metti in sessione una variabile che ti indica il buon esito, ad esempio dopo aver verificato la correttezza di username e password metti
$_SESSION['loggato'] = TRUE;
Poi nelle pagine che vuoi rendere disponibili solo agli utenti loggati metti
Codice PHP:
session_start();
if (isset($_SESSION['loggato']) && $_SESSION['loggato'] == TRUE)
{
//qui il contenuto della pagina da mostrare
}
else
{
echo 'Accesso negato. Solo gli utenti registrati possono visualizzare questa pagina!';
}
scusa ma loggato sta per??? e una variabile inventata al volo?? non dovrei mettere username??Originariamente inviato da Alhazred
Al momento del login metti in sessione una variabile che ti indica il buon esito, ad esempio dopo aver verificato la correttezza di username e password metti
$_SESSION['loggato'] = TRUE;
Poi nelle pagine che vuoi rendere disponibili solo agli utenti loggati metti
Codice PHP:
session_start();
if (isset($_SESSION['loggato']) && $_SESSION['loggato'] == TRUE)
{
//qui il contenuto della pagina da mostrare
}
else
{
echo 'Accesso negato. Solo gli utenti registrati possono visualizzare questa pagina!';
}
o quando meno qua cambiarlo cosi?
if (isset($_SESSION['loggato']) && $_SESSION['username'] == TRUE)
perche non vedo riferimenti a utenti in login... non riesco ad interpretare bene questo spezzone...
ho anche questo problema..
e un messaggio di errore non riesco a dargli stile..
if(isset($_GET['errmail']) and $_GET['errmail']==1)
echo("Hai inserito due E-mail diverse tra loro. Controlla i dati!");
ho provato a manipolarlo un po ma non mi riesce con le conoscenze che ho.. come potrei fare?
Sì, è una variabile inventata al volo.Originariamente inviato da franzolo77
scusa ma loggato sta per??? e una variabile inventata al volo?? non dovrei mettere username??
Non c'è alcun obbligo di metterci l'username in sessione, certo può far comodo averlo sempre a disposizione, ma la mia era a titolo dimostrativo.
E' buona norma metterci una variabile diversa da $_SESSION['username'] perché si ricade nei problemi di sicurezza. Un malintenzionato sarà la prima cosa che proverà per avere accesso a sezioni riservate.
Ovviamente anche $_SESSION['loggato'] è facile da indovinare, ma magari invece che assegnargli TRUE gli assegni un valore a caso, tipo decidi che deve valere 09lp#°02-.-2, così anche se uno cerca di registrare in sessione la variabile $_SESSION['loggato'] di certo gli verrà difficile pensare di valorizzarla con quella stringa.
No, Il login lo fai come l'hai già fatto in precedenza, $_SESSION['loggato'] è una variabile in più da mettere in sessione.o quando meno qua cambiarlo cosi?
if (isset($_SESSION['loggato']) && $_SESSION['username'] == TRUE)
perche non vedo riferimenti a utenti in login... non riesco ad interpretare bene questo spezzone...
Comunque se hai difficoltà con queste cose, trova un tutorial serio che spieghi come effettuare un sistema di login e che affronti un minimo i problemi di sicurezza.
Tu hai sicuramente usato un tutorial base che più base non si può, che giusto ti ha dato un'idea di cosa sia un login, ma nulla riguardo la sicurezza.
nel css ci mettiOriginariamente inviato da franzolo77
echo("<span class='quellochevuoi'>Hai inserito due E-mail diverse tra loro. Controlla i dati!</span>");
.quellochevuoi { qui le regole che ti servono }
gentilissimo prontissimo e dettagliatissimo come sempre...
GRAZIE DAVVERO
sai.. mi piacerebbe comprendere il php fino in fondo.. solo che non trovo guide serie online.. ecco qualcosa che spieghi dettagliatamente le cose...
un 20 minuti fa ho scoperto questo mi sembra ufficiale.. solo che vedi.. mi serve un esempio...
http://it2.php.net/manual/it/index.php
non mi va di sentirmi dire.. un array si fa cosi.. voglio anche vedere come lo puoi usare.. in che caso ti fa comodo ecc ecc...
te ne sarei grato se puoi fornirmi skype.. cosi magari piiccoli dubbi e tempo e voglia tua permettendo mi puoi aiutare se ti va..
Una cosa che spieghi tutto per bene non la troverai su internet, devi orientarti sui libri e non te ne basterà uno solo. Essendo molto vasto come argomento, i libri sono divisi per gradi, dal livello base a quello avanzato e poi libri specifici per aspetti particolari.
Se vuoi imparare senza libri devi mettere in conto che ci vorrà un bel po' di tempo.
In tal caso devi imparare le basi del linguaggio, quindi l'uso delle variabili, gli array, i cicli, le strutture di controllo (if/else, switch, while...) e così via.
Poi ci vuole tanta pratica, bisogna scrivere tanto codice, vedere cosa non si è capito e rimediare.
Man mano si aumenta la difficoltà dei progetti e si studiano gli aspetti specifici che servono, per esempio i problemi di sicurezza per restare in tema di login ed aree riservate, ma anche per la proteizione dei dati.
Sperare di imparare partendo da un progetto complicato è un suidicio, ci si perderebbe una marea di tempo perché ad ogni passo nascerebbero problemi che non si sanno risolvere e che invece sono cose banali se si è andati per gradi.
si dai ma molte cose le conosco ed ho appunti su come strutturarli.. poi se non so qualcosa me la rivedo e se non ci capisco chiedo..
con gli if sono ferrato
gli array so come farli e come sono
qualcosina la so.. ora grazie a te so aprire una sessione...
insomma e ovvio che devo ancora studiare.. ma perdonami io sono una decina di giorni che leggo ed ascolto.. non ti pare tanto quello che ho gia fatto?
e saranno max 4 gg che scrivo...dai mi ritengo molto soddisfatto...
ora per esempio quando ti registri nella pagina -_reg.php per confermare che ti sei registrato
mail("$email", "$oggett", "$text"); ti invio una mail...
pero per quanto possa avere cercato non ho trovato qualcosa che mi parlasse del click che si fa nel corpo della mail per poter attivare l'account... questa la vedo complicatuccia.. credo..
perche devo impostare in automatico il livello utente 0 a conferma attivazione sara 1 e poi per qualche sala segreta diciamo 2 e gli amministratori 3..
se hai qlk link in ita che mi spieghi.. mi rendi felice...
Il mio era un discorso generale per l'approccio ad un nuovo linguaggio, non stavo dicendo che non sei in grado di programmare.
Ad ogni modo, quello che devi fare è molto più semplice di quanto pensi.
Nella tabella utenti nel DB ti servono 3 campi per ciò che ti serve:
- un campo di nome livello che conterrà un numero che indica che livello di accesso ho l'utente (admin, utente generico...)
- un campo di nome reg_code, qui ci metti un codice generato casulmente, per esempio md5(time())
- un campo di nome abilitato che conterrà 1 oppure 0, come default conterrà 0
nel momento in cui un utente si registra metti in "livello" il numero per l'utente generico, in "reg_code" il codice generico e in "abilitato" 0.
Nell'email ci metti un link fatto così
Dovrai poi creare il file conferma.phpCodice PHP:
[url]www.sito.it/conferma.php?codice=il_codice_che_hai_generato[/url]
In questo file prendi il codice con $_GET['codice'] ed esegui una query fatta così
Se mysql_affected_rows() ti restituisce 1 vuol dire che l'abilitazione è andata a buon fine, se restituisce 0 invece no.Codice PHP:
$query = "UPDATE utenti SET abilitato=1 WHERE reg_code=".$_GET['codice'];
Ovviamente i nomi dei campi puoi cambiarli a piacere.
L'admin dovrai inserirlo a mano nel database.