Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [problem] XHTML + Błąd PHP
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
chfast
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?
DeyV
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ć.
Wankster
Albo wyłącz raportowanie błędów winksmiley.jpg
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.