Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z systemem logowania
kamilkomo
post 14.03.2012, 14:13:55
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Witam

Mam problem z systemem logowania, po wpisaniu poprawnych danych znajdujacych sie w bazie login i haslo wyskakuje komunikat "bledny login lub haslo" chociaz dane sa poprawne . Moze ktos znajdzie blad w moim kodzie

  1.  
  2. define('INCLUDE_CHECK',true);
  3. error_reporting(E_ALL ^ E_NOTICE);
  4. require 'connect.php';
  5. require 'functions.php';
  6.  
  7.  
  8. session_name('tzLogin');
  9.  
  10.  
  11.  
  12.  
  13. if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])
  14. {
  15.  
  16. $_SESSION = array();
  17. }
  18.  
  19.  
  20. if(isset($_GET['logoff']))
  21. {
  22. $_SESSION = array();
  23.  
  24. header("Location: index.php");
  25. }
  26.  
  27. if($_POST['submit']=='Loguj')
  28. {
  29.  
  30. $err = array();
  31.  
  32. if(!$_POST['username'] || !$_POST['password'])
  33. $err[] = 'Wszystkie pola muszą być wypełnione!';
  34.  
  35. if(!count($err))
  36. {
  37. $_POST['username'] = mysql_real_escape_string($_POST['username']);
  38. $_POST['password'] = mysql_real_escape_string($_POST['password']);
  39. $_POST['rememberMe'] = (int)$_POST['rememberMe'];
  40.  
  41.  
  42. //$row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE 'usr'= '".$login."' AND pass='".md5($_POST['password'])."'"));
  43. $row = mysql_query("SELECT `id`,`usr` FROM `tz_members` WHERE `usr`='".$_POST['username']."' LIMIT 1") or die (mysql_error());
  44.  
  45. if($row['usr'])
  46. {
  47.  
  48. $_SESSION['usr']=$row['usr'];
  49. $_SESSION['id'] = $row['id'];
  50. $_SESSION['rememberMe'] = $_POST['rememberMe'];
  51.  
  52. setcookie('tzRemember',$_POST['rememberMe']);
  53. }
  54. else $err[]='Błędny login lub hasło!';
  55. }
  56.  
  57. if($err)
  58. $_SESSION['msg']['login-err'] = implode('<br />',$err);
  59.  
  60. header("Location: index.php");
  61. }
  62. else if($_POST['submit']=='Rejestruj')
  63. {
  64.  
  65. $err = array();
  66.  
  67. if(strlen($_POST['username'])<4 || strlen($_POST['username'])>32)
  68. {
  69. $err[]='Login musi się składać z min 3 znaków, i nie możę przekroczyć 32!';
  70. }
  71.  
  72. if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
  73. {
  74. $err[]='Wykryto niedozwolone znaki!';
  75. }
  76.  
  77. if(!checkEmail($_POST['email']))
  78. {
  79. $err[]='Wpisz e-mail poprawnie!';
  80. }
  81.  
  82. if(!count($err))
  83. {
  84. $pass = substr(md5($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
  85.  
  86. $_POST['email'] = mysql_real_escape_string($_POST['email']);
  87. $_POST['username'] = mysql_real_escape_string($_POST['username']);
  88.  
  89. mysql_query("INSERT INTO tz_members (usr,pass,email,regIP,dt)
  90. VALUES(
  91.  
  92. '".$_POST['username']."',
  93. '".md5($pass)."',
  94. '".$_POST['email']."',
  95. '".$_SERVER['REMOTE_ADDR']."',
  96. NOW()
  97.  
  98. )");
  99.  
  100. if(mysql_affected_rows($link)==1)
  101. {
  102. $to = $_POST['email'];
  103. $subject = 'System rejestracji serwisu ecoBooks.com.pl';
  104. $message = 'Your password is: '.$pass;
  105. $headers = 'From: rejestracja@********';
  106.  
  107. mail($to, $subject, $message, $headers);
  108.  
  109. $_SESSION['msg']['reg-success']='Właśnie wysłaliśmy do Ciebie maila z nowym hasłem do systemu!';
  110. }
  111. else $err[]='Ta nazwa urzytkownika jest zajęta!';
  112. }
  113.  
  114. if(count($err))
  115. {
  116. $_SESSION['msg']['reg-err'] = implode('<br />',$err);
  117. }
  118.  
  119. header("Location: index.php");
  120. }
  121.  
  122. $script = '';
  123.  
  124. if($_SESSION['msg'])
  125. {
  126.  
  127. $script = '
  128. <script type="text/javascript">
  129.  
  130. $(function(){
  131.  
  132. $("div#panel").show();
  133. $("#toggle a").toggle();
  134. });
  135.  
  136. </script>';
  137.  
  138. }
  139. ?>
  140.  


system rejestracji dziala poprawnie chodzi mi tylko o logowanie
bede wdzieczny za wszelkie uwagi
pozdrawiam

Ten post edytował kamilkomo 14.03.2012, 14:18:15
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 14:16:08
Post #2





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




Czy tak ciężko napisać:
"Błąd polega na tym, że ...."
?


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

"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
kamilkomo
post 14.03.2012, 14:19:01
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


faktycznie sorki posmiech smile.gif
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 14:20:32
Post #4





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




$row = mysql_query()
if($row['usr'])
mysql_query nie zwraca rekordu. Wypadałoby zajrzec do manuala i doczytać co zwraca rekord


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

"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
Rysh
post 14.03.2012, 14:21:05
Post #5





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


  1. $row = mysql_query("SELECT `id`,`usr` FROM `tz_members` WHERE `usr`='".$_POST['username']."' LIMIT 1") or die (mysql_error());
  2.  
  3. if($row['usr'])
  4. {
  5.  
  6. $_SESSION['usr']=$row['usr'];
  7. $_SESSION['id'] = $row['id'];
  8. $_SESSION['rememberMe'] = $_POST['rememberMe'];
  9.  
  10. setcookie('tzRemember',$_POST['rememberMe']);
  11. }
  12. else $err[]='Błędny login lub hasło!';
  13. }

A skąd skrypt ma wiedzieć co to jest $row['usr']? Przecież mysql_query wykonuje tylko zapytanie.


--------------------
Go to the top of the page
+Quote Post
kamilkomo
post 14.03.2012, 14:23:39
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


przerobilem na

  1.  
  2. $row = mysql_query("SELECT `id`,`usr` FROM `tz_members` WHERE `usr`='".$_POST['username']."' LIMIT 1") or die (mysql_error());
  3.  
  4. if(mysql_num_rows($row))
  5. {
  6.  
  7. $_SESSION['usr']=$row['usr'];
  8. $_SESSION['id'] = $row['id'];
  9. $_SESSION['rememberMe'] = $_POST['rememberMe'];
  10.  
  11. setcookie('tzRemember',$_POST['rememberMe']);
  12. }
  13. else $err[]='Błędny login lub hasło!';
  14. }


i chyba juz jest ok, nie wyskakuje komunikat o blednym loginie i hasle, ale nadal mam Witaj Gosciu a powinno byc Witaj [nazwa usr]

Ten post edytował kamilkomo 14.03.2012, 14:30:21
Go to the top of the page
+Quote Post
Rysh
post 14.03.2012, 14:26:43
Post #7





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Nie co powinno być, tylko czego brakuje. I tak brakuje mysql_fetch_assoc.


--------------------
Go to the top of the page
+Quote Post
Niktoś
post 14.03.2012, 14:34:29
Post #8





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Nie wiem ,czemu kolejny forumowicz dodaje apostrofy do nazw tabel i kolumn.Normalnie fenomenalne zjawisko.
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 14:46:20
Post #9





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




@Niktos "fenomenalny" to ty masz albo wzrok albo wiedzę.... gdzie ty tu widzisz apostrofy? Jak nie odróżniasz ` od ' to się nie wypowiadaj albo dokształć.


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

"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
Niktoś
post 14.03.2012, 14:51:31
Post #10





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Cytat
@Niktos "fenomenalny" to ty masz albo wzrok albo wiedzę.... gdzie ty tu widzisz apostrofy? Jak nie odróżniasz ` od ' to się nie wypowiadaj albo dokształć.

Nie muszę bo za równo to ,czy tamto w tym przypadku jest zbędne.
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 14:53:52
Post #11





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




Oj, chyba jednak musisz....

Bo to ` jest poprawne. I tak, akurat w tym dokładnie przypadku nie musi występować. Co nie oznacz, że jest zbędne. Może ale nie musi
Zaś to ' (notabene to jest właśnie apostrof) w tym przypadku by spowodowało błąd. I tak, to akurat jest zbędne.
Więc nie mąć ludziom w głowach i nie wyskakuj z jakimś "fenomenalnym zjawiskiem" bo jest to całkiem normalna praktyka.


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

"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
Rysh
post 14.03.2012, 14:57:48
Post #12





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(Niktoś @ 14.03.2012, 14:34:29 ) *
Nie wiem ,czemu kolejny forumowicz dodaje apostrofy do nazw tabel i kolumn.Normalnie fenomenalne zjawisko.

Ja też swego czasu używałem `` w zapytaniach. Z czasem czytając forum zrozumiałem, że są zbędne. Dlaczego je stawiałem? Bo phpmyadmin zawsze ich używa, jak ktoś ma małą wiedzę w MySQL to często tam tworzy zapytania, a dopiero potem przenosi je do php. Taki mały off.

Ten post edytował Rysh 14.03.2012, 14:58:27


--------------------
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 14:59:31
Post #13





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




Nie, nie są zbędne.... zrozumcie to wkońcu....
A wiecie czemu nie są zbędne? To weźcie zróbcie takie zapytanie z tabeli update i kolumnie też o nazwie update.
  1. SELECT UPDATE FROM UPDATE

Życzę powodzenia bez waszych zbędnych "apostrofów"...


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

"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
Niktoś
post 14.03.2012, 15:02:36
Post #14





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


SELECT [UPDATE] FROM [UPDATE] -można tak-i wydaje mi się to bardziej poprawnym sposobem.
Znajdź mi proszę jeden przykład na:
http://dev.mysql.com/doc/refman/5.0/en/select.html gdzie używają ``.

Ten post edytował Niktoś 14.03.2012, 15:04:59
Go to the top of the page
+Quote Post
nospor
post 14.03.2012, 15:06:33
Post #15





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




Patrz mój poprzedni post.... Niktoś, dla takiego HAKERA jak ty to są podstawy a pytasz się o to jak małe dziecko...

Cytat
SELECT [UPDATE] FROM [UPDATE] -można tak-i wydaje mi się to bardziej poprawnym sposobem.
Proszę Cię, nie pogrążaj się już....

Od czasu do czasu dochodzi między nami do sporów na poziomie MYSQL a tylko i wyłącznie dlatego, że tobie sie wydaje, że znasz mysql..... nie, nie znasz. No, może podstawy. Przyjmij to wkońcu do wiadomości.


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

"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
jackraymund
post 14.03.2012, 15:41:56
Post #16





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


Cytat(Niktoś @ 14.03.2012, 14:34:29 ) *
Nie wiem ,czemu kolejny forumowicz dodaje apostrofy do nazw tabel i kolumn.Normalnie fenomenalne zjawisko.

pomyśl, niektórzy jak ja niepotrzebują znać mysql, bo wystarcza phpmyadmin, i on je generuje można zobaczyć że ryhs użył tego patrząc bynajmiej na Limit 1(zazwyczaj phpmyadmin zazwyczaj to dodaje)
http://screenshooter.net/2977083/kvfwubc
btw. offtop

Ten post edytował jackraymund 14.03.2012, 15:45:53


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post
Niktoś
post 14.03.2012, 16:14:21
Post #17





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


Ech ja się nie udzielam już w MySQL, bo ja na MSSQL działam.
I czytam:
Cytat
it uses the same syntax as MySQL, column names should go in backquotes. SQL Server uses square brackets.

I kolejna różnica ,którą zauważyłem,więc nie będę pomagał nikomu z MYSQL jedynie w MSSQL.

Cytat
Od czasu do czasu dochodzi między nami do sporów na poziomie MYSQL

PS.Te spory,nie są głupie-znowu się czegoś nauczyłem.

Ten post edytował Niktoś 14.03.2012, 16:17:31
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: 25.07.2025 - 09:44