Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][inne]Dynamiczny tytuł stron
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich smile.gif
Mam problem, ponieważ nie bardzo wiem, jak zabrać się za dynamiczną zmieniane tytułu strony.
Mógłbym Was prosić o pomoc?
Z góry dziękuje,
Pozdrawiam,
adrianozo
b4x
Jak? np. Zmienne. ;-)
adrianozo
To ja wiem, ale wszystko się u mnie opiera o index.php jednym słowem mam adresy przekazywane get'em i nie mam na to pomysłu
MWL
Każdy kiedyś zaczynał tongue.gif

Pokaż jak wygląda przykładowy GET.
b4x
Powiedzmy taki mini-przykład:

  1. <?php
  2. switch ( $_GET['adres'] )
  3. {
  4. case 'jakistam':
  5. $title = 'Jakis tam adres';
  6. break;
  7.  
  8. case 'kolejny':
  9. $title = 'Kolejny...';
  10. break;
  11.  
  12. default: 'Jakis tam domyslny';
  13. }
  14. ?>
  15. <title><?=$title?></title>
blooregard
  1. <html>
  2. <head>
  3. <?php
  4. $titles = array(1 => 'Witamy - strona główna' , 2 => 'Edycja profilu' , 3 => 'Lista użytkowników');
  5. $pages = array(1 => 'welcome.php' , 2=>'profile.php' , 3 => 'users.php');
  6. $id = (integer)$_GET['id']
  7. ?>
  8. <title><?php echo $titles[$id]; ?></title>
  9. </head>
  10.  
  11. <body>
  12. Menu:
  13. <ul>
  14. <li><a href="index.php?id=1">Witamy</a></li>
  15. <li><a href="index.php?id=2">Profil</a></li>
  16. <li><a href="index.php?id=3">Lista użytkowników</a></li>
  17.  
  18. <?php if ($id) include_once( $pages[$id] ); ?>
  19. </body>
  20. </html>
  21.  
tvister
Diagnozuje niemoc twórczą. Proponuje 2 browarki na wskrzeszenie szaraków :-p.

ps. żeby nie było że post nie na temat.
Dynamicznie to może tak:
Kod
   document.title = "Goodbye World!";
adrianozo
  1. <?php
  2. if (!empty($_GET['page']))
  3. {
  4. switch($_GET['page'])
  5. {
  6. case 'portfolio':
  7. include('strona/portfolio.php');
  8. break;
  9. case 'oferta':
  10. include('strona/oferta.php');
  11. break;
  12. case 'skrypty':
  13. include('strona/skrypty.php');
  14. break;
  15. case 'o_mnie':
  16. include('strona/o_mnie.php');
  17. break;
  18. case 'kontakt':
  19. include('strona/kontakt.php');
  20. break;
  21. case 'reklama':
  22. include('strona/reklama.php');
  23. break;
  24. default;
  25. echo 'Wystąpił błąd.<br /> Niepoprawna nazwa pliku.';
  26. break;
  27. }
  28. }
  29. else
  30. {
  31. include('strona/home.php');
  32. }
  33. ?>
b4x
  1. <?php
  2. if (!empty($_GET['page']))
  3. {
  4. switch($_GET['page'])
  5. {
  6. case 'portfolio':
  7. $title = 'Jakis tam adres';
  8. include('strona/portfolio.php');
  9. break;
  10. case 'oferta':
  11. $title = 'Jakis tam adres oferta';
  12. include('strona/oferta.php');
  13. break;
  14. case 'skrypty':
  15. $title = 'Jakis tam adres skrypty';
  16. include('strona/skrypty.php');
  17. break;
  18. case 'o_mnie':
  19. $title = 'Jakis tam adres o mnie';
  20. include('strona/o_mnie.php');
  21. break;
  22. case 'kontakt':
  23. $title = 'Jakis tam adres kontakt';
  24. include('strona/kontakt.php');
  25. break;
  26. case 'reklama':
  27. $title = 'Jakis tam adres reklama';
  28. include('strona/reklama.php');
  29. break;
  30. default;
  31. $title = 'Nie ma takiej strony';
  32. echo 'Wystąpił błąd.<br /> Niepoprawna nazwa pliku.';
  33. break;
  34. }
  35. }
  36. else
  37. {
  38. $title = 'Glowna';
  39. include('strona/home.php');
  40. }
  41. ?>


