PHP -zelfstudie

PHP HOME PHP-intro PHP-installatie PHP-syntaxis PHP-opmerkingen PHP-variabelen PHP-echo / afdrukken PHP-gegevenstypen PHP-strings PHP-nummers PHP-wiskunde PHP-constanten PHP-operators PHP Als...Anders...Anders PHP-switch PHP-loops PHP-functies PHP-arrays PHP Superglobals PHP RegEx

PHP- formulieren

PHP-formulierverwerking PHP-formuliervalidatie PHP-formulier vereist URL/e-mail van PHP-formulier PHP-formulier voltooid

PHP Geavanceerd

PHP-datum en tijd PHP opnemen PHP-bestandsverwerking PHP-bestand openen/lezen PHP-bestand maken/schrijven PHP-bestand uploaden PHP-cookies PHP-sessies PHP-filters PHP-filters geavanceerd PHP-callback-functies PHP JSON PHP-uitzonderingen

PHP OOP

PHP Wat is OOP PHP-klassen/objecten PHP-constructor PHP-vernietiger PHP-toegangsmodificaties PHP-overerving PHP-constanten PHP abstracte lessen PHP-interfaces PHP-kenmerken PHP statische methoden Statische eigenschappen van PHP PHP-naamruimten PHP-iterables

MySQL- database

MySQL-database MySQL Connect MySQL DB maken MySQL-tabel maken MySQL Gegevens invoegen MySQL Laatste ID ophalen MySQL Meerdere invoegen MySQL voorbereid MySQL Gegevens selecteren MySQL Waar MySQL Bestel op MySQL Gegevens verwijderen MySQL-updategegevens MySQL-limietgegevens

PHP XML

PHP XML-parsers PHP SimpleXML-parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

Ajax-intro AJAX PHP AJAX-database AJAX XML Live zoeken in Ajax Ajax-peiling

PHP- voorbeelden

PHP-voorbeelden PHP-compiler PHP-quiz PHP-oefeningen PHP-certificaat

PHP- referentie

PHP-overzicht PHP-array PHP-agenda PHP-datum PHP-map PHP-fout PHP-uitzondering PHP-bestandssysteem PHP-filter PHP FTP PHP JSON PHP-sleutelwoorden PHP Libxml PHP-e-mail PHP-wiskunde PHP Diversen PHP MySQLi PHP-netwerk PHP-uitvoercontrole PHP RegEx PHP SimpleXML PHP-stream PHP-string Beheer van PHP-variabelen PHP XML-parser PHP-zip PHP-tijdzones

PHP- sessies


Een sessie is een manier om informatie (in variabelen) op te slaan voor gebruik op meerdere pagina's.

In tegenstelling tot een cookie wordt de informatie niet op de computer van de gebruiker opgeslagen.


Wat is een PHP-sessie?

Wanneer u met een toepassing werkt, opent u deze, brengt u enkele wijzigingen aan en sluit u deze vervolgens. Dit lijkt veel op een sessie. De computer weet wie je bent. Het weet wanneer u de toepassing start en wanneer u eindigt. Maar op internet is er één probleem: de webserver weet niet wie je bent of wat je doet, omdat het HTTP-adres de status niet behoudt.

Sessievariabelen lossen dit probleem op door gebruikersinformatie op te slaan voor gebruik op meerdere pagina's (bijv. gebruikersnaam, favoriete kleur, enz.). Standaard blijven sessievariabelen bestaan ​​totdat de gebruiker de browser sluit.

Dus; Sessievariabelen bevatten informatie over één enkele gebruiker en zijn beschikbaar voor alle pagina's in één toepassing.

Tip: Als u een permanente opslag nodig heeft, kunt u de gegevens in een database opslaan .


Een PHP-sessie starten

Er wordt een sessie gestart met de session_start()functie.

Sessievariabelen worden ingesteld met de globale PHP-variabele: $_SESSION.

Laten we nu een nieuwe pagina maken met de naam "demo_session1.php". Op deze pagina starten we een nieuwe PHP-sessie en stellen we enkele sessievariabelen in:

Voorbeeld

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>

Opmerking: desession_start()functie moet het allereerste zijn in uw document. Vóór eventuele HTML-tags.



Waarden van PHP-sessievariabelen ophalen

Vervolgens maken we een andere pagina aan met de naam "demo_session2.php". Vanaf deze pagina hebben we toegang tot de sessie-informatie die we op de eerste pagina hebben ingesteld ("demo_session1.php").

Merk op dat sessievariabelen niet afzonderlijk aan elke nieuwe pagina worden doorgegeven, maar dat ze worden opgehaald uit de sessie die we aan het begin van elke pagina openen ( session_start()).

Merk ook op dat alle sessievariabelen worden opgeslagen in de globale $_SESSION-variabele:

Voorbeeld

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>

Een andere manier om alle sessievariabelen voor een gebruikerssessie weer te geven, is door de volgende code uit te voeren:

Voorbeeld

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

Hoe werkt het? Hoe weet het dat ik het ben?

De meeste sessies stellen een gebruikerssleutel in op de computer van de gebruiker die er ongeveer zo uitziet: 765487cf34ert8dede5a562e4f3a7e12. Wanneer vervolgens een sessie op een andere pagina wordt geopend, wordt de computer gescand op een gebruikerssleutel. Als er een match is, krijgt hij toegang tot die sessie, zo niet, dan start hij een nieuwe sessie.


Een PHP-sessievariabele wijzigen

Om een ​​sessievariabele te wijzigen, hoeft u deze alleen maar te overschrijven:

Voorbeeld

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>

Een PHP-sessie vernietigen

Gebruik en om alle globale sessievariabelen te verwijderen en de sessie te session_unset() vernietigen session_destroy():

Voorbeeld

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>

PHP-oefeningen

Test jezelf met oefeningen

Oefening:

Maak een sessievariabele met de naam "favcolor".

session_start();
["favcolor"] = "green";