Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP][MYSQL] Skrypt logowania.
ArekJ
post 26.09.2008, 21:04:38
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Witam stworzyłem prosty skrypt logowania, ale nie działa :/ A dokładnie wyświetla się:

Cytat
Nieprawid?owa nazwa u?ytkownika lub has?o


na krzaczki nie zwracać uwagi potem poprawie tongue.gif Hasło jest poprawne i login też. Brzmią one TEST TEST. Strona na której możecie zobaczyć formularz to:

http://swiat-magii.pl/login.php

a kod skryptu to:

  1. <?
  2.  
  3.  
  4. require_once('konfiguracja.php');
  5.  
  6.   $message="";
  7.                  
  8.  
  9. $login=$_POST['login'];
  10. if($login) {
  11.  
  12. $login = htmlspecialchars(strip_tags($_POST['login']));
  13. $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  14.  
  15. $rezultat=mysql_query("select * FROM uzytkownik WHERE uzytkownik='$login' AND haslo='$haslo'");
  16.   if(@mysql_num_rows($rezultat) == 1){
  17.  $_SESSION['login']=
  18.   header("locatio:index.php");
  19. }else {
  20. $message="Nieprawid?owa nazwa u?ytkownika lub has?o";
  21. }
  22. }
  23. ?>
  24.  
  25.  
  26. <head>
  27.  
  28. <title>Dokument</title>
  29. </head>
  30. <body>
  31. <? echo $message; ?>
  32.  
  33. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  34.  
  35. <input name="uzytkownik" type="text" id="login" />
  36. <input name="haslo" type="password" id="haslo" />
  37.  
  38. <input name="login" type="submit" id="login" value="login" />
  39. </form>
  40.  
  41. </body>
  42. </html>


Ma ktoś jakieś sugestie gdzie tkwi problem?

Ten post edytował ArekJ 26.09.2008, 21:47:48


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 26.09.2008, 21:11:27
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


ok pytania:

masz jego haslo zapisane w md5?
co to w kodzie jest?
Cytat
$_SESSION['login']=
]

i sprawdz dajac przed $rezultat=mysql_query polaczenie z baza



p.S.
Cytat
<input name="uzytkownik"


Ten post edytował Lion_87 26.09.2008, 21:12:34
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 21:12:27
Post #3





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


No hasło mam zapisane w md5, a jak sprawdzić połączenie?

O.O dzięki za wyłapanie błędu jak wrócę z pod prysznica to sprawdze smile.gif

Ten post edytował ArekJ 26.09.2008, 21:13:18


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 26.09.2008, 21:13:29
Post #4





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


masz <input name="uzytkownik"

a nie powinno byc login??
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 21:42:55
Post #5





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Poprawiłem, ale nadal występuje ten sam błąd :/
Może ktoś jeszcze coś zauważył?


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
melkorm
post 26.09.2008, 21:48:48
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


  1. <?php
  2.  
  3. require_once('konfiguracja.php');
  4.  
  5. $message="";
  6. if($_POST['submit']) {
  7.    $login = htmlspecialchars(strip_tags($_POST['login']));
  8.    $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  9.    $rezultat = mysql_query('SELECT * FROM uzytkownik WHERE uzytkownik = '.$login.' AND haslo = '.$haslo);
  10.    if(@mysql_num_rows($rezultat) == 1){
  11.        header("location  : index.php");
  12.        exit;
  13.    }
  14.    else {
  15.        $message = "Nieprawid?owa nazwa u?ytkownika lub has?o";
  16.    }
  17. }
  18. ?>
  19.  
  20.  
  21. <head>
  22.  
  23. <title>Dokument</title>
  24. </head>
  25. <body>
  26. <? echo $message; ?>
  27.  
  28. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  29.  
  30. <input name="login" type="text"  />
  31. <input name="haslo" type="password"  />
  32. <input type="submit" name="submit"  value="1" />
  33. </form>
  34.  
  35. </body>
  36. </html>


Troche poprawione. SParwdź czy napewno w bazie nazwy pól są takei same jak w zapytaniu snitch.gif

Ten post edytował melkorm 26.09.2008, 21:49:31


--------------------
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 21:58:42
Post #7





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


