Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XHTML][XML][PHP]prolog i nie tylko...
Forum PHP.pl > Forum > XML, AJAX > XML
Volume
Mam 3 pytanka..

1.Robię stronę wg XHTMLa 1.1 i gdy deklaruje w prologu zgodność z XMLem np tak:
  1. <?xml version="1.0" encoding="iso-8859-2"?>
to strony gdzie używam php w ogóle nie działają - tzn wyskakuje biała pusta strona. Natomiast jak pomine ten prolog i zacznę od Doctype to wszystko działa ok - dlaczego? Zastanawim się czy stosować między skryptem php zapisu CDATA czy to nie ma większego znaczenia?

3. Czy np. dla XHTMLa 1.1 prolog np w tej postaci:
  1. <?xml version="1.1" encoding="iso-8859-2"?>
można stosować albo czy rózni się czymś od prologu z wersją XMLa 1.0?

2.Jakiego kodowania najlepiej używać dla polskich znaków - ja obecnie używam windows-1250 dla wygody bo nie muszę przerabiać polskich znaków na jakis kod, ale czy to kodowanie jest odpowienie czy lepiej wybrać iso-8859-2 - bo chyba większość stron takiego używa - ale spotkałems ie w XMLu jesz z innymi kodowaniami - więc co najlepiej wybrać?...
wassago
jezeli strona z deklaracja jest parsowana to rob tak
  1. <?php
  2.  
  3. echo '<?xml version=\"1.0\" encoding=\"iso-8859-2\"?>';
  4.  
  5. ?>

Wygoda wygoda, ale dla polskich ogonkow zawsze uzywamy iso-8859-2 i tego tez nalezy sie trzymac.
dr_bonzo
1.
  1. <?xml version="1.0" encoding="iso-8859-2"?>

Prawdopodobnie masz
short_tags = on (w php.ini)
Jesli jest "on" to traktuje "<?" jako tag otwierajacy skrypt php. w tym przypadku po rozpoczeciu skryptu php napotyka na nieznane "xml" dlatego powinno wyrzucic blad. (Gdy ustawisz short_tags na off wtedy tagiem otwierajacym skrypt php bedzie "<?php" i nie bedzie problemu z <?xml. Jesli nie mozesz zmienic konfiguracji php: zrob tak:
  1. <?php
  2. print( &#092;"<?xml version....\" );
  3. ?>
  4. (reszta kodu html)
  5. <?php
  6. // kod php
  7. ?>


A dlaczego nie wyswietla bedu: masz wylaczone wyswietlanie bledow, ustaw error_reporting na E_ALL, | display_errors na on, wtedy powinno ci wyswietlic error.
Volume
Niestety to jest darmowy serwer of.pl i na nim nie wyświetlają sie błędya a tylko puste strony. Przetestowałem to na innym (nie moim) serwerze no i rzeczywiście Parse error w 2 wierszu.
Cytat
Parse error: parse error in /home/krylamex/public_html/usun2/index.php on line 2
Uczywiście wpisałem tak jak pisaliście zarówno funkcja echo jak i print mi nie działa...
wassago
cos mi sie nie wydaje ze of.pl, udostepnia konto z dostepem do php.
Volume
Dlaczego tak myślisz? - przecież jakby nie było php to bym tam nie testował stronki ze skryptami php... Oczywiście, że of.pl udostępnia php. Wszystko działa poprawnie tylko gdy wpisuje ten prolog <?xml ..?> to stronka się nie wczytuje. Ani Echo ani Print mi nie pomaga...
A może znacie jakieś inne mogą byc zagraniczne ale darmowe serwery oprócz Lycosa i K9 bo z nieznanych mi przyczyn tam w ogóle nei mogę nic wrzucić na konto.

Jeszcze małe pytanko.. przekodowałem sobie na iso stronę i mam taka wątpliwość odnośnie księgi gości - poniewą w testach wypadła dobrze tzn. wpisy są wg iso-8859-2 ale myślałem, że bez dodatkowej funkcji nie mają prawa mi się same przekodowywać - czy może to normalne, że skrypt php dostosowuje się do kodowania strony?
wassago
nie wieze, ze nie dziala winksmiley.jpg pokaz pierwszych 10 linijek kodu.
Volume
Tak wygląda kod który działa:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<base href="http://<?php echo strrev( strchr( strrev( $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] ), '/' ) ); ?>" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>...</title>
</head>
<body xml:lang="pl">
tresc, skrypty php..
</body>
</html>

Jakby były jakies wątpliwości po co znacznik base to uzylem go ze wzgledu na przyjazne url'e.
.dragonfly
Nie uzywam darmowych serwerow, ale jesli Volume dostaje wiadomosc z bledem tzn. ze php musi tam byc biggrin.gif
Volume
Na of.pl jest akurat tak, że nie widac błędów a skrypt z błędem sprawdziłem na serwerze znajomego.


*****************
edytowane

OK teraz działa - jeszcze raz wpisałem echo i zadziałało... Wetdy widocznie musiałem coś źle wpisać. Sorki za zamieszanie, i wielkie dzięki za pomoc.
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.