Newsgroup: it.comp.www.php
Titolo: sessione

ciao a tutti io ho una pagina html con un form per isenire user e
password. All'invio tramite tasto submit, questi dati vengono passati ad
una pagina php che effettua dei controlli....poi se i controlli sono
andati a buon fine quindi user e pass sono giusti apre la home page del
sito.
Ho creato una sessione nella pagina dei controlli ma poi non so come fare
in modo che scrivendo il nome della pagina home page non venga
visualizzata.....
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 visualizzata.....
A grandi linee, da testare.
<?php // pagina di "controllo" 
session_start ();
// controlli
if ($ok)
{
	$_SESSION["name"] = "Pippo";
}
?>
<?php // home page
session_start ();
// altro
if (isset ($_SESSION["name"]))
{
	print ("Bentornato " . $_SESSION["name"] . " :) ");
}
else
{
	print ("Benvenuto sconosciuto :) ");
}
?>
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/1Z
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

grazie provo subito....


 visualizzata.....
Ammettiamo che la variabile di sessione creata si chiami $log e la pagina di
login sia index.php:
nella home, e in tutte le pagine che vuoi proteggere, scriverai
if (!$log)
    {
    header("Location:index.php");
    exit;
    }
Ricorda di scriverlo all'inizio, perche' se hai gia' prodotto output
l'istruzione header non funziona!
-- 
Lello Vitello

grazie funziona....
una cosa però...se io invece di chiamare la sessione pippo volessi mettere
il nome dello user che mi rioprendo dal form????


 mettere il nome dello user che mi rioprendo dal form????
Non e' che chiami la sessione pippo, accedi alla variabile di sessione
"name".
E' sufficiente che assegni a $_SESSION["name"] il valore che recuperi
dal form (tramite $_GET["qualche_cosa"] o $_POST["qualche_cosa"]).
-- 
I am what I am, I do what I can


invece dove mi consigliate di cancellare la sessione?????


 dal form (tramite $_GET["qualche_cosa"] o $_POST["qualche_cosa"]).
fatto....grazie...
cmq con questo medoto non entrerebbe nessuno se non loggato....vero?


 cmq con questo medoto non entrerebbe nessuno se non loggato....vero?
Definisci "entrare".


 Definisci "entrare".
nel senso che è un metodo abbastanza sicuro per chi volesse accedere senza
autorizzazione...magari scrivendo direttamente la pagina della home page.


 home page.
Il codice postato fa solamente visualizzare una messaggio di benvenuto. 
Per il resto le sessioni sono un metodo abbastanza sicuro per gestire
sistemi di autenticazione.


> invece dove mi consigliate di cancellare la sessione?????
Direi sulla pagina di login stessa, a meno di esigenze particolari
-- 
Lello Vitello

 sistemi di autenticazione.
si ok il codice che mi hai postato l'ho adattato alla mia pagina.....:)
e un'ultima cosa: come posso eliminare una sessione quando l'utente esce
dalla pagina web??? Cioč una volta loggato faccio quello che mi serve e
poi esco.
Quando rientro vorrei che questo utente debba reinserire user e
password......:)


 Direi sulla pagina di login stessa, a meno di esigenze particolari
inserendo session_destroy(); all'inizio????? 


 faccio quello che mi serve e poi esco.
Le sessioni (i loro cookie) scadono alla chiusura del browser.


inserendo session_destroy(); all'inizio????? 
Metti questo codice in logout.php:
<?php
session_start();
$_SESSION = array();
session_destroy();
header("Location: index.php");
?>
Ciao
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Software libero, PHP, MySQL, Webdesign, Sicurezza, CMS, Tutorials
Per rispondere in e-mail togli NOSPAM