Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd 404 dla braku danych w bazie
bllleee
post 1.02.2011, 16:44:44
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 2
Dołączył: 8.12.2009

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


Witam,

mam taki problem. Chciałbym zrobić przekierowanie na stronę błędu w momencie gdy z bazie nie ma powiedzmy artykułu o jakimś id. Strona jest postawiona na SMARTY najpierw generuje się część wspólna czyli jakieś menu, a następnie sprawdzam czy dany artykuł istnieje, operacje te są wykonywane w innym pliku niż index.php, który jest includowany do niego. Jeśli nie to wyświetlam info (normalnie w ramach strony), że taki artykuł nie istnieje. Chciałbym jednak wyświetlać stronę z błędem 404. Dodanie na początek pliku header("HTTP/1.0 404 Not Found") nic nie daje. Czy można to jakoś rozwiązać?

Mateusz
Go to the top of the page
+Quote Post
Zyx
post 1.02.2011, 16:48:10
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Po pierwsze, nie HTTP 1.0, a HTTP 1.1. Chyba nie zamierzasz obsługiwać przeglądarek z początku lat 90.

Sprawa ze stronami błędów wygląda w ten sposób, że nagłówek się jak najbardziej wysyła, ale przydałoby się jeszcze wysłać jakiś kod HTML z komunikatem "Błąd 404, coś tam nie istnieje". Tak, możliwe (a nawet zalecane) jest wtedy wysłanie własnego kodu HTML.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
bllleee
post 1.02.2011, 17:06:51
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 2
Dołączył: 8.12.2009

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


Właśnie problem leży w tym, że nagłówek się nie wysyła. Pojawia mi się strona z komunikatem taka jakbym wyświetlał normalnie artykuł, a nie strona błędu. Jak wpiszę jakiś zupełnie kosmiczny adres w przeglądarce (taki nie pasujący do mod_rewrite) to wyświetla mi się strona błędu.

Czy jak wcześniej został wygenerowany normalny nagłówek html to czy wrzucenie w jakimś miejscu dodatkowo header("HTTP/1.1 404 Not Found") spowoduje, że będzie to strona błędu?
Go to the top of the page
+Quote Post
Zyx
post 1.02.2011, 21:10:18
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Dopóki nagłówki nie zostały wysłane, możesz je dowolnie zmieniać. Zakładam, że wiesz o tym, że wysłanie nawet pojedynczego bajtu normalnej treści uniemożliwia zmianę nagłówka. Zakładam też, że zrozumiałeś to, co napisałem poprzednio, że treść strony błędu musisz sam przygotować i wysłać razem z nagłówkiem.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
bllleee
post 2.02.2011, 11:36:49
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 2
Dołączył: 8.12.2009

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


Cytat
Zakładam, że wiesz o tym, że wysłanie nawet pojedynczego bajtu normalnej treści uniemożliwia zmianę nagłówka.

To tłumaczy mi już wszystko. Wielkie dzięki za pomoc.
Go to the top of the page
+Quote Post

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: 19.04.2024 - 20:59