Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Sesje
falfin
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.02.2007

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


Witam. Napisałem prosty skrypcik rejestracji. Jednak po wpisaniu i wysłaniu danych, wyskakuje mi błąd:

Warning: session_start() [function.session-start]: Cannot send session cookie -
headers already sent by
(output started at C:WebServhttpdPHP & MySQLinternetowaPrzetworzonaRejestracja.php:22) 
in C:WebServhttpdPHP & MySQLinternetowaPrzetworzonaRejestracja.php on line 4

A pod spodem drugi:

Warning: session_start() [function.session-start]: Cannot send session cache limiter -
headers already sent
(output started at C:\WebServ\httpd\PHP & MySQL\internetowa\PrzetworzonaRejestracja.php:22) in C:\WebServ\httpd\PHP & MySQL\internetowa\PrzetworzonaRejestracja.php on line 4

Pozatym wszystko działa ok. Wie ktoś może co z tym zrobić?
Oto kod skryptu:

  1. <?php
  2. //ROZPOCZECIE  SESJI
  3.  
  4. $nazwa_uz= $_POST['nazwa_uz'];
  5. $haslo= $_POST['haslo'];
  6. $haslo2= $_POST['haslo2'];
  7. $email= $_POST['email'];
  8.  
  9.  
  10.  
  11.  
  12. if (!$nazwa_uz || !$haslo || !$haslo2 || !$email)
  13. {
  14.  echo ' Nie podales wszyszystkich danych. Wróć do poprzedniej strony i uzupełnij brakujące pola ' ; exit;
  15. }
  16.  
  17.  
  18. else
  19. { //SPRAWDZENIE POPRAWNOSCI DANYCH
  20.  
  21.  if(strlen($nazwa_uz)>16)
  22.  {
  23. echo ' Podana nazwa użytkownika jest za długa. Powinna ona zawierać mniej niż 16 znaków.';
  24. }
  25.  
  26.  if(strlen($haslo)<=5)
  27.  {
  28.  echo 'Podane hasło jest za krótkie! Ze względów bezpieczeństwa,powinno ono zawerać conajmniej 5  znaków.';
  29.  exit;
  30.  }
  31.  
  32.  if ($haslo != $haslo2)
  33. {
  34. echo'Podane hasła są różne!';
  35. }
  36.  
  37. if (!eregi ("[a-zA-z0-9_]+@[a-zA-z0-9-]+.[a-zA-z0-9-.]+$", $email))
  38. {
  39. echo 'Podany adres e-mail jest nie poprawny.';
  40. }
  41. }
  42.  
  43.  
  44. // JEZELI WSZYSTKO SIE ZGADZA TO REJESTRACJA
  45.  
  46. //DODAWANIE ZNAKOW
  47.  
  48. {
  49. $nazwa_uz = addslashes($nazwa_uz);
  50. $haslo = addslashes ($haslo);
  51. $email=addslashes ($email);
  52. }
  53.  
  54.  
  55. //POLACZENIE  Z BAZA DANYCH
  56. require('polaczenie.php');
  57.  
  58.  
  59. //JEZELI NAWIAZANO POLACZENIE
  60. //SPRAWDZENIE CZY PODANA NAZWA NIE  JEST JUZ ZAJETA
  61.  
  62. $zapytanie1= "select * from uzytkownik where nazwa_uz='$nazwa_uz' ";
  63. $wynik1 = mysqli_query($mysql, $zapytanie1);
  64.  
  65.  if(!$wynik1)
  66. {
  67. echo 'Przepraszamy rejestracja w tej chwili jest nie mozliwa. Prosze spróbowac pozniej
    .'
    ;
  68. }
  69.  
  70.  if(mysqli_num_rows($wynik1)>0)
  71. {
  72. echo 'Wybrany nick jest juz zajety. Prosze wybrac inny i sprobowac ponnownie';
  73. }
  74.  
  75.  
  76. //JEZELI NICK NIE JEST ZAJETYREJESTRACJA
  77.  
  78. $zapytanie2= "insert into uzytkownik values ('$nazwa_uz' , sha1('$haslo') , '$email') ";
  79. $wynik2 = mysqli_query($mysql, $zapytanie2);
  80.  
  81.  
  82. //REJESTRACJA  ZMIENNEJ SESJI
  83. $_SESSION['prawid-uzyt']=$nazwa_uz;
  84.  
  85. if(!$wynik2)
  86. {
  87. echo 'Przepraszamy rejestracja w tej chwili jest nie mozliwa. Prosze spróbowac pozniej
    .'
    ;
  88. }
  89.  
  90.  else
  91. {
  92. echo'Rejestracja zakończona sukcesem. Prosze udać się na strone członkowską w celu konfiguracji profilu';
  93. }
  94.  
  95. ?>


Ten post edytował falfin 9.04.2007, 13:27:48
Go to the top of the page
+Quote Post
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


przed rozpoczęciem sesji nie możesz wysyłać żadnych danych do przeglądarki (kodu html, textu nic) a najwyraźniej wysyłasz
Go to the top of the page
+Quote Post
falfin
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.02.2007

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


Hmm... Ten skrypt znajduje się w sodku strony html (po to by jego wyniki wyświetlały sie w odpowiednim div'ie). Czy jest jakieś rozwiązanie które pozwoli zachować mi moją dotychczasową koncepcje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ?
Go to the top of the page
+Quote Post
Statozor
post
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 23.09.2006

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


Dodaj na początku ob_start();
Go to the top of the page
+Quote Post
falfin
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.02.2007

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


Dodałem, i niestety dalej to samo :/
Ma ktoś jakieś inne rozwiązanie?
W innym skrypcie w którym session_start jest w 2 lini od razu po znaczniku <?php wyskakuje teb błąd:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
(output started at C:\WebServ\httpd\PHP &MySQL\internetowa\skrypty php\Uwierzytelnienie\logowanie.php:2) in C:\WebServ\httpd\PHP & MySQL\internetowa\skrypty php\Uwierzytelnienie\logowanie.php on line 5

Ten post edytował falfin 9.04.2007, 16:47:46
Go to the top of the page
+Quote Post
devnul
post
Post #6





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@falfin:
<?php ob_start(); ?> dodaj na początku pliku który wywołujesz (przed <html> lub innymi znacznikami od jakich zaczyna się Twój plik

jeśli wywołujesz z przeglądarki plik w którym pojaiwa się taki błąd to prawdopodobnie kodujesz plik za pomocą UTF8 z nagłówkiem BOM (są to 3 znaki identyfikujące plik w standardzie utf8) możęsz te znaki usunąć w jakimś hexedutrze lub za pomocą programu który potrafi zapisywac utf8 bez nagłówka BOM np notepad2)

Ten post edytował devnul 9.04.2007, 23:33:33
Go to the top of the page
+Quote Post
Statozor
post
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 23.09.2006

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


O to mi chodziło żeby tak dał właśnie ob_start();
Go to the top of the page
+Quote Post
devnul
post
Post #8





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@Statozor: ja to wiem ale kolga falfin najwyraźniej nie wiedział, wstawiłem złego nicka - sory - poprawione
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 Aktualny czas: 23.08.2025 - 23:24