I w title w includowanych stronach dajezs np:

  1. <?php echo $title; ?>
adrianozo
Dzięki zaraz wypróbuje smile.gif

Hmmm no to jest zonk blinksmiley.gif
Mój index wygląda mniej więcej tak:

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <title>nPortfolio - nansss <?php echo $tytul; ?></title>
  7. <link rel="stylesheet" type="text/css" media="all" href="style.css" />
  8. <link rel="icon" type="image/png" href="images/favicon.png" />
  9. </head>
  10. <body>
  11. <div id="glowny">
  12. <div id="logo">
  13. </div>
  14. <div id="menu">
  15. <a href="index.php">Strona główna</a>
  16. <a href="/portfolio">Portfolio</a>
  17. <a href="/oferta">Oferta</a>
  18. <a href="/skrypty">Skrypty</a>
  19. <a href="/o_mnie">O mnie</a>
  20. <a href="/kontakt">Kontakt</a>
  21. <a href="/reklama">Reklama</a>
  22. </div>
  23. <div id="tresc">
  24. <div align="center">
  25. <?php
  26. if (!empty($_GET['page']))
  27. {
  28. switch($_GET['page'])
  29. {
  30. case 'portfolio':
  31. $title = 'Portfolio';
  32. include('strona/portfolio.php');
  33. break;
  34. case 'oferta':
  35. $title = 'Oferta';
  36. include('strona/oferta.php');
  37. break;
  38. case 'skrypty':
  39. $title = 'Skrypty';
  40. include('strona/skrypty.php');
  41. break;
  42. case 'o_mnie':
  43. $title = 'O mnie';
  44. include('strona/o_mnie.php');
  45. break;
  46. case 'kontakt':
  47. $title = 'Kontakt';
  48. include('strona/kontakt.php');
  49. break;
  50. case 'reklama':
  51. $title = 'Reklama';
  52. include('strona/reklama.php');
  53. break;default;
  54. $title = 'Wystąpił błąd';
  55. echo 'Wystąpił błąd.<br /> Niepoprawna nazwa pliku.';
  56. break;
  57. }
  58. }
  59. else
  60. {
  61. $title = 'Strona główna';
  62. include('strona/home.php');
  63. }
  64. ?>...

W plikach, które includuje znajduje się tylko kod php zero html, więc tam nie znajduje się <title></title>
A nie mogę przecież najpierw odwoływać się do zmiennej, a później ją tworzyć
MWL
daj kod php zaraz po head
adrianozo
Ale nie mogę, ponieważ nie będzie mi się wtedy wyświetlał w odpowiednim div'ie
b4x
  1. <?php
  2. $titles = array
  3. (
  4. 'portfolio' => 'Moje portfolio',
  5. 'oferta' => 'Moja oferta',
  6. 'skrypty' => 'Skrypty',
  7. 'o_mnie' => 'Strona o mnie',
  8. 'kontakt' => 'Skontaktuj sie',
  9. 'reklama' => 'Taka reklama',
  10. );
  11. ?>
  12. <!DOCTYPE html
  13. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  14. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  15. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  16. <head>
  17. <title>nPortfolio - nansss <?=(isset($_GET['strona'])) ? $titles[$_GET['strona']] : 'Domyślny title';?></title>
  18. <link rel="stylesheet" type="text/css" media="all" href="style.css" />
  19. <link rel="icon" type="image/png" href="images/favicon.png" />
  20. </head>
adrianozo
Zastanawia mnie ten kod:

  1. <?=(isset($_GET['strona'])) ? $titles[$_GET['strona']] : 'Domyślny title';?>


Dlaczego po <? jest znak =, dlaczego po : jest 'Domyślny title' i dlaczego pomiędzy (isset($_GET['strona'])) a $titles[$_GET['strona']] jest ?
blooregard
Podstawy się kłaniają.

<?= to skrót od <?php echo

? to operator ternarny:
(warunek)? wyswietl_jesli_spelniony : wyswietl_jesli_nie_spelniony;

adrianozo
Jest problem, ponieważ za każdym razem warunek jest nie spełniony

Ok już działa smile.gif
Dzięki za pomoc
Pomógł lecą
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.