⊗ppPmSsAr 323 of 447 menu

Lagring af arrays i PHP sessioner

Lad os se på koden, vi lavede i den forrige lektion:

<?php if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

Faktisk kunne man have taget og gemt alle formdata med det samme i $_SESSION:

<?php if (!empty($_GET)) { $_SESSION = $_GET; } ?>

Og i filen test2.php gøre sådan her:

<?php if (!empty($_SESSION)) { echo array_sum($_SESSION); } ?>

Fordelen ved denne tilgang er, at vores kode vil fungere uafhængigt af antallet af inputfelter i formularen.

Der er dog også en ulempe: ved at overskrive $_SESSION sletter vi alle data, der tidligere var der. Hvad nu hvis et andet script har skrevet noget der? Så sletter vi det.

Lad os gøre på en anden måde:

<?php if (!empty($_GET)) { $_SESSION['nums'] = $_GET; } ?>

Som du kan se, har vi i sessionvariablen gemt ikke én enkelt værdi, men en hel array. Nu kan vi i filen test2.php finde summen af elementerne i denne array:

<?php if (!empty($_SESSION)) { echo array_sum($_SESSION['nums']); } ?>

På én side, spørg brugeren ved hjælp af en formular om navn, alder, løn og noget andet. Gem disse data i én sessionvariabel i form af en array. Når du går ind på en anden side, gennemgå de gemte data med en løkke og udskriv hvert element i arrayen i sit eget li-tag i et ul-tag.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis