Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] fopen otwierające stronę ze skryptem
Forum PHP.pl > Forum > Gotowe rozwiązania
marcin78
Według informacji znalezionych w internecie zmieniłem moją stronę tak, że teraz wszystkie podstrony otwierają się w jednej stronie (otwierają się konkretnie w stronie drezno.php). Oto kod php zamieszczony na stronie drezno.php:

  1. <?
  2. $urls=$id.&#092;".php\"; //wszystkie otwierane strony mają rozszerzenie .php
  3. if(file_exists(&#092;"$urls\"))
  4. {
  5. $file=fopen($urls,&#092;"r\");
  6. while($linia=fgets($file, 99))
  7. {
  8. echo($linia);
  9. }
  10. fclose($file);
  11. }
  12. else{
  13. echo(&#092;"<p align=\"center\\"><b>BŁĄD 404</b><br><br>
  14. Wystąpił błąd. Plik do którego prowadzi ten link NIE
  15. ISTNIEJE !!!<br><br><a href=&#092;"javascript:history.back()\">Powrót</a>\");
  16. }
  17. ?>


Wszystkie strony zawierające tylko kod html otwierają się w stronie drezno.php bez problemu, np.
http://www.drezno.art.webd.pl/drezno.php?id=semper
Wystarczy jednak, aby w otwieranej stronie była choć odrobina kodu php lub odwołanie do skryptu, to wtedy następuje albo złe wyświetlanie albo nic nie zostanie wyświetlone, np.:
http://www.drezno2.art.webd.pl/drezno.php?id=kontakt - widać fragmenty kodu php
lub
http://www.drezno2.art.webd.pl/drezno.php?id=ksiega - pusta strona, żadnych wpisów w księdze. Jeśli podejrzycie źródło strony, to zauważycie, że w kodzie html strony znajduje się fragment nieprzetworzonego kodu php (pod tagami <h1></h1>. Wygląda to tak, jak gdyby kod php zawarty na otwieranych stronach w ogóle nie był rozpoznawany i był traktowany jak tekst.
Podobnie rzecz się ma z katalogiem linków (gdy formularz email, księga i katalog istnieją jako samodzielne strony, wtedy nie ma problemu).
Gdzie tu jest błąd? Czy w ogóle jest możliwe otwieranie stron z rozszerzeniem php w innych stronach?
Ive
a czemu 'wpisujesz' każdą linijke do pliku drezno.php skoro można łatwo to władować [ include() ] dry.gif
ja zawsze stosuje include() do czegoś takiego i zawsze działa wszystko smile.gif
marcin78
Trochę nie zrozumiałem, jestem bardzo początkującym, jeśli chodzi o php.
Chodzi o fopen? Zamiast tego dać include? Jeśli tak, to możesz napisać ten kawałek poprawionego kodu?
Jabol
  1. <?php
  2. //(...)
  3. if(file_exists($urls)) include($urls);
  4. //(...)
  5. ?>
ale zaprawde powiadam Tobie, zrób tak, a strona tygodnia nie przetrzyma.
marcin78
Cytat(Jabol @ 2004-07-19 20:56:38)
ale zaprawde powiadam Tobie, zrób tak, a strona tygodnia nie przetrzyma.

Czemu? Czy ten sposób ma jakieś wady?
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-2024 Invision Power Services, Inc.