Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z funkcją include
Forum PHP.pl > Forum > Przedszkole
Gość_Wojtek
Witam

Ucze sie programowania w php. I napotkalem problem:)
Mianowice stworzylem plik index.php, dzial.php, lewa.htm, prawa.htm, srodek.htm

W pliku dzial.php stworzylem tapele z 3 kolumn. W pierwszej kolumnie za pomoca skryptu <?php include("lewa.htm"); ?> wstawilem plik lewa.htm
podobnie zrobilem z ostatnią kolumną <?php include("prawa.htm"); ?>

W srodkowej kolumnie chcialem użyć funkcji:

  1. <?
  2. $urls=$id.".html"; /*zamiast html musimy podać jakie
  3. rozszerzenia mają pliki, które chcemy wkleić */
  4. if(file_exists("$urls"))
  5. { 
  6. $file=fopen($urls,"r"); /* otwiera plik o ścieżce 
  7. dostępu równej wartości 
  8. zmiennej $id plus rozszerzenie */
  9.  
  10. while($linia=fgets($file, 99))
  11. {
  12. echo($linia); // wyświetla zawartość pliku $file
  13. }
  14. fclose($file); // zamyka plik
  15. }
  16. else{
  17. echo("<p align="center"><b>BŁĄD 404</b><br><br>
  18. Wystąpił błąd. Plik do którego prowadzi ten link NIE 
  19. ISTNIEJE !!!<br><br><a href="javascript:history.back()">Powrót</a>");
  20. } /* Tu pojawia się informacja, gdy wystąpi błąd */
  21. ?>


Tak aby po wpisaniu adresu np. dzial.php?id=srodek w srodkowej kolumnie pojawil się plik srodek.htm
A np. gdy wpisze dzial.php?id=lewa w srodkowej kolumnie otworzy się plik lewa.htm
Jak mam zmienic powyższy skrypt. Są tam opisy, ale nic mi nie pomogly.

Proszę o pomoc. Z gory dziekuje


~mike_mech
Pigula
czytalem 4 razy twojego posta i...
Cytat
Jak mam zmienic powyższy skrypt.

ale co chcesz uzyskac po zmianie bo nie jest to jasno napisane. jezeli chcesz zeby nie bylo mozna includowac do srodka lewa.html to wystarczy if'em sprawdzic i tyle. albo zrob sobie case i numerami sprawdzaj 1 to np. galeria.html 2 - kontakt.html a jak nie ma tego na liscie albo numer jest bledny to jakis default. jezeli chodzi ci o co innego to napisz ta prosto i jasno.
Gość_Wojtek
http://php.webhelp.pl/index.php?id=64&roz=php&ac=read
to jest artykuł z ktorego pobralem skrypt. I tam jest opisane co ma on na celu.
Ja to wyjasnilem najprosciej jak potrafie.
A co do zmiany skryptu, to chodzilo mi o te komentarze do kazdej lini, bo one mowią ze cos tam trzeba wstawic a ja nie potrafie dojść co.
Moze moglbys go "uzupełnic" jakoś sugerując sie komentarzami.
Pigula
dobrta teraz juz co nieco czaje smile.gif
nie wiem co autor chcial pokazac ty skryptem ale jak dla mnie lepiej to zrobic tak:
jak masz linki to tak jak autor napisal"
  1. <a href="dzial.php?id=nazwa">Nazwa</a>

a w czesci srodkowej robisz:
  1. <?php
  2. $id = $_GET['id'];
  3. switch ($id) {
  4. case 'strona_glowna': include ('strona_glowna.html');
  5. break;
  6. case 'artykuly': include ('artykuly.html');
  7. break;
  8. case 'kontakt': include ('kontakt.html');
  9. break;
  10. //i tak dalej
  11. default: include ('strona_glowna.html');
  12. }
  13. ?>


switch i jeszcze przeczytaj o zabezpieczeniu takiego skryptuzabezpieczeniu takiego skryptu
sposob tamtego autora czyli szczytywanie po linijce ma sens do plikow txt a nie html
Gość_Wojtek
Czyli skrypt tego autora wczytuje pliki .txt questionmark.gif?
Gość_Wojtek
Zrobilem to z twoim skryptem. I działa:) Dzieki serdeczne
Ale czy moglbys mi jeszcze powiedziec jak uzyc tego skryptu do wczytywania .txt
  1. <?
  2. $urls=$id.".txt"; /*zamiast html musimy podać jakie
  3. rozszerzenia majš pliki, które chcemy wkleić */
  4. if(file_exists("$urls"))
  5. { 
  6. $file=fopen($urls,"r"); /* otwiera plik o œcieżce 
  7. dostępu równej wartoœci 
  8. zmiennej $id plus rozszerzenie */
  9.  
  10. while($linia=fgets($file, 99))
  11. {
  12. echo($linia); // wyœwietla zawartoœć pliku $file
  13. }
  14. fclose($file); // zamyka plik
  15. }
  16. else{
  17. echo("<p align="center"><b>BŁĽD 404</b><br><br>
  18. Wystšpił błšd. Plik do którego prowadzi ten link NIE 
  19. ISTNIEJE !!!<br><br><a href="javascript:history.back()">Powrót</a>");
  20. } /* Tu pojawia się informacja, gdy wystšpi błšd */
  21. ?>


W lini 2 trzeba wstawic rozszerzenie .txt
A co trzeba wpisac w 6 lini zamiast tego r
Czy jeszcze cos trzeba zmienic w ktorejs z lin.

Pozdrawiam
Pigula
jezeli chcesz tylko odczytac plik .txt to nie zmieniasz r. r oznacza ze plik jest otwarty do odczytu (poczytaj w manualu o fopen) jedyne co trzeba to przekazywac nazwe pliku przez zmienna $id i powinno dzialac.
mariusz_
Ja używam czegoś takiego do wczytania plików HTML.

  1. <?php
  2. if (isset($_REQUEST["id"])) {
  3. $id = $_REQUEST["id"];
  4. }
  5. $strona = $id.".htm";
  6.  if(file_exists($strona))
  7.  {
  8.  include ("$strona");
  9.  }
  10.  else
  11.  {
  12. // przeniesienie jeśli nie znaleziono strony
  13. header( "Location: http://www.tumnieprzenies" );
  14.  }
  15. ?>


U mnie działa prawidłowo.
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.