Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]ob_start() - czy poytzebne jeśli działą bez tego?, Ogólnie proszę o opinie na temat tej funcji
Tho
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


Tworzę już chyba z tydzień, system rejestracji z całym oprzyrządowaniem, przypomnienie hasła itd.. W związku z tym chciałbym poznać Twoją opinie.

Czy jest to nierozerwalnie związane z session_start? Zawsze jedno ob musi być przed nim a drugie ob za nim. Czy mają być na końcach plików, niezależnie od fragmentów <?php?>?


Dowiedziałem się że przed każdym session_start(); musi być ob_start(); a na zakończenie(ale w którym dokładnie miejscu, co znaczy zakończenie?) ma być ob_end_flush().

Początek każdego pliku zazwyczaj wygląda u mnie tak.

  1. <?php
  2. ?>


Początek znaczy, nawet przed "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">"

Później mam kilka sektorów <?php?> i wszystko zdaje się działać niezależnie od tego czy w pliku jest gdziekolwiek ob_end_flush(); .

Czy może tego nie widać, nie wywala błędów, ale trzeba to wstawić bo brak tego czymś grozi?

Proszę mnie ignorancko nie odsyłać do manuala, bo gdybym tam nie sprawdzał, nie pisał bym takiego długiego postu. Tam jest bardziej definicja, a mi chodzi o OPINIE i rady.

Czy i dlaczego nie wystarczy samo session_start(); ?

Ten post edytował Tho 30.10.2011, 20:02:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


1. Koduj pliki w utf-8 bez bom
2. nie musisz nigdzie używać ob_start(), wystarczy że mądrze rozplanujesz sobie skrypt.
Go to the top of the page
+Quote Post
Tho
post
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


Cytat(peter13135 @ 30.10.2011, 20:23:01 ) *
1. Koduj pliki w utf-8 bez bom
2. nie musisz nigdzie używać ob_start(), wystarczy że mądrze rozplanujesz sobie skrypt.


1. Wszystkie pliki mam zakodowane w UTF-8 bez BOM.

2. Sprawa nie jest taka prosta, bo jeśli to prawda "nie musisz używać", to dlaczego wstawienie ob_start() spowodowało zniknięcie tego błędu, nie wstawiałem ob_end_flush(), samo ob_start na samym początku pliku, przed session_start, to wystarczyło by zniknął komunikat błędu.

Pytanie, czy zamknąć "ob" poprzez ob_end_flush()? I dlaczego to jest takie ważne, by to otworzyć, bo bez tego nie przejdzie, a już nie trzeba zamykać(z tego co zauważyłem jak dotąd, być może jest to konieczne, ale jak narazie nie zauważyłem błędów spowodowanych brakiem tego.

Jak to jest?

Proszę nie zamykać tego tematu jak poprzednio, uzasadnieniem "To już było", bo stare wątki na ten temat przeszukałem i nie znalazłem tam odpowiedzi na to akurat pytanie.

Ten post edytował Tho 31.10.2011, 10:06:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 01:48