dal 2003, semper fidelis!

[PHP] cookie & sessioni

Il luogo dove parlare di informatica.

Moderator: Moderatori

chi sarebbe cos? gentile da spiegarmi in poche pariole il funzionamento dei cookie e delle sessioni in php??
ho letto guide in gire per la rete,per? voglio un consiglio pi? "a parole povere" per vedere se quello che ho capito ? giusto...
e poi,come si fa a mandare una variabile da una pagina1.php a una pagina2.php senza usare form??
Grazie anticipate
Sarn0! wrote:chi sarebbe cos? gentile da spiegarmi in poche pariole il funzionamento dei cookie e delle sessioni in php??
ho letto guide in gire per la rete,per? voglio un consiglio pi? "a parole povere" per vedere se quello che ho capito ? giusto...
e poi,come si fa a mandare una variabile da una pagina1.php a una pagina2.php senza usare form??
Grazie anticipate
Ricorda che...
L'http non ? fatto per lo scambio di valori.
Non ha nulla di residente in memoria.

Con le pagine dinamiche (php,asp etc) nasce quindi il problema di dover memorizzare valori che identifichino l'esecuzione della navigazione.

I metodi tradizionali sono (erano) 2.Cookies e url.

I cookies sono file di testo memorizzati dal server sulla macchina client
e rielaborati dal server alla successiva navigazione.
Come puoi ben capire sia i cookies che la url verso cui navigare sono oggetti modificabili e quindi violabili.

Le sessioni invece sono un associazione di entrambi i metodi.
Sfruttano cio? i cookies o/e le url per memorizzare tutte le informazioni associata ad essa scambiando un unica stringa, l'id della sessione associato al client che sta navigando SID.
La gestione dell'id ? univoca, avviene lato server con la creazione di un file di sessione (sul server).

Siccome non penso che aprirai sessioni in https ricordati di impostare nel php.ini (se lo puoi modificare)

Code: Select all

session.use_cookies=1 (che poi ? di default)
Un altro consiglio ? quello di rigenerare continuamente il sid tramite la funzione

Code: Select all

session_regenerate_id()

Prorpio tramite le sessioni e le variabili di sessione hai un metodo alternativo alle form per passare variabili durante la navigazione.

divertiti.....

gennaro gentilissimo...per? credo sia stato un p? troppo generico...io parlavo di funzioni che mi servivano a gestire le sessioni ecc...

setcookie("progetto",$id_user,"/");

poi nell'altra pagina faccio
if(isset($_COOKIE['$id_user'])){
echo "Benvenuto ",$id_user," hai effettuato il login con successo";}

quale ? l'errore??

Sarn0! wrote:setcookie("progetto",$id_user,"/");

poi nell'altra pagina faccio
if(isset($_COOKIE['$id_user'])){
echo "Benvenuto ",$id_user," hai effettuato il login con successo";}

quale ? l'errore??

Prova cos?

Code: Select all

if(isset($_COOKIE['progetto'])){
	echo "Benvenuto ", $_COOKIE['progetto']," hai effettuato il login con successo";
}

http://www.php.net/manual/it/ref.session.php

Datti una letta qua, che poi ne parliamo insieme ;)

Allora:

Innanzitutto imposta nel php.ini

Code: Select all

session.auto_start = 1
Cosa fa?? Genera e recupera l'id della sessione in maniera automatica su ogni pagina php.
php.net wrote:Il supporto delle sessioni vi permette di registrare numeri arbitrari di variabili che vengono preservate secondo richiesta.Quando un visitatore accede al vostro sito, PHP controller? automaticamente (se session.auto_start ? settato a 1) o su vostra richiesta (esplicitamente tramite session_start() o implicitamente tramite session_register()) se uno specifico id di sessione sia stato inviato con la richiesta. In questo caso , il precedente ambiente salvato viene ricreato.
Ricordati di riavviare il webserver.


Successivamente, potrai settare utilizzare i valori contenuti all'interno del vettore $HTTP_SESSION_VARS (o $_SESSION per versioni di PHP 4.1.0 e successive) e son globali per tutta la sessione.

Esempio:

Code: Select all

<php>
// pagina 1
$_SESSION['user_id'] = "chupa";
$_SESSION['pwd'] = "asdasd123";


<php>
<a href="pagina2.php">Verifica Utente</a>

Code: Select all

<php>
//pagina 2
echo "User Id  = " . $_SESSION['user_id'];
echo "Password = " . $_SESSION['pwd'];
<php>

Si ma avevo gi? corretto il suo codice.

Hooah!!! wrote:Si ma avevo gi? corretto il suo codice.
Tutte le srade portano a Roma Gennuz,
? per avere alternative :P


EDIT: e se poi non dicevo niente, queste "capere" dicevano: "eh, nuvoletta quando si tratta di far vedere che ne sa qualcosa non parla"

Lo sanno tutti che in realt? sei il mio maestro jedi: YODA

Image

Io non ce l'avevo con te...

ma sai Gibi voleva sapere solo le funzioni per leggere i cookies e niente di pi?

vabb? il pi? ? sempre buono...grazie ad entrambi

Hooah!!! wrote: Prova cos?

Code: Select all

if(isset($_COOKIE['progetto'])){
	echo "Benvenuto ", $_COOKIE['progetto']," hai effettuato il login con successo";
}
gennuz gi? provai cos?,e non mi va...mi reindirizza alla pagina ma non mi stampa nulla a video...perci? provai nel modo che ho poi postato qui sul forum...

il problema ? che non mi crea proprio il cookie...

Suca e fai come ho detto io

quello di nuvola funge

$_SESSION = array();
session_destroy();
setcookie("progetto","",time()-3600);
echo "Logout effettuato";

perch? mi da errore??

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 164 on Wed Aug 18, 2021 7:03 pm

Users browsing this forum: No registered users and 1 guest