Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem Z Funkcją Include
Forum PHP.pl > Forum > Przedszkole
Aht
Wykorzystuję na stronie (a raczej chciałbym wykorzystywać) taki prosty skrypt:
  1. <?php
  2. if (!isset ($page)) 
  3. {
  4.  $page = &#092;"bzdext\";
  5. }
  6. if (file_exists (&#092;"$page.txt\")) 
  7. {
  8. include &#092;"$page.txt\";
  9. } 
  10. else 
  11. {
  12.  print (&#092;"404\");
  13. }
  14. ?>

Kiedy jest on w pliku np. includowanie.php w któreym nie ma niczego poza tym kodem, wszystko działa jak powinno. Niestety, gdy wstawiam go na stronę, otrzymuję taki błąd:
Kod
Parse error: parse error, unexpected T_STRING in c:\usr\krasnal\www\piotr\ex\includowanie\index.php on line 1

Spróbowałem wejść na tą stronę przez localhost nawet przed wstawieniem kodu php, otrzymuję ten sam błąd...
Serwer to Krasnal 2.6 (Apache 1.3.29, php 4.3.4). Strona na która wstawiam kod jest napisana w XHTML'u 1.1, z kodowaniem UTF-8. Nie będę wstawiał jej kodu, bo byłoby to za długie, tu są do niego linki:
index_z_php.txt
index_bez_php.txt
akubiczek
Chłopie, komunikat wyraźnie Ci zwrócił błąd w linii pierwszej:

Kod
<?xml version="1.0" encoding="UTF-8"?>


to raczej nie jest kod php, ale zamknięty jest w tagach które php rozpoznaje i stara się wykonać <? ?> . Zrób to np. poprzez

  1. <?
  2.  print '<?xml version=\"1.0\" encoding=\"UTF-8\"?>';
  3. ?>


i z głowy problem smile.gif
Aht
Teraz działa bez problemu (jeszcze musiałem przerobić w lini 9 i 13), ale nie podoba mi się to rozwiązanie bo... Co php ma do tagów <?xml{/I] i [I]<?xml-stylesheet ? Rozumiem gdyby coś chciało od <? ... Wychodzi na to że jest niedostosowane do współpracy z XHTML'em, bo w nim te znaczniki są obowiązkowe... Nic nie da się na to poradzić?
matid
Cytat(Aht @ 2004-08-20 10:48:49)
Wychodzi na to że jest niedostosowane do współpracy z XHTML'em, bo w nim te znaczniki są obowiązkowe... Nic nie da się na to poradzić?

Kolega już opisał rozwiązanie, wystarczy uważnie czytać:
Cytat
  1. <?
  2. print '<?xml version=\"1.0\" encoding=\"UTF-8\"?>';
  3. ?>
akubiczek
Cytat(Aht @ 2004-08-20 10:48:49)
Co php ma do tagów <?xml{/I] i [I]<?xml-stylesheet ?


Fragment z php.ini:

Cytat
; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on php
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.
short_open_tag = On



U siebie możesz zmienić to na Off, ale na większosci serwerów masz włączone skrócone tagi, więc problem nie zniknie.
Aht
Dzięki, teraz wszystko jasne. Szkoda że domyślnie ta opcja jest ustawiona na on...
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.