"Poprawiłem" kody wygląda tak:

  1. <?php
  2.  
  3. include('konfiguracja.php');
  4.  
  5. $message="";
  6. if($_POST['submit']) {
  7.   $login = htmlspecialchars(strip_tags($_POST['login']));
  8.   $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  9.   $rezultat=mysql_query("select * FROM uzytkownik WHERE login='$login' AND haslo='$haslo'");
  10.   if(@mysql_num_rows($rezultat) == 1){
  11.       header("location  &nbsp: index.php");
  12.       exit;
  13.   }
  14.   else {
  15.       $message = "Nieprawid?owa nazwa u?ytkownika lub has?o";
  16.   }
  17. }
  18. ?>
  19.  
  20.  
  21. <head>
  22.  
  23. <title>Dokument</title>
  24. </head>
  25. <body>
  26. <? echo $message; ?>
  27.  
  28. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  29.  
  30. <input name="login" type="text"  />
  31. <input name="haslo" type="password"  />
  32. <input type="submit" name="submit"  value="1" />
  33. </form>
  34.  
  35. </body>
  36. </html>


a nadal nie działa :/ Zastanawiam się co może być nie tak, bo nadal wywala, że nie można się zalogować...


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 26.09.2008, 22:05:16
Post #8





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


  1. <?php
  2. //...
  3. $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  4.  
  5. // wstaw tu dla sprawdzenia polaczenie z baza
  6.  
  7.  $rezultat=mysql_query("select * FROM uzytkownik WHERE login='$login' AND haslo='$haslo'");
  8. //...
  9. ?>


Ten post edytował Lion_87 26.09.2008, 22:06:07
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 22:08:29
Post #9





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


nadal to samo...


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
melkorm
post 26.09.2008, 22:13:13
Post #10





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


wstaw za połączeniem

  1. <?php
  2. mysql_select_db("nazwBazy");
  3. ?>


I możesz wywalić tą małpe zprzed mysql_num_rows która zakrywałą błąd ;]


--------------------
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 22:18:44
Post #11





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Żadnego błędu nie wywala, ani jak jest to dodatkowe wybranie bazy ani bez tego :/ Może w tym skrypcie czegoś brakuje? Albo jest taki dokitu, że nie ma prawa zadziałać tongue.gif


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 26.09.2008, 22:21:46
Post #12





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


a daj po session_start()

to

  1. <?php
  2. @$polaczenie = mysql_pconnect("127.0.0.1","---","---");
  3.  if (!$polaczenie) {
  4.    echo "Nie udało się nawiązać połączenia z serwerem.";
  5.    exit;
  6.   }
  7.  mysql_select_db("---");
  8.  if(!mysql_select_db("---")) {
  9.   echo "Nie udało się połączyć z bazą";
  10.   exit;
  11.  }
  12.  $zapytanie = "select * FROM uzytkownik WHERE login='$login' AND haslo='$haslo'";
  13.  $wynik = mysql_query($zapytanie);
  14. echo"$zapytanie";
  15. ?>


i napisz co wyswietlilo
Go to the top of the page
+Quote Post
melkorm
post 26.09.2008, 22:22:36
Post #13





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


przetestowałem to u siebie i działa - więc problem musisz mieć w bazie smile.gif


--------------------
Go to the top of the page
+Quote Post
ArekJ
post 26.09.2008, 22:31:28
Post #14





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Pewnie mi coś źle skrypt rejestracyjny dodaje :/ A wygląda on tak:

  1. <?
  2.    els:
  3.        
  4. $login = htmlspecialchars(strip_tags($_POST['login']));
  5. $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  6. $email = htmlspecialchars(strip_tags($_POST['email']));
  7.  
  8.  if (!check_email($_POST['email']) || $_POST['login']=='' || $_POST['haslo']=='' || $_POST['email']=='') {
  9.  
  10.      error('Błąd podczas wypełniania formularzu! Popraw go i spróbuj ponownie. Możliwe błęd:    \n'.'-puste pole,\n'.'-błędny e-mail.');
  11.  
  12.  }
  13.  
  14.  
  15.  $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($login).'"';
  16. $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($haslo).'"';
  17.  $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($email).'"';
  18.  
  19.  
  20.  $result = mysql_query($sql);
  21.  
  22.      if (!$result) {
  23.  
  24.          error('Błąd w zapytaniu SQL');
  25.  
  26.      }
  27.  
  28.      if (@mysql_result($result,0,0)>0) {
  29.          error('Wybrany login jest zajęty. \n'.
  30.          'Proszę wpisać inny login. ');
  31.      }
  32.  
  33.  
  34.      $sql = 'INSERT INTO uzytkownik SET login = "'.mysql_real_escape_string($login).'", haslo = md5("'.$_POST['haslo'].'"), email = "'.mysql_real_escape_string($email).'"';
  35.  
  36.          if (!mysql_query($sql)) error('Błąd w zapytaniu SQL');
  37.  
  38.          echo('<HTML>
  39.              <HEAD>
  40.              <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  41.              <TITLE>Rejestracja zakończona</TITLE>
  42.              <STYLE type=\"text/css\">
  43.              <!--
  44.              BODY, { fo: 8pt; font-famil: Verdana, Arial; text-decoratio: none }
  45.              -->
  46.              </STYLE>
  47.              </HEAD>
  48.              <BODY>
  49.              <P><B>Rejestracja zakończona pomyślnie!</B></P>
  50.                <P>Logi: <B>'.$_POST['login'].'</B><BR>
  51.                Hasło: <B>'.$_POST['haslo'].'</B></P><br /><br /><br /><br /><br /><br />
  52.          ');
  53.    endif
  54.    ?>


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
melkorm
post 26.09.2008, 22:34:49
Post #15





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


EH. podaj wiersz bazy gdzie masz swojego użytkownika test winksmiley.jpg I podaj dane jakie podałeś w formularzu ;]


