Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> blad przy sesji
brekmar
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


Mam taka funkcje
  1. session_start();
  2.  
  3. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  4.  
  5. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  6.  
  7. if( !isset( $_SESSION[ 'user' ] ) )
  8. {
  9.  if( isset( $_POST[ 'loginGo' ] ) )
  10.  {
  11. $dane = mysql_query( 'SELECT id,
  12.  login,
  13.  imie,
  14.  nazwisko,
  15.  email
  16. FROM users
  17. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  18. password = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 1' );
  19.  
  20. $userData = mysql_fetch_assoc( $dane );
  21. if( $userData[ 'id' ] > 0 )
  22. {
  23.  $_SESSION[ 'user' ] = $userData;
  24.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  25. }
  26. else
  27. {
  28.  echo 'Podałeś złe hasło lub login...';
  29. }
  30.  }
  31.  else
  32.  {
  33. ?>
  34. <form action=\"\" method=\"post\">
  35.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  36.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  37.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  38. </form>
  39. <?php
  40.  }
  41. }
  42. else
  43. {
  44.  echo 'Jesteś zalogowany!<br/>';
  45.  print_r( $_SESSION[ 'user' ] );
  46. }


No i wyskakuje taki blad:


Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /webs/1/fbi.cz/p/poleceni/1.php:9) in /webs/1/fbi.cz/p/poleceni/1.php on line 11

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /webs/1/fbi.cz/p/poleceni/1.php:9) in /webs/1/fbi.cz/p/poleceni/1.php on line 11

No i co z tym teraz zrobic. Pomorzcie.
Go to the top of the page
+Quote Post
Diwi
post
Post #2





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


wstaw na początku skryptu linijke po znaczniku <?php
Kod
ob_start();


i na końcu skryptu linkjke przed znacznikiem ?>

Kod
ob_end_flush();


Powinno nie pokazywać błędu smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
brekmar
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


