Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Include
Forum PHP.pl > Forum > Przedszkole
Kredka29
Witam.
Korzystam z kodu php:
  1. <table>
  2. <tr>
  3. <td><?
  4. $urls=$id.".html"; /*zamiast html musimy podać jakie
  5. rozszerzenia mają pliki, które chcemy wkleić */
  6. if(file_exists("$urls"))
  7. {
  8. $file=fopen($urls,"r");
  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=\"java script:history.back()\">Powrót</a>");
  20. } /* Tu pojawia się informacja, gdy wystąpi błąd */
  21. ?>
  22. </td>
  23. </tr>
  24. </table>

I jest wszystko dobrze..., jak wpiszę np.
Kod
http://www.TuJestAdresStrony.pl/index.php?id=strona11

To includuje się:
Kod
http://www.TuJestAdresStrony.pl/strona11.html

A jak wpiszę np.:
Kod
http://www.TuJestAdresStrony.pl/index.php?id=feesagfew

To otwiera się
Cytat
Wystąpił błąd. Plik do którego prowadzi ten link NIE
ISTNIEJE !!!

Powrót

- To jest dobrze


Ale chciałbym aby po wpisaniu samego
Kod
http://www.TuJestAdresStrony.pl/index.php LUB http://www.TuJestAdresStrony.pl/

nie wyskakiwał mi ten błąd, a includowała mi się strona page.php

Pomoże ktoś?
peter13135
no więc zrób coś takiego

  1. <?php
  2. if(!$id)
  3. {include 'page.php';
  4. }
  5. ?>



edit://

apropo kodu... to powinieneś zrobić tak
  1. <?php
  2. $id=$_GET['id']
  3. ?>


oraz zamiast fgets wystarczy include... lub prostsza w użyciu funkcja file_get_contents (php5)
Kredka29
Cytat(peter13135 @ 31.03.2009, 13:06:48 ) *
no więc zrób coś takiego

  1. <?php
  2. if(!$id)
  3. {include 'page.php';
  4. }
  5. ?>



edit://

apropo kodu... to powinieneś zrobić tak
  1. <?php
  2. $id=$_GET['id']
  3. ?>


oraz zamiast fgets wystarczy include... lub prostsza w użyciu funkcja file_get_contents (php5)


Co to tego pierwszego, to jak dodaję to na górze, to niezależnie co wpiszę, i tak wyświetla się page.php oraz błąd...
Co do drugiego... możesz troszkę szerzej?
peter13135
no jak wrzuciłeś to tak po prostu to nic dziwnego... spróbuj w ten sposób

  1. <?php
  2. $id=$_GET['id'];
  3. $url=$id'.html';
  4.  
  5. if($id)
  6. {
  7.  if(file_exist($url))
  8.  {
  9.  include $url;
  10.  }
  11.  else
  12.  {
  13.   echo 'niema pliku';
  14.  }
  15. }
  16. else
  17. {
  18.  include 'page.php';
  19. }
  20. ?>



edit:// drobna poprawka biggrin.gif
Kredka29
Cytat
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/jeremy/domains/xxxxxxxxxx.pl/public_html/ws/index.php on line 3
peter13135
  1. <?php
  2. $url=$id.'.html';
  3. ?>



troche samodzielnego myślenia proponuje...
Kredka29
Cytat(peter13135 @ 31.03.2009, 13:43:37 ) *
  1. <?php
  2. $url=$id.'.html';
  3. ?>



troche samodzielnego myślenia proponuje...

No widzę, wpisuję ?id=1
Co by znaczyło że ma się z includować 1.html...
I wychodzi teraz:
Fatal error: Call to undefined function file_exist() in /home/jeremy/domains/xxx.pl/public_html/ws/index.php on line 7
peter13135
heh smile.gif
ta funkcja nazywa sie tak
file_exists

zjadłem jeden znak... moja wina... ale jednak mogłeś przeczytać treść tego errora... i zobaczyć jak wygląda ta funkcja w twoim wcześniejszym kodzie
Kredka29
No wielkie gratulacje i podziękowania dla ciebie smile.gif

Leci pomógł party.gif
Nawet dwa Rkingsmiley.png
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.