Sessione PHP e amp; Cookie PHP con esempio

Sommario:

Anonim

Cos'è il cookie?

Un cookie è un piccolo file con la dimensione massima di 4KB che il server web memorizza sul computer client.

Una volta impostato un cookie, tutte le richieste di pagina che seguono restituiscono il nome e il valore del cookie.

Un cookie può essere letto solo dal dominio da cui è stato emesso. Ad esempio, un cookie impostato utilizzando il dominio www.guru99.com non può essere letto dal dominio career.guru99.com.

La maggior parte dei siti Web su Internet mostra elementi di altri domini come la pubblicità. I domini che servono questi elementi possono anche impostare i propri cookie. Questi sono noti come cookie di terze parti.

Un cookie creato da un utente può essere visibile solo a lui. Gli altri utenti non possono vederne il valore.

La maggior parte dei browser Web dispone di opzioni per disabilitare i cookie, i cookie di terze parti o entrambi.

In questo caso, PHP risponde passando il token del cookie nell'URL.

Il diagramma mostrato di seguito illustra come funzionano i cookie.

Qui,

1) Un utente richiede una pagina che memorizzi i cookie

2) Il server imposta il cookie sul computer dell'utente

3) Altre richieste di pagina da parte dell'utente restituiranno il nome e il valore del cookie

In questo tutorial imparerai-

  • Perché e quando utilizzare i cookie?
  • Creazione di cookie
  • Recupero del valore del cookie
  • Elimina cookie
  • Cos'è una sessione?
  • Perché e quando utilizzare le sessioni?
  • Creazione di una sessione
  • Distruzione delle variabili di sessione

Perché e quando utilizzare i cookie?

  • Http è un protocollo senza stato; i cookie ci consentono di tracciare lo stato dell'applicazione utilizzando piccoli file memorizzati sul computer dell'utente.

    Il percorso in cui vengono memorizzati i cookie dipende dal browser.

    Internet Explorer di solito li memorizza nella cartella Temporal Internet Files.

  • Personalizzazione dell'esperienza utente: ciò si ottiene consentendo agli utenti di selezionare le proprie preferenze.

    Le pagine richieste che seguono sono personalizzate in base alle preferenze impostate nei cookie.

  • Tracciamento delle pagine visitate da un utente

Creazione di cookie

Vediamo ora la sintassi di base utilizzata per creare un cookie.

QUI,

  • Php “setcookie” è la funzione PHP utilizzata per creare il cookie.
  • "Cookie_name" è il nome del cookie che il server utilizzerà quando recupera il suo valore dalla variabile array $ _COOKIE. È obbligatorio.
  • "Cookie_value" è il valore del cookie ed è obbligatorio
  • "[Expiry_time]" è facoltativo; può essere utilizzato per impostare il tempo di scadenza del cookie come 1 ora. Il tempo viene impostato utilizzando le funzioni PHP time () più o meno un numero di secondi maggiore di 0, ovvero time () + 3600 per 1 ora.
  • "[Cookie_path]" è facoltativo; può essere utilizzato per impostare il percorso del cookie sul server. La barra "/" significa che il cookie verrà reso disponibile sull'intero dominio. Le sottodirectory limitano l'accesso dei cookie al sottodominio.
  • "[Dominio]" è facoltativo, può essere utilizzato per definire la gerarchia di accesso ai cookie, ovvero www.cookiedomain.com indica l'intero dominio mentre www.sub.cookiedomain.com limita l'accesso ai cookie a www.sub.cookiedomain.com e al suo sotto domini. Nota che è possibile avere un sottodominio di un sottodominio a condizione che i caratteri totali non superino i 253 caratteri.
  • "[Secure]" è facoltativo, il valore predefinito è false. Viene utilizzato per determinare se il cookie viene inviato tramite https se è impostato su true o http se è impostato su false.
  • "[Httponly]" è facoltativo. Se è impostato su true, solo i linguaggi di scripting lato client, ad esempio JavaScript, non possono accedervi.

Nota: la funzione php set cookie deve essere eseguita prima del tag di apertura HTML.

Vediamo ora un esempio che utilizza i cookie.

Creeremo un programma base che ci permette di memorizzare il nome utente in un cookie che scade dopo dieci secondi.

Il codice seguente mostra l'implementazione dell'esempio precedente "cookies.php".

Produzione:

the cookie has been set for 60 seconds

Recupero del valore del cookie