No zrobilem tak jak napisales i mam taki skrypt
  1. ob_start();
  2. session_start();
  3.  
  4. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  5.  
  6. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  7.  
  8. if( !isset( $_SESSION[ 'user' ] ) )
  9. {
  10.  if( isset( $_POST[ 'loginGo' ] ) )
  11.  {
  12. $dane = mysql_query( 'SELECT id,
  13.  login,
  14.  imie,
  15.  nazwisko,
  16.  email
  17. FROM users
  18. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  19. password = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 1' );
  20.  
  21. $userData = mysql_fetch_assoc( $dane );
  22. if( $userData[ 'id' ] > 0 )
  23. {
  24.  $_SESSION[ 'user' ] = $userData;
  25.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  26. }
  27. else
  28. {
  29.  echo 'Podałeś złe hasło lub login...';
  30. }
  31.  }
  32.  else
  33.  {
  34. ?>
  35. <form action=\"\" method=\"post\">
  36.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  37.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  38.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  39. </form>
  40. <?php
  41.  }
  42. }
  43. else
  44. {
  45.  echo 'Jesteś zalogowany!<br/>';
  46.  print_r( $_SESSION[ 'user' ] );
  47. }


No i juz tego bledu nie wyswietla, ale przed formularzem wyswietla

0 ) { $_SESSION[ 'user' ] = $userData; header( 'Location: '.$_SERVER[ 'PHP_SELF' ] ); } else { echo 'Podałeś złe hasło lub login...'; } } else { ?>

I jak wpisze jakies dane to nic sie nie dzieje nie loguje mnie. Co teraz sad.gif
Go to the top of the page
+Quote Post
Diwi
post
Post #4





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Wrzuć na samym początku skryptu <?php

Pozdrawiam
Go to the top of the page
+Quote Post
brekmar
post
Post #5





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


Kurde znowu ten blad sie wyswietlil z "cookies" tylko ze teraz jest blad linijke nizej bylo "on line 11" a teraz "on line 12" czyli ten ob_start(); nic nie pomogl, tylko zwolnil ladowanie sie strony.
Go to the top of the page
+Quote Post
Levabul
post
Post #6





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


bo
  1. <?php ob_start (); ?>
należy wrzucić zaraz przed przed !DOCTYPE(a jeżeli nie masz !DOCTYPE to zaraz przed <html>)


--------------------
Go to the top of the page
+Quote Post
brekmar
post
Post #7





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


  1. ob_start();
  2. <html>
  3.  
  4. <head>
  5. <title></title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <?php
  11.  
  12.  
  13. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  14.  
  15. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  16.  
  17. if( !isset( $_SESSION[ 'user' ] ) )
  18. {
  19.  if( isset( $_POST[ 'loginGo' ] ) )
  20.  {
  21. $dane = mysql_query( 'SELECT id,
  22.  login,
  23.  imie,
  24.  nazwisko,
  25.  email
  26. FROM users
  27. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  28. password = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 1' );
  29.  
  30. $userData = mysql_fetch_assoc( $dane );
  31. if( $userData[ 'id' ] > 0 )
  32. {
  33.  $_SESSION[ 'user' ] = $userData;
  34.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  35. }
  36. else
  37. {
  38.  echo 'Podałeś złe hasło lub login...';
  39. }
  40.  }
  41.  else
  42.  {
  43. ?>
  44. <form action=\"\" method=\"post\">
  45.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  46.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  47.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  48. </form>
  49. <?php
  50.  }
  51. }
  52. else
  53. {
  54.  echo 'Jesteś zalogowany!<br/>';
  55.  print_r( $_SESSION[ 'user' ] );
  56. }
  57.  
  58.  
  59.  
  60. ?>
  61.  
  62. </body>
  63.  
  64. </html>
  65. ob_end_flush();


Napisalem to tak, dobrze czy nie, bo nie dosc ze nie dziala to jeszcze laduje sie szmat czasu.
Go to the top of the page
+Quote Post
Levabul
post
Post #8





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


Z szacunkiem POMYŚL TROCH exclamation.gif! Skrypt php musi być pomiędzy <?php i ?>!!!!
  1. <?php
  2. ?>
  3. <html>
  4.  
  5. <head>
  6. <title></title>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <?php
  12.  
  13.  
  14. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  15.  
  16. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  17.  
  18. if( !isset( $_SESSION[ 'user' ] ) )
  19. {
  20.  if( isset( $_POST[ 'loginGo' ] ) )
  21.  {
  22. $dane = mysql_query( 'SELECT id,
  23.  login,
  24.  imie,
  25.  nazwisko,
  26.  email
  27. FROM users
  28. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  29. password = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 1' );
  30.  
  31. $userData = mysql_fetch_assoc( $dane );
  32. if( $userData[ 'id' ] > 0 )
  33. {
  34.  $_SESSION[ 'user' ] = $userData;
  35.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  36. }
  37. else
  38. {
  39.  echo 'Podałeś złe hasło lub login...';
  40. }
  41.  }
  42.  else
  43.  {
  44. echo ('
  45. <form action=\"\" method=\"post\">
  46.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  47.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  48.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  49. </form>
  50.  ');
  51.  }
  52. }
  53. else
  54. {
  55.  echo 'Jesteś zalogowany!<br/>';
  56.  print_r( $_SESSION[ 'user' ] );
  57. }
  58.  
  59.  
  60.  
  61. ?>
  62.  
  63. </body>
  64.  
  65. </html>
  66. <?php
  67. ?>


Ten post edytował Levabul 18.07.2005, 12:04:22


--------------------
Go to the top of the page
+Quote Post
brekmar
post
Post #9





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


No w porzadku teraz juz nie pokazuje tego bledu, tylko ze wpisalem login i haslo no i zaladowala mi sie stronka z tym ze Zle haslo lub login i wyskoczyl inny blad

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /webs/1/fbi.cz/p/poleceni/1.php on line 33

O co tym razem chodzi.
Go to the top of the page
+Quote Post
Levabul
post
Post #10





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


podmień
  1. <?php
  2. $userData = mysql_fetch_assoc( $dane );
  3. ?>

na
  1. <?php
  2. while($userData = mysql_fetch_assoc( $dane )) {}
  3. ?>


oczywiście bez <?php i?> tongue.gif

Ten post edytował Levabul 18.07.2005, 12:22:25


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




to nic nie da. przecież $dane jest blędne.

daj se:
  1. <?php
  2.  
  3. $dane = mysql_query( 'SELECT id,
  4.  login,
  5.  imie,
  6.  nazwisko,
  7.  email
  8. FROM users
  9. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  10. password = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 1' ) or die (mysql_error());
  11.  
  12. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brekmar
post
Post #12





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


Podlozylem te wasze poprawki i stronka mi sie juz nawet nie laduje. Ale blad chyba jest w okresleniu bazy danych. Tabela nazywa sie "logowanie" i ma pola "id", "login", "haslo". Moze to nie pasuje, sprawdzcie, bo ja nie wiem gdzie, tego skryptu nie pisalem, ja go sciaglem smile.gif.
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaż najpierw skypt po poprawkach. Z doswiadczenia wiem że 60% osób które poprawia, poprawia źle, więc jakbyś mógł rzucić poprawiony skrypt to będzie git


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
crash
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Do autora wątku: podałem Ci wczoraj ten kod jako gotowca! Sprawdzonego i działajcego. Jedynym warunkiem do uruchomienia tego było ustawienie połączenia z bazą, utworzenie odpowiedniej bazy/tabeli i dodanie użytkownika... Nie wiem skąd te wszystkie pytania, błędy itp. Wszystko sprawdziłem i działa...


--------------------
Go to the top of the page
+Quote Post
Levabul
post
Post #15





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


Cytat
Podlozylem te wasze poprawki i stronka mi sie juz nawet nie laduje. Ale blad chyba jest w okresleniu bazy danych. Tabela nazywa sie "logowanie" i ma pola "id", "login", "haslo". Moze to nie pasuje, sprawdzcie, bo ja nie wiem gdzie, tego skryptu nie pisalem, ja go sciaglem smile.gif.


No jasne że to ma znaczenie exclamation.gif! Powinno pomóc :

  1. <?php
  2. ?>
  3. <html>
  4.  
  5. <head>
  6. <title></title>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <?php
  12.  
  13.  
  14. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  15.  
  16. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  17.  
  18. if( !isset( $_SESSION[ 'user' ] ) )
  19. {
  20.  if( isset( $_POST[ 'loginGo' ] ) )
  21.  {
  22. $dane = mysql_query( 'SELECT id,
  23.  login,
  24.  imie,
  25.  nazwisko,
  26.  email
  27. FROM logowanie
  28. WHERE login = \"'.$_POST[ 'loginName' ].'\" AND
  29. haslo = \"'.md5( $_POST[ 'password' ] ).'\" LIMIT 0, 1' ) or die (mysql_error());
  30.  
  31. while($userData = mysql_fetch_assoc( $dane )) {}
  32. if( $userData[ 'id' ] > 0 )
  33. {
  34.  $_SESSION[ 'user' ] = $userData;
  35.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  36. }
  37. else
  38. {
  39.  echo 'Podałeś złe hasło lub login...';
  40. }
  41.  }
  42.  else
  43.  {
  44. echo ('
  45. <form action=\"\" method=\"post\">
  46.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  47.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  48.  Login: <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  49. </form>
  50.  ');
  51.  }
  52. }
  53. else
  54. {
  55.  echo 'Jesteś zalogowany!<br/>';
  56.  print_r( $_SESSION[ 'user' ] );
  57. }
  58.  
  59.  
  60.  
  61. ?>
  62.  
  63. </body>
  64.  
  65. </html>
  66. <?php
  67. ?>


Zmieniłem tylko zapytanie mysql

Ten post edytował Levabul 20.07.2005, 18:51:16


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nospor twoje zapytanie też było złe  - zamiast $_POST[ 'loginNAME' ] miało być $_POST[ 'loginGo' ] CHYBA )

Po pierwsze: to nie było moje zapytanie tylko autora. ja je skopiowalem i dorobilem wyświetlanie ewentualnego błedu
Po drugie: przecież loginGo to przyscik submit a nie login użytkownika, więc co ty za bzdury piszesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Levabul
post
Post #17





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


Kurde racja :/ Sorry, mój błąd. Kod poprawiony i wstawiony do mojego wcześniejszego postu.

ps. Nospor nie obrażaj się :/

Ten post edytował Levabul 18.07.2005, 20:56:21


--------------------
Go to the top of the page
+Quote Post
Kas
post
Post #18





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Na marginesie. Lepiej używać

  1. <?php
  2. ob_start(&#092;"ob_gzhandler\");
  3. ?>

Jest to buforowanie wyjścia wraz z kompresją danych (przynajmniej teoretycznie).


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
popo
post
Post #19





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 15.07.2005

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


Levabul erm tylko co przed <?php robi pusta linia ? czy to aby nie powoduje bledu ?
Go to the top of the page
+Quote Post
Levabul
post
Post #20





Grupa: Zarejestrowani
Postów: 197
Pomógł: 0
Dołączył: 11.07.2005

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


Nie ma prawa powodować błąd :/


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.08.2025 - 15:02