Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [problem] XHTML + Błąd PHP
chfast
post 12.10.2003, 21:10:03
Post #1





Grupa: Zarejestrowani
Postów: 222
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Wrocław

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


Mam stronę w oparciu o szablony (Smarty). Taki problem mnie spotkał: Jeśli na stronie pojawia się błąd php to zazwyczaj dzieje się to zanim zostanie wyświetlony szablon. Co za tym idzie błąd będzie na samy początku wygenerowanego kodu XHTML. Jako że znaczniki w XHTML muszą być zgodne z XML 1.0 to ten błąd wszystko psuje, bo całość kodu nie jest zamknięta w jeden znacznik. Na takiej stronie pojawia się błąd XML i w ogóle się nie wyświetla. Jedyną radą jest umieszczenie błędu php w znacznik <pre>. Macie jakieś inne pomysły?


--------------------
pozdrawiam, chfast
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post 12.10.2003, 23:27:07
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




rozwiązanie jest bardzo proste.

Na samym począku strony php uruchamiasz [manual:b44b08b903]ob_start ()[/manual:b44b08b903]
Powoduje to, że wszystko, co by sostało wyświetlone, trafi zamiast na ekran, do bufora.
Wykonujesz cały kod php, a na końcu - juz przed wywołaniem pokazania wyników w smarty, czyli $smarty->display( ... );
do jakiejś zmiannej zapisujesz cały dotychczasowy output, np. tak:
[php:1:b44b08b903]<?php
$__ob_erors = @ob_get_contents();

/// i zatrzymujesz zapisywanie outputu do bufora
while (@ob_end_clean());
?>[/php:1:b44b08b903]
teraz zmianną z ewentulanym outputem z błędami (string) możesz assignować do smarty i dalej obrabiać.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 17:19