Introductie over PHP-sessies

Sessies worden gebruikt binnen webapplicaties. Het gebruik van sessie in PHP is om de gegevens beschikbaar te maken op verschillende pagina's van een website. De gegevens of informatie zoals naam, adres, enz. Worden van de ene pagina naar een andere gebruikerssessie overgedragen. Deze sessie-informatie wordt gebruikt voor authenticatiedoeleinden. Net zoals de cookies worden opgeslagen in de browser van de klant, worden de sessiegegevens opgeslagen op de server in een tijdelijke map.

Om een ​​sessie te beginnen, gebruiken we de functie session_start (). En wanneer de sessie begint, duurt deze standaard 24 minuten, wat 1440 seconden is. Een sessie wordt geïdentificeerd door sessie-ID's of SID, wat een uniek nummer is om elke gebruiker te identificeren.

Hoe maak je sessies?

session_start () is de functie die wordt gebruikt om een ​​sessie te starten. Als er al een sessie bestaat, gebruikt deze dezelfde sessie, anders wordt er een nieuwe sessie gemaakt. Deze functie wordt altijd aan het begin van elke pagina aangeroepen. Nadat de functie is aangeroepen, kunnen we beginnen met het opslaan van waarden in de sessievariabelen, maar niet daarvoor. PHP slaat informatie van de gebruiker op in een super globale variabele $ _SESSION.

Om te weten wat het pad is van de map waarin sessies worden opgeslagen, hebben we een instructie met de naam session_save_path in het php.ini-bestand om het pad op te slaan. Ook drukt de sessie-id de id af die is gekoppeld aan de huidige sessie. Het is een uniek willekeurig gegenereerd nummer.

Laten we het onderstaande programma bekijken.

Wanneer u in dit programma deze sessievariabele afdrukt met print_r ($ _ SESSION), worden alle ingestelde sessiegegevens afgedrukt. De uitvoer heeft de vorm van een associatieve reeks sleutel / waarde-paren.

In dit voorbeeld starten we de sessie eerst met de functie session_start (), initialiseren we variabelen en wijzen we deze toe aan sessievariabelen met _SESSION ('name') = $ name, drukken we de super global array af. We drukken de unieke waarde van de sessie-ID ook af met de functie session_id ().

Voorbeeld 1

Code:

<_?php
// example to start session
//beginning a session
// no arguments are passed to this function
session_start();
//initializing variables
$name = 'Neha';$age = 28;
//storing values in session
$_SESSION('name') = $name;
$_SESSION('age') = $age;
// printing session valuesprint_r($_SESSION);
//using the session id
echo '
The session_id is ';
echo session_id();
?>

Uitgang:

Hoe sessies verwijderen?

Voorbeeld 2

De functie Session_destroy () wordt gebruikt om een ​​sessie te vernietigen. Deze functie vernietigt de volledige sessie. Om een ​​enkele sessievariabele uit te schakelen, kunnen we de functie unset () gebruiken.

In dit voorbeeld drukken we eerst de sessiegegevens af om te weten wat de sessie inhoudt, waarna we de reeds ingestelde sessievariabelen vernietigen met de functie unset (). Hier vernietigen we beide ingestelde sessievariabelen zoals de naam en de leeftijd. En na het vernietigen drukken we de sessie opnieuw af en zien dat deze een lege array retourneert, wat betekent dat de variabelen zijn uitgeschakeld en de sessie niet meer bestaat.

Code

<_?php
//example to unset session variables
//starting a session
session_start();
print_r($_SESSION);
//before destroying the session
//printing the session
unset($_SESSION('name'));
unset($_SESSION('age'));
echo 'Session destroyed';
//after destroying the session
//printing the session
print_r($_SESSION);
?>

Uitgang:

In het volgende voorbeeld vernietigen we een sessie.

Om de sessie te vernietigen, zullen we eerst de sessiewaarde controleren en vervolgens de sessie vernietigen. en druk opnieuw de sessie af die een lege array zal zijn omdat de sessie niet bestaat.

Voorbeeld 3

Code:

<_?php
//example to destroy session
//starting a session
session_start();
//to completely destroy a session
session_destroy();
echo 'Session destroyed';
//after destroying the session
//printing the session
echo '
';
print_r($_SESSION);
?>

Uitgang:

Hier in het programma zien we dat we in de eerste regel de sessie starten en de telvariabele initialiseren op 0. Vervolgens controleren we of een sessievariabele is ingesteld of niet. hier controleren we één voorwaarde of een sessienaam paginaberichten is ingesteld, zo ja, verhoog dan de waarde van de telvariabele met één en initialiseer de telwaarde naar één.

Voorbeeld 4

Code:

<_?php
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>
<_?php echo '
session_start();
$count = 0;
if(!isset($_SESSION('page_views'))) (
$_SESSION('page_views') = 1;
$count = $_SESSION('page_views');
) else (
$_SESSION('page_views') = $_SESSION('page_views') + 1 ;
$count = $_SESSION('page_views');
)
?>
Finding count of page views
'. 'The count of page views '. $count;
?>

Output:

Hoe Auto Session in Php aan te zetten?

Om autosessies in php in te schakelen, moeten we een wijziging aanbrengen in het configuratiebestand php.ini.

Waar php.ini een standaard configuratiebestand is

Sessies starten niet automatisch vanzelf, om een ​​sessie automatisch te laten werken, moeten we het volgende doen, maar eenmaal gedaan wordt de sessie automatisch gestart voor alle bestanden en wordt deze gesloten nadat de standaardtijd voorbij is.

Dus in het php.ini-bestand zullen we zoeken naar

session.auto_start = 0

en stel de waarde zo in op 1

session.auto_start = 1

Dit helpt PHP om sessies automatisch te starten.

Het belang van een sessie

  • Net als $ _COOKIE hebben we $ _SESSION, een superglobal variabele die op de server wordt opgeslagen.
  • In het geval de cookies niet worden ondersteund door de browser van de gebruiker, kunnen we de sessie gebruiken. Aan elke sessie is een uniek ID toegewezen volgens het gebruikersbezoek op de website.
  • Wat betreft het opslaan van gegevens, slaat de sessie meer gegevens op dan een cookie kan opslaan.
  • De sessie wordt gebruikt om informatie van de ene pagina naar de andere te brengen.
  • De sessie kan worden gebruikt om het aantal bezoekers van de website te krijgen.
  • De sessie wordt ook gebruikt voor authenticatiedoeleinden.
  • Gegenereerde sessie-ID's zijn uniek.

Conclusie

In dit artikel wordt uitgelegd wat een sessie is, hoe de sessie werkt, hoe we de sessie maken, hoe we een bepaalde sessie verwijderen.

Ook wordt uitgelegd hoe we ervoor zorgen dat de sessies automatisch beginnen te werken door de richtlijn sessie.auto_start () in te stellen op 1.

Vervolgens werd met een voorbeeld uitgelegd hoe te tellen, hoe vaak de pagina is bekeken met behulp van sessies. Ook wordt uitgelegd wat het belang is van een sessie en hoe het nuttig is voor verschillende doeleinden.

Aanbevolen artikelen

Dit is een gids voor sessies in PHP. Hier bespreken we het maken van sessies en verwijderen van sessies in PHP met de gegeven voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Inkapseling in PHP
  2. PHP Magic Constants
  3. Overbelasting in PHP
  4. Overschrijven in PHP
  5. Constructor in PHP
  6. PHP recursieve functie
  7. Recursieve functie in Python
  8. Recursieve functie in C
  9. Recursieve functie in JavaScript
  10. Hoe werken cookies in JavaScript met Example?