Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> session_start();
waqmaz
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 22.01.2011
Skąd: Murowana Goślina

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


Wiem, że już było to milion, razy, dlatego nie proszę o rozwiązanie tego, a jedynie o sposób w jaki inaczej mogę wysłać session start.

Powiedzmy, że mój index.php wygląda tak:

  1. <div class="kontener_glowny">
  2. <?php if($_GET['action']!=NULL) { require $_GET['action'] . ".php"; } else { require "jakis_tam_plik.php"; } ?>
  3. </div>

Teraz w index.php powiedzmy klikam sobie w link o nazwie rejestracja, którego kod wygląda tak:
  1. <a href="index.php?action=kontener_rejestracji">Rejestracja</a>

No i teraz formularz rejestracji zostaje wyświetlony w index.php w oknie głównym.
Kiedy wypełnię formularz i wduszę submit, to przesyłają się dane do pliku, w którym jest sesia - tak wygląda przesłanie zawartych w text-boxach informacji po naciśnięciu submit:
  1. <form action="index.php?action=rejestracja" method="post">

I wszystko się udało: w index.php w kontener_glowny zostało wyświetlone: Rejestracja pomyślna!, do bazy danych mySQL został dodany nowy użytkownik, tylko jeden upierdliwy błąd powstaje, z którym nie mogę sobie poradzić już od 3 dni i strasznie mnie to denerwuje (IMG:style_emoticons/default/worriedsmiley.gif) ;<.
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\index.php:86) in C:\xampp\htdocs\nowa_rejestracja.php on line 2

Odrazu powiem, że ten błąd pojawia się mimo, że wszystko działa - użytkownik został dodany do bazy i w ogóle cały skrypt zadziałał jak należy.
Teraz chcę się zapytać jak to można naprawić, bo już nie mam nerwów. Jak naprawdę działa funkcja ob_start(); i ob_clean(); i czy one po prostu ukrywają błąd, czy usuwają?
Wiem, że poprzez dodanie
  1. @
przed session_start(); wtedy błąd zostanie stłumiony (niewidoczny), ale ja nie chcę ich tłumić, tylko eliminować. Nie mam spacji przed session_start ani po <?php. Specjalnie zmieniłem zapis z UTF-8 na ANSI, ale błąd nadal istnieje. Czy może mi ktoś powiedzieć jakie są skutki tego błędu i czy ewentualnie można go usunąć? Rozdaję punkciki ( heh... na taką małą zachętę), ale na prawde będę bardziej wdzięczny za pomoc i proszę niech nie usuwają tego tematu admini, gdyż, żadna z innych odpowiedzi w podobnych tematach nie były mi pomocne ;<

Ten post edytował waqmaz 1.02.2011, 20:09:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
waqmaz
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 22.01.2011
Skąd: Murowana Goślina

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


W ten sposób nigdy to nie zadziała, gdyż jest to logicznie sprzeczne. Trzeba inaczej jakoś to zrobić (zapewne za pomocą java script, lub ajax), których to dobrze nie znam. Btw. nawet jak dam na samej górze <?php session_start(); ?> to nie działa.
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: 13.10.2025 - 22:44