Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] fopen otwierające stronę ze skryptem
marcin78
post 19.07.2004, 16:54:08
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.07.2004

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Ive
post 19.07.2004, 19:37:34
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
marcin78
post 19.07.2004, 20:21:32
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.07.2004

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Jabol
post 19.07.2004, 21:56:38
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


  1. <?php
  2. //(...)
  3. if(file_exists($urls)) include($urls);
  4. //(...)
  5. ?>
ale zaprawde powiadam Tobie, zrób tak, a strona tygodnia nie przetrzyma.
Go to the top of the page
+Quote Post
marcin78
post 20.07.2004, 16:37:45
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.07.2004

Ostrzeżenie: (0%)
-----


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?

Ten post edytował marcin78 20.07.2004, 16:44:50
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 17:39