--------------------
Go to the top of the page
+Quote Post
Lion_87
post 26.09.2008, 22:44:47
Post #16





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


  1. <?
  2.  
  3.  
  4. require_once('konfiguracja.php');
  5.  
  6.  $message="";
  7.                
  8.  
  9. $login=$_POST['login'];
  10. if($login) {
  11.  
  12. $login = htmlspecialchars(strip_tags($_POST['login']));
  13. $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  14.  
  15. @$polaczenie = mysql_pconnect("127.0.0.1","--","--");
  16.  if (!$polaczenie) {
  17.    echo "Nie udało się nawiązać połączenia z serwerem.";
  18.    exit;
  19.   }
  20.  mysql_select_db("--");
  21.  if(!mysql_select_db("--")) {
  22.   echo "Nie udało się połączyć z bazą";
  23.   exit;
  24.  }
  25.  
  26. $zapytanie = mysql_query("select * FROM uzytkownik WHERE uzytkownik='$login' AND haslo='$haslo'");
  27. $login = mysql_fetch_array($zapytanie);
  28. $num_rows = mysql_num_rows($zapytanie);
  29.  
  30.  if($num_rows == 1){
  31.  header("Locatio: index.php");
  32.      exit;
  33.  }
  34.  else {
  35.      $message = "Nieprawid?owa nazwa u?ytkownika lub has?o";
  36.  }
  37. }
  38. ?>
  39.  
  40.  
  41. <head>
  42.  
  43. <title>Dokument</title>
  44. </head>
  45. <body>
  46. <? echo $message; ?>
  47.  
  48. <form id="form1" name="form1" method="post" action="<? echo $PHP_SELF; ?>">
  49.  
  50. <input name="login" type="text" id="login" />
  51. <input name="haslo" type="password" id="haslo" />
  52.  
  53. <input type="submit" id="login" value="login" />
  54. </form>
  55.  
  56. </body>
  57. </html>




Cytat
if(@mysql_num_rows($rezultat) == 1)

P.S. moze masz wiecej poprostu uzytkownikow TEST w bazie niz 1

i

dodaj n bo forum zjadlo
Cytat
header("Locatio
<------

Ten post edytował Lion_87 26.09.2008, 22:46:17
Go to the top of the page
+Quote Post
ArekJ
post 27.09.2008, 11:09:03
Post #17





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Eh... wstawiłem kod Lion_87, ale nie działa :/ Może ktoś ma link do jakiegoś gotowego DZIAŁAJĄCEGO ( winksmiley.jpg ) Skryptu rejestracji?


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 27.09.2008, 11:25:32
Post #18





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


-Czy w tabeli masz tylko jednego uzytkownika TEST?
-Zrob echo "$zapytanie"; po zapytaniu i pokaz wynik.
Go to the top of the page
+Quote Post
ArekJ
post 27.09.2008, 12:14:07
Post #19





Grupa: Zarejestrowani
Postów: 266
Pomógł: 9
Dołączył: 21.05.2008
Skąd: Łomianki

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


Jest tylko 1 użytkownik TEST, skrypt rejestracji mi to sprawdza :]
A jak daje to echo to nic sie nie wyswietla sad.gif


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

"Do bramy, bo pada deszcz
Gdy zaćpiesz przejdzie dreszcz
I wróci, wróci tęcza barw
I pęknie twój wrogi świat" R. Riedel
Go to the top of the page
+Quote Post
Lion_87
post 27.09.2008, 12:59:25
Post #20





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


a Gdzie wstawiasz to echo??
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 Wersja Lo-Fi Aktualny czas: 22.07.2025 - 12:44