⊗ppPmSsAr 323 of 447 menu

Att lagra arrayer i PHP-sessioner

Låt oss titta på koden som vi skapade i föregående lektion:

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

Egentligen kunde man ha tagit och lagrat all formulärdata direkt i $_SESSION:

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

Och i filen test2.php göra så här:

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

Fördelen med detta tillvägagångssätt är att vår kod kommer att fungera oavsett antalet inmatningsfält i formuläret.

Det finns dock en nackdel: genom att skriva över $_SESSION raderar vi all data som tidigare fanns där. Vem vet vad vårt andra skript har skrivit dit? Och vi tar bort det.

Låt oss göra på ett annat sätt:

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

Som du ser, i sessionsvariabeln lagrade vi inte ett enskilt värde, utan en hel array. Nu kan vi i filen test2.php hitta summan av elementen i denna array:

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

På en sida, använd ett formulär för att fråga användaren om namn, ålder, lön och något annat. Lagra denna data i en sessionsvariabel i form av en array. När du går till en annan sida, gå igenom den sparade datan med en loop och visa varje element i arrayen i sin egen li-tagg inom en ul-tagg.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa