[PHP] Includowanie strony PHP i HTML w to samo miejsce

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
MariAnek
Posty: 11
Rejestracja: ndz paź 23, 2005 7:35 pm
Lokalizacja: Warszawa
Kontakt:

[PHP] Includowanie strony PHP i HTML w to samo miejsce

Post autor: MariAnek »

mam taki kod na stronie index.php:
[php]<?php
<div id="tresc">
<?
if($id=="") include("indeks.html");
else
{
if(file_exists("$id.html"))
include("$id.html");
else
include("404.html");
}
?>
</div>
?>[/php]
i mam odnosniki innych stron np galeria.html

Kod: Zaznacz cały

<a href="index.php?id=galeria/galeria > galeria</a>
i wszystkie strony otwierają się bez problemu
a potrzebuje w to samo miejsce dać stronę z rozezerzeniem php -> div treść
jaki dać link do strony news.php?
jaki ma być odnosnik by się strona znalazła w div ?
nie wiem czy jasno to napisałem?
Na pytania i o pomoc czekam :-D

1. Ankietę umieszczaj w topicach, popartych odpowiednim tematem [poprawione]
2. Nie proś o odpowiedź na prywatny adres (za: Jak mądrze zadawać pytania)
3. Do prezentacji fragmentu kodu korzystaj z odpowiedniego BBCode [poprawione]


EDIT: ok pkt 2 poprawiony
a jesli chodzi o punkt 1 to co to są topiki? ankiete zaproponowałem przy okazji i nie rozumiem czemu nie miała by być.
Pytam sie różnych grup ludzi nawet programistów to mi ułatwia zrozumienie ludzi i pomaga w tworzeniu strony :-)
Czy tu wszystko musi bys napoważnie :?
Stig
Administrator
Posty: 938
Rejestracja: pn paź 04, 2004 10:52 am

Re: [PHP] Includowanie strony PHP i HTML w to samo miejsce

Post autor: Stig »

Istnieje kilka rozwiązań:
1. Ujednolicić rozszerzenia wszystkich includowanych plików.

2. Zastosować dwie różne zmienne przesyłane metodą GET, każda odpowiadająca plikowi o innym rozszerzeniu.

3. Skorzystać z funkcji in_array() i array() oraz instrukcji warunkowej if w celu "pogrupowania" includowanych stron ze względu na rozszerzenie na zasadzie:
[php]<?php
if (in_array($id,array('news','przykład1'))) {
include ($id.php);
}
elseif (in_array($id,array('galeria','przykład2'))) {
include ($id.html);
}
else {
die ('404')
}
?>[/php]
4. Stworzyć rozbudowaną instrukcję switch.

Na pewno istnieje jeszcze wiele innych możliwości. Oczywiście najlepszą i najprostszą jest ta, którą omówiłem jako pierwszą. Poza tym, wiedzę w Twoim kodzie zastosowanie dość ryzykownych rozwiązań i w związku z czym polecam uwadze temat "[PHP] include($x) - czyli jak stracić stronę i reputację".
MariAnek pisze:ok pkt 2 poprawiony
a jesli chodzi o punkt 1 to co to są topiki? ankiete zaproponowałem przy okazji i nie rozumiem czemu nie miała by być.
Pytam sie różnych grup ludzi nawet programistów to mi ułatwia zrozumienie ludzi i pomaga w tworzeniu strony :)
Czy tu wszystko musi bys napoważnie :?
Topic (ang. temat) oznacza temat, wątek.

Jak wspomniałem - umieszczenie ankiety powinno być poparte odpowiednią treścią topicu. W tym wypadku między tematyką wątku i ankiety nie było żadnego związku. Nic nie stoi na przeszkodzie, ażebyś utworzył w dziale Hydepark & Offtopic osobno taką ankietę, koniecznie popartą odpowiednim tematem. Staramy się, ażeby forum było poważne i z wykluczeniem specyficznych topiców, tematów i sytuacji wszystko powinno być brane na poważnie.
ODPOWIEDZ