Crea un altro file chiamato "cookies_read.php" con il codice seguente.

Produzione:

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Nota: $ _COOKIE è una variabile super globale incorporata in PHP.

Contiene i nomi e i valori di tutti i cookie impostati.

Il numero di valori che il

L'array $ _COOKIE può contenere dipende dalla dimensione della memoria impostata in php.ini.

Il valore predefinito è 1 GB.

Testare la nostra applicazione.

Supponiamo che tu abbia salvato i tuoi file PHP nella cartella phptus.

  • Passaggio 1: apri il browser web e inserisci l'URL http: //localhost/phptuts/cookies_read.php

Nota: è stato visualizzato solo un array vuoto

  • Passaggio 2: browser all'URL http: //localhost/phptuts/cookies.php

  • Passaggio 3: tornare alla prima scheda, quindi fare clic sul pulsante di aggiornamento

Attendi un minuto, quindi fai nuovamente clic sul pulsante Aggiorna. Quali risultati hai ottenuto?

Elimina cookie

  • Se vuoi distruggere un cookie prima della sua scadenza, imposta l'ora di scadenza su un tempo che è già trascorso.
  • Crea un nuovo file denominato cookie_destroy.php con il seguente codice
  • Ripetere i passaggi da 1 a 3 della sezione precedente sul recupero dei valori dei cookie.
  • Apri l'URL http: //localhost/phptuts/cookie_destroy.php
  • Passa all'URL http: //localhost/phptuts/cookies_read.php quali risultati mostra?

Cos'è una sessione?

  • Una sessione è una variabile globale memorizzata sul server.
  • A ogni sessione viene assegnato un ID univoco che viene utilizzato per recuperare i valori memorizzati.
  • Ogni volta che viene creata una sessione, un cookie contenente l'ID di sessione univoco viene memorizzato sul computer dell'utente e restituito con ogni richiesta al server. Se il browser del client non supporta i cookie, l'ID di sessione php univoco viene visualizzato nell'URL
  • Le sessioni hanno la capacità di memorizzare dati relativamente grandi rispetto ai cookie.
  • I valori di sessione vengono automaticamente cancellati alla chiusura del browser. Se si desidera memorizzare i valori in modo permanente, è necessario archiviarli nel database.
  • Proprio come la variabile di matrice $ _COOKIE, le variabili di sessione vengono memorizzate nella variabile di matrice $ _SESSION. Proprio come i cookie, la sessione deve essere avviata prima di qualsiasi tag HTML.

Perché e quando utilizzare le sessioni?

  • Si desidera archiviare informazioni importanti come l'ID utente in modo più sicuro sul server in cui gli utenti malintenzionati non possono temperare con loro.
  • Vuoi passare valori da una pagina all'altra.
  • Desideri l'alternativa ai cookie sui browser che non supportano i cookie.
  • Desideri memorizzare le variabili globali in modo efficiente e più sicuro rispetto al passarle nell'URL
  • Stai sviluppando un'applicazione come un carrello della spesa che deve archiviare temporaneamente informazioni con una capacità superiore a 4 KB.

Creazione di una sessione

Per creare una sessione, devi prima chiamare la funzione PHP session_start e quindi memorizzare i tuoi valori nella variabile array $ _SESSION.

Supponiamo di voler conoscere il numero di volte che una pagina è stata caricata, possiamo usare una sessione per farlo.

Il codice seguente mostra come creare e recuperare i valori dalle sessioni

Produzione:

You are visitor number 1

Distruzione delle variabili di sessione

La funzione session_destroy () è usata per distruggere le intere variabili di sessione Php.

Se vuoi distruggere solo un singolo elemento della sessione, usa la funzione unset ().

Il codice seguente illustra come utilizzare entrambi i metodi.

Session_destroy rimuove tutti i dati della sessione, inclusi i cookie associati alla sessione.

Unset libera solo le singole variabili di sessione.

Altri dati rimangono intatti.

Sommario

  • I cookie sono piccoli file salvati sul computer dell'utente
  • I cookie possono essere letti solo dal dominio emittente
  • I cookie possono avere una scadenza, se non è impostato, il cookie scade alla chiusura del browser
  • Le sessioni sono come variabili globali memorizzate sul server
  • A ogni sessione viene assegnato un ID di identificazione univoco che viene utilizzato per tenere traccia delle variabili per un utente.
  • Sia i cookie che le sessioni devono essere avviati prima che qualsiasi tag HTML venga inviato al browser.