boom_11 [ Konsul ]
uaktualnianie www
czy są jakieś skrypty/metody które umożliwią mi zmianę danego elementu na wszystkich stronach mojego serwisu www??
chodzi o to ze mam np. pliki a.htm , b.htm , c.htm i w kazdym jest identyczne menu i pasek nawigacyjny, ale po jakimś czasie chce zmienić to menu i pasek na wszystkich stronach naraz.
Jak to zrobić zeby nie otwierać po kolei plików a, b i c.htm i nie zmieniac wszystkiego kolejno????
a i jeszcze co zrobić zeby ta zmiana byla widoczna tylko w plikach a, b i c ???
Qbaa [ Generaďż˝ ]
dawno temu używałem do takich celów programu Search&Replace
gregol [ Junior ]
good idea :) sie podlaczam do pytania i upne watek
WorldWideWeb [ Konsul ]
Sposobów jest kilka. Najprostrze to:
1. Funkcja include() w php.
2. Udawanie include w JavaScript
bartek [ ]
Od tego jest właśnie iclude() jak zauważył słusznie WorldWideWeb (jaka światowa ksywka... ;)).
przygotowujemy sobie stronę np. w tabelkach, w miejscu w którym mają być widoczne zmiany wstawiamy kod :
php:
<? include ("frame.php"); ?>
- tworzymy w katalogu z plikiem index.php, plik frame.php i zapisujemy w nim :
php:
<?
switch ($_GET['id'])
case ("news"):
include ("plik1.html");
break;
case ("download"):
include ("plik2.html");
break;
case ("pomoc"):
include ("plik3.html");
break;
case ("inne"):
include ("plik4.html");
break;
//( ... )
default:
include ("witaj.html");
?>
Objaśnienie :
- kiedy wpiszemy index.php?id=news , zostanie dołączony plik plik1.html,
- kiedy wpiszemy index.php?id=download , zostanie dołączony plik plik2.html,
- kiedy nie podamy nic po index.php?id= lub wywołamy sam plik index.php zostanie wczytany plik witaj.html,
- w miejsce oznaczone ( ... ) możemy wpisać dowolną ilość "części" funkcji, odpowiedzialnych za dołączanie innych plików
Źródło: Forum serwisu Webhelp.pl.
Jeśli natomiast nie miałeś styczności z php dotąd to jest jedno, bardzo niezalecane wyjście, za to genialnie proste:
kun4 [ Konsul ]
ale pytanie nie bylo o funkcje include tylko o program
WorldWideWeb [ Konsul ]
Pytanie było o skrypty/metody. A kod który przedstawił bartek to niewątpliwie skrypt PHP.
A dla zwolenników 1.php i na przykład o_mnie.php w adresie jest prostsza metoda. Zamiast tego menu wstawiamy poniższy skrypt
<? include('katalog/plik.inc'); ?>, a w ramach plik.inc umieszczamy treść menu. Stosowanie rozszerzenia .inc ma ta zaletę, że jest ono odczytywane przez skrypty, ale nie bezpośrednio przez przeglądarkę.
boom_11 [ Konsul ]
Dzięki za pomoc, teraz jak mi się uda wstawić ten skrypt to nareszcie nie będe się musiał tyle męczyć :)
paw :] [ Pretorianin ]
ktoś to moze jeszcze raz tylko 2razy dokładniej wytłumaczyć?
bo nie rozumiem tego :
przygotowujemy sobie stronę np. w tabelkach, w miejscu w którym mają być widoczne zmiany wstawiamy kod :
php:
<? include ("frame.php"); ?>
i niebardzo reszte :P
boom_11 [ Konsul ]
nie udało się!
zrobiłem na próbe pliki a1.php i a2.php w których umieściłem tabelkę z jakimiś napisami.
tak wygląda plik a2.php:
<body>
<table width="148" height="278" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>fghnfgh<br>
fgh<br>
fgh php:
<? include ("frame.php"); ?><br></td>
</tr>
</table>
</body>
(plik a1 bardzo podobnie)
a tak wygląda plik frame.php:
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>php:
<?
switch ($_GET['id'])
‹
case ("a1"):
include ("a1.html");
break;
case ("a2"):
include ("a2.html");
break;
</body>
co mam robić dalej aby zmienic zawartość tych 2tabelek w plikach a1 i a2 ???
i czy zeby zmieniac zawartość menu na kazdej stronie naraz w moim seriwsie musze na kazdej z tych stron przy robieniu ich dopisywac <? include ("frame.php"); ?> ??????