Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Pobieranie tytułu
Forum PHP.pl > Forum > Przedszkole
amedin
Panowie mam stronę i w index.php mam get i pobiera mi zawartość podstron. Tylko jak zrobić aby bo wybraniu jakiejś podstrony w <title> zmieniał się tytuł strony. Bo mogę dodać <title> na każdej podstronie ale wtedy nie przejdzie walidacji wc3. A nagłówek i stopkę chcę mieć w index.php bo czesto modyfikuję to i nie chcę zmieniać ręcznie na każdej podstronie. Jak to zrobić automatycznie. ?
Hpsi
  1. if($_GET['title'] == '')
  2. echo '<title>Witamy na mojej stronie</title>';
  3. else
  4. echo '<title>'.$_GET['title'].'</title>';


ogólnie najprostrzy przykład - użyj instrukcji if ?smile.gif
ixpack
Przyszło mi szybko do głowy: zrób tablicę z tytułami np:
  1. $titles = array('id_podstrony' => 'tresc title'...);


Teraz w miejsce <title>TU</title> wstaw kod php wyświetlając wartość z tablicy, a jeżeli masz puste id podstrony lub nie ma id w talicy to wyświetlasz tytuł np. indeksowy.
ReBeLs513
Ja to mam tak, że górę includuje, potem dodaje title i pozostały kod strony:-) ew. gdzieś na stronie jeszcze include
amedin
ReBeLs513 tak ale w index.php rozpoczyna mi się już sekcja body żeby menu było na wszystkich itd. a <title> winno być w <head> bo inaczej jest to błąd w walidacji. Zaraz spróbuję z powyższymi przykładami smile.gif

Kurcze nie czaję tego. Wybaczcie jest zielony w php koduję szablony w html i css3 i tu mogę się popisywać wiedzą jednak php to czarna magia. Mam w index.php sekcję <head> wraz z <title> i rozpoczyna się <body> w którym jest menu i początek strony. W tym momencie mam:


  1. <?php
  2. switch ($_GET['id'])
  3. {
  4. case ("start"):
  5. include ("omnie.php");
  6. break;
  7.  
  8. case ("blog"):
  9. include ("blog.php");
  10. break;
  11.  
  12. case ("webdesign"):
  13. include ("webdesign.php");
  14. break;
  15.  
  16. case ("kontakt"):
  17. include ("kontakt.php");
  18. break;
  19.  
  20. case ("logos"):
  21. include ("logos.php");
  22. break;
  23.  
  24. case ("inne"):
  25. include ("inne.php");
  26. break;
  27.  
  28. case ("fotografia"):
  29. include ("fotografia.php");
  30. break;
  31.  
  32. default:
  33. include ("omnie.php");
  34. }
  35. ?>


I teraz jak w index.php wczytać <title> po zmianie strony? Żeby tak <title> był w tym samym miejscu w index.php a nie na podstronie bo tam już będzie poza <head>?
ixpack
Jeżeli zerkniesz na źródło i zobaczysz tagi <title> tytuł </title> to zamiast "tytuł" wstaw ten kod:

  1. <?php
  2. switch ($_GET['id']) {
  3. case ("start"): echo "Tytuł dla start"; //możesz też include zrobić pliku, gdzie będzie tytuł...
  4. break;
  5.  
  6. case ("blog"): echo "Tytuł dla blog";
  7. break;
  8.  
  9. //i analogicznie dla reszty...
  10.  
  11. default: echo "Tytuł dla home page'a";
  12. }
  13. ?>
amedin
Dzięki chłopaki za pomoc. Wszystko śmiga aż miło smile.gif
@rtur
to ja się dołączę do pytania, bo mam też szablon i już w jednym miejscu użyłem switch case, tak się zastanawiam czy nie wydajniej byłoby dla mnie zrobić w ten sposób:
  1. switch ($_GET['s']) {
  2. case 'costam0':
  3. $tytul='Tytuł dla costam0';
  4. $tresc=include_once('costam0.php');
  5. break;
  6. case 'costam1':
  7. $tytul='Tytuł dla costam1';
  8. $tresc=include_once('costam1.php');
  9. break;
  10. default:
  11. $tytul == ' - Strona główna';
  12. $tresc=include_once('reszta.php');
  13. }

i potem tylko w tresci dać:
  1. echo '<title>'.$tytul.'</title>';
  2. echo 'jakiś tam text';
  3. echo $tresc;

niż robić kilka instrukcji switch case, co o tym myślicie?
amedin
Twój sposób niestety nie działa. Jest tak title ale wartość dla zmiennej $tytul zostaje zawsze pusta.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.