Info o ciastkach

Eeee...
Żeby strona działała fajnie to trzeba zaakceptować obsługę pewnych plików. Jeśli jesteś nienormalny, nosisz czapkę z amelinium i siedzisz w schronie zbudowanym z poduszek to możesz je sobie wyłączyć. Autor strony nie czerpie żadnych korzyści z cookies (twierdzi nawet, że ten komunikat jest głupi), ale, cóż - Unia wymaga. Korzystając z witryny zgadzasz się z polityką cookies.

Wszystko w budowie...

Include zamiast kopiuj/wklej

logo html

Nie będzie to jakiś odkrywczy wpis. Po prostu przeglądałem pewną stronę. I twórcy tej strony ambitnie postanowili tworzyć ją w czystym htmlu. Problem jest tego typu, że jest tam już kilka podstron. Poza tym na stronie pojawiają się aktualności. A dynamiczna treść nie może być generowana językiem znaczników. Potrzebny jest jakiś język programowania.

Obecny proces tworzenia wygląda tak - piszemy plik index.html i jego zawartość wklejamy jako pliki podstron. Byłoby całkiem znośnie gdyby plik index.html kopiować pod innymi nazwami. Ale nie. I mamy błędy w postaci urwanych nagłówków.

Nie będę też pisał dlaczego taki proces jest zły. Bo bez wątpienia jest. Trzeba przecież pisać tą samą rzecz wiele razy. Mam nadzieję, że sami zainteresowani to przeczytają. Całość nie będzie skomplikowana bo użyję tylko podstawowych funkcji PHP.

OK. Najpierw trzeba stworzyć plik index.php, czyli główny plik. Przydałoby się również stworzyć folder na treść dołączaną do strony czyli np folder /inc. Załóżmy, że w tym folderze będzie main.inc, o-nas.inc i kontakt.inc. Na razie to wygląda tak

/
| index.php
| inc
     | kontakt.inc
     | main.inc
     | o-nas.inc

W pliku indeksu umieszczamy podstawowy szablon strony a w pozostałych zawartość która będzie się zmieniać. Logiką zajmie się instrukcja switch(), czyli



<?php
  $strona=htmlentities($_GET['strona']);
?>
<!DOCTYPE html>
<html lang="pl">
<head>
  <meta charset="utf-8">
  <title>Tytuł</title>
</head>
<body>
<?php
  switch($strona){
    case 'kontakt':
    case 'o-nas':
      include '/inc/'.$strona.'.inc';
      break;
    default:
      include 'main.inc';
      break;
  }
?>
</body>
</html>

Zasada jest prosta: metodą GET otrzymujemy zmienną $strona. W zależności co w tej zmiennej jest to ta strona zostaję załadowana. Gdy podanej strony nie ma to zostaje załadowana strona z sekcji default. Można to rozwiązać inaczej ale tak jest bezpieczniej i prościej. Aby dostać się do strony korzystamy ze składni strona/index.php?strona=podstrona. Czyli aby załadować stronę o-nas należy wpisać strona/index.php?strona=o-nas.

I to wszystko. Całość jest nieskomplikowana i lekkostrawna.

PS. Dodam tylko twórcom tamtej witryny - nie używajcie spacji (nbsp) do wyrównywania wyrazów. Może u Was jest dobrze ale u innych - nie bardzo.
PPS. Do automatycznego numerowania pozycji listy lepiej posłużyć się faktycznie listą (ul lub ol).
PPPS. No i bgcolor? Poważnie? Może i CDN...

Komentarze (0)

Nikt jeszcze nie dodał komentarza. Możesz być pierwszy.

Napisz komentarz lub zgłoś błąd

Dodane w dniu 5 listopada 2016 przez Michał Misztal
Kopiowanie powyższych wypocin dozwolone pod warunkiem podania źródła, znaczy tandemu autor + link do strony