CMS-kursen

Uppgifter: tema och sessionsdata

Två uppgifter där du använder en kaka för en inställning och en session för att spara värden.

Räkna med ungefär 30 minuter för båda uppgifterna.

Uppgift 1: mörkt eller ljust tema

Ta fram en sida där besökaren kan välja mörkt eller ljust tema. Valet ska sparas i en kaka, så att sidan kommer ihåg det nästa gång.

Krav:

  • Två länkar eller knappar: Mörkt och Ljust.
  • Valet sparas i en kaka som gäller i minst 30 dagar.
  • Sidan får olika bakgrunds- och textfärg beroende på kakans värde.
  • Finns ingen kaka används ljust tema.

Tips:

  • Läs kakan till en variabel överst, med ett standardvärde: $tema = $_COOKIE['tema'] ?? 'ljust';
  • Godkänn bara värdena ljust och morkt. Kakan kommer från besökaren och kan innehålla vad som helst.
  • Använd variabeln som klassnamn: <body class="<?= $tema ?>">

Uppgift 2: spara värden i sessionen

Ta fram en funktion som sparar värden i sessionsvariabeln, och en sida som använder den.

Krav:

  • En funktion spara($nyckel, $varde) som lägger värdet i $_SESSION.
  • En funktion hamta($nyckel) som returnerar värdet, eller null om det saknas.
  • Ett formulär där besökaren skriver in en nyckel och ett värde.
  • Sidan listar allt som finns sparat i sessionen.

Gör den här uppgiften i din egen webbrot med php -S.

Klar när

  • Temat finns kvar när sidan laddas om.
  • Ett påhittat värde i kakan, till exempel rosa, ger ljust tema.
  • Värden du sparar i sessionen finns kvar när du laddar om sidan.