ďťż

[PHP]Dynamiczny tytuł

       

Podstrony


telcocafe

Mam taki kod:
<html> <head> <title>t</title> </head> <body> <h1> <!-- tytuł, którego nie ma --> </h1> <?php include('strona_z_tytulem.php'); ?> </body> </html>
Chcę aby pomiędzy znacznikami <h1> i </h1> znalazł się tytuł, który zostanie załadowany ze strony strona_z_tytulem.php z jakiejś zmiennej. Jak to zrobić?



<html> <head> <title>t</title> </head> <body> <h1> <?php include('strona_z_tytulem.php'); echo($zmienna); ?> </h1> </body> </html>

Mi chodzi o takie zestawienie:
<html> <head> <title>t</title> </head> <body> <h1> <!-- tytuł, którego nie ma --> </h1> <hr> <?php include('strona_z_tytulem.php'); ?> </body> </html>
Między tytułem (który jest wyświetlany na górze) a załączoną stroną jest menu. Po kliknięciu na jedną z pozycji menu ma się pokazać strona (poniżej menu) a na górze tytuł tej strony. Klikam na link news pokazuje się strona z newsami i tytuł na górze Newsy.

Jeżeli tytuł byłby w pierwszej linijce dokumentu:

#to wyświetla tytuł $file = file('strona_z_tytulem.php'); echo $file[0]; #to wyświetla treść $text = ''; for ($i=1; $i<Count($file); $i++) {  $text .= $file[i]; }

Może zadziała :D



W strona_z_tytulem.php zamiast echo, czy też wyłamywania się ze skryptu wrzucaj wszystko co się ma wyświetlić do zmiennej $zawartosc, a tytuł do $tytul i potem <html> <?php include('strona_z_tytulem.php'); ?> <head> <title>t</title> </head> <body> <h1> <?php echo $tytul; ?> </h1> <hr> <?php echo $zawartosc; ?> </body> </html>

(...)
edit:
no to klops, "troche" się spóźniłem.. ***.
napisałem to co mmatheww... więc zostawię drugą cześć... jak komuś nie podoba się ten post, może go usunąć... :/

(...)
no i wczytywana stronka:
<? $tytul = 'Podrozdział'; $zawartosc = 'Witam wszystkich. <font color="red">Test</font> <b>lol</b>'; ?>

ja używam właśnie takiego rozwiązania, bo jak ktoś poda adres do pliku php to i tak nic nie zobaczy :)
Użytkownik DJ_ProG edytował ten post 09 czerwiec 2006, 16:54

(...)
edit:
no to klops, "troche" się spóźniłem.. ***.
napisałem to co mmatheww... więc zostawię drugą cześć... jak komuś nie podoba się  ten post, może go usunąć... :/

(...)
no i wczytywana stronka:
<? $tytul = 'Podrozdział'; $zawartosc = 'Witam wszystkich. <font color="red">Test</font> <b>lol</b>'; ?>

ja używam właśnie takiego rozwiązania, bo jak ktoś poda adres do pliku php to i tak nic nie zobaczy :)

zauważ, że rozpoczynasz wartość od apostrofa i w środku też go używasz... więc musisz postawić "\" przed apostrofem :)

<? $tytul = 'Mapy'; $zawartosc = '<p>M&oacute;j skromny dorobek map do Counter-Strike\'a 1.6</p> <p>Mapy ukończone:</p> <p align="center"><img src="wamperhouse.gif" width="382" height="95"></p> <p align="center"><img src="fy_ice_labyrinth.gif" width="364" height="85"></p> <p>Projekty rozpoczęte, ale nie zakończone: </p> <p align="center"><img src="szopenery.gif" width="363" height="91"> </p>'; ?>


zauważ, że rozpoczynasz wartość od apostrofa i w środku też go używasz... więc musisz postawić "\" przed apostrofem :)

<? $tytul = 'Mapy'; $zawartosc = '<p>M&oacute;j skromny dorobek map do Counter-Strike\'a 1.6</p> <p>Mapy ukończone:</p> <p align="center"><img src="wamperhouse.gif" width="382" height="95"></p> <p align="center"><img src="fy_ice_labyrinth.gif" width="364" height="85"></p> <p>Projekty rozpoczęte, ale nie zakończone: </p> <p align="center"><img src="szopenery.gif" width="363" height="91"> </p>'; ?>

oczywiście, że się da:)

robisz folder np. tresci_stron/ w którym będą treści stron i katalog strony/ w którym będą tytuły i scieżki do odpowiedniej strony.
i potem
$tytul='Tytul'; $zawartosc='tresci_stron/strona_glowna.html';

a na tej stronie co ma to być wyswietlone
<?php include("strony/strona_glowna.php"); ?> <h1><?php echo $tytul;?></h1> <?php include($zawartosc);?>

Wysarczy pokombinować, ale w sumie nie wiem czy to wygodne rozwiązanie. Radziłbym korzystać z własnych umiejętności, a nie WYSIWYG.

Pozdrawiam
Użytkownik phpowiec edytował ten post 11 czerwiec 2006, 16:45
No tak. A ja odwalałem to tak, że dawałem wpierw zmienną a potem include pliku.
Ale dzięki. Poradziłem sobie i z tym. Dałem tak jak w index.php z plikiem sys.php z Eksperta. Tylko nazwy zmieniłem, np. jak jest plik glowna.php to stworzyłem plik glowna_t.php, a w nim tylko wpis, który ukazuje się między <H1>. Lecz uznałem, że jest to niewygodne (zbyt dużo plików) więc zrobiłem to w pętli, np.: jeśli nazwa $_GET glowna to wyświetl Strona główna, itd.

A jaki sens ma to rozwiązanie? Przyspiesza to wczytywanie stron? Wpływa to pozytywnie na stronę?

Nie wiem ale jest inne rozwiązanie, o którym czytałem na kurshtml.boo.pl - Javascript.
Tylko to jest zastosowanie ramek oraz wielu plików...
Użytkownik andrzej_aa edytował ten post 03 lipiec 2006, 10:53
Jak już wyżej pisałemjest taki sposób:<select name="lista" onchange="self.location.href='this.value'"> <option value="1.htm">1.htm</option> <option value="2.htm">2.htm</option> </select>
Niestety mam kolejny problem.
Zawartość części pliku edit_txt.php:echo('<select name="file" onchange="self.location.href = \'index.php?show=edit_txt&amp;file=\' + this.value">'); for ($i=0;$i<count($base)-1;$i++) echo('<option value="'.$base[$i].'">'.$base[$i].'< /option>'); echo('</select>'); if (isset($_GET['file']) $$ !empty($_GET['file'])) { readfile($_GET['file']; }$base to baza z listą plików .txt
Skrypt przekazuje do pliku edit_txt.php metodą GET nazwę pliku, który ma zostać otwarty.
Jak zrobić, żeby nazwa pliku była przekazywana w sposób "tajny"?

POST lub ajax+sesje.
W przypadku post wszystko to umieszczasz w <form></form> i dodajesz przycisk submit, a w drugim przypadku wywołujesz funkcję która zapisuje coś do sesji a edit_txt.php to odczytuje z sesji.
Albo - łatwiej, bo nie wymaga ajax - to samo w oparciu na ciasteczkach. Po wybraniu pozycji zapisuj cos do ciasteczek, a skrypt php niech to odczytuje.

POST raczej nie... Teraz jest taki efekt: Gdy wybiorę pozycję z listy, jest ona ładowana (jako strona metodą GET). Po załadowaniu znacznikiem selected jest oznaczona odpowiednia pozycja. Metoda POST by to wszystko popsuła...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.