- Home
- Categorie
- Coding e Sistemistica
- PHP
- Gestire gli utenti con PHP
-
Gestire gli utenti con PHP
php.html.it/articoli/leggi/901/gestire-gli-utenti-con-php/1/
vorrei implementare questo script sul mio sito, ma per ora lo sto testando "da solo" e non riesco a farlo funzionare per intero...
mi dà questo errore quando apro per la prima volta la pagina home.php
"Notice: Undefined index: uid in C:\Programmi\EasyPHP 2.0b1\www\autenticazione\include\auth.lib.php on line 59
Notice: Undefined index: uid in C:\Programmi\EasyPHP 2.0b1\www\autenticazione\include\auth.lib.php on line 59"
utilizzando il sistema AUTH_USE_LINK
se effettuo il login il messaggio sparisce. se inserisco questo controllo:if (!$uid) { $uid = ''; } else { $uid = $_GET['uid'];}
al posto del semplice
$uid = $_GET['uid'];non mi appare più il msg di errore alla prima visualizzazione, ma effettuando poi il login non mi appare più la schermata di benvenuto ma nuovamente quella di inserimento user e password
con il sistema AUTH_USE_COOKIE invece funziona tutto...
sto testando in locale con apache 2.2.3, php 5.2.0 e mysql 5.0.27
qualcuno mi può dare una mano? (sperando di essere stato chiaro...)
sto testando in locale con apache 2.2.3, php 5.2.0 e mysql 5.0.27qualcuno mi dà una mano (sperando di essere stato chiaro...)
-
Sostituisci il codice che hai modificato con:
[php]$uid = isset($_GET['uid']) ? $_GET['uid'] : '';[/php]
-
bravissimo!
grazie! quindi la parola magica era isset? io facevo il controllo inverso, cioè: se non esiste $uid etc.
invece con isset verifichi se esiste, giusto?
ma perchè in un caso funziona e nell'altro no?
grazie ancora comunque!
ps: ma alla fine cosa è meglio scegliere per il passaggio della variabile tra AUTH_USE_LINK e AUTH_USE_COOKIE???
-
Il tuo codice presupponeva register_globals attivo, una funzione deprecata da anni.
isset() verifica se una variabile è definita e non nulla. A differenza del tuo codice non solleva notice nel caso in cui la variabile sottoposta ad esame non sia definita.
-
vuoi dire che global $_GET; e global $_COOKIE; non sono necessari?
in effetti togliendoli funziona lo stesso...
cosa mi consigli su quale metodo usare? quello tramite cookie o tramite get?
-
@kingink said:
vuoi dire che global $_GET; e global $_COOKIE; non sono necessari?
$_GET e $_COOKIE sono array superglobal.
@kingink said:
cosa mi consigli su quale metodo usare? quello tramite cookie o tramite get?
Perchè non utilizzi le sessioni piuttosto?
-
quindi get e cookie sono già richiamati automaticamente...
userei volentieri le sessioni, ma... non so farlo...
cosa dovrei modificare dello script in questione?
e che differenza ci sarebbe? cioè le sessioni non devono comunque utilizzare un cookie file di testo in ogni caso?
grazie per la pazienza...