0502 Uppgift 2.2 - PHP (frivillig)

Efter att ha gjort som i den första PHP-uppgiften stylas vald sida i menyn felaktigt på de flesta sidor. Därtill är titeln som visas på fliken i webbläsaren samma för alla sidor. Så var det inte tidigare.

Nedan visas hur man kan komma till rätta med problemet. Lösningen besår i mer PHP-kod.

index.php

  <?php 
      include("incl/config.php");
      $pageTitle = "Visas i flik"; //ny rad
      $pageId = "index"; //ny rad
      //nedanstående rad måste komma efter de nya raderna
      include("incl/header.php"); 
  ?>

$pageTitle är en variabel som innehåller texten Visas i flik. I PHP kan man inte ange en variabels datatyp. Variabelnamn föregås av $.

I JAVA skriver man

  String pageTitle = "Visas i flik";

$pageId är en annan variabel som har värdet index. Det är samma som filnamnet men utan filändelse. För sidan sida_1.php innehåller den värdet sida_1.

Variablerna används i header.php, se nedan.

header.php

  <title>Visas i flik</title>

byts ut mot

  <title>
      <?php 
          echo $pageTitle; 
      ?>
  </title>

Anropet echo $pageTitle ger utskrift av variabeln $pageTitle i HTML-koden. Resultatet blir i slutändan detsamma.

menyn

Antag att menyn såg ut så här i index.html

  <ul>
      <li>
          <a class='selected' href='index.html'>Hem</a>
      </li>
      <li>
          <a href='sida_1.php'>Sida Ett</a>
      </li>
      <li>
          <a href='sida_2.php'>Sida Två</a>
      </li>
  </ul>

Koden class='selected' gör att valt alternativ kan stilas.

Denna kod byts ut mot

  <?php 
      if ($pageId == "index") 
      { 
          echo "class='selected'"; 
      } 
  ?>

Motsvarande kod måste läggas till i de båda andra länkarna på motsvarande ställe. Kan du lista ut vilken kod som behöver läggas till? Aktuell fil, header.php, inkluderas ju på sidorna index.php, sida_1.php och sida_2.php