Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Rejestracja i logowanie.
Wismat
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.07.2008

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


Witam! Planuję stworzyć dwa skrypty: do rejestracji, logowania i wylogowania.

Utworzyłem prostą tabelę MYSQL o nazwie users: ID, login, password oraz skrypty na podstawie informacji znalezionych w internecie

Rejestracja przebiega poprawnie, jednak nie mogę się zalogować. Za każdym razem wyskakuje błąd "Podales zle dane. Kliknij wstecz aby sprobowac ponownie." chociaz dane są na pewno poprawne

Nie wiem dlaczego, a jakimś eskpertem nie jestem więc problemu nie mogę zidentyfkować (IMG:style_emoticons/default/sad.gif) Dlatego prosiłbym Was o pomoc w znalezieniu błędu. Proszę o poważne odpowiedzi, a nie w stylu "google.pl nie boli" itp.
Będę bardzo wdzięczny!
  1. <?php[manual][/manual]
  2.  
  3. if (isset($_POST['konto']) and isset($_POST['password']) )
  4. {
  5. $database = 'drogi_baza';
  6. require('../conn.php');
  7. mysql_select_db($database) or die("Nie uda_o si_ wybra_ bazy danych");
  8. $konto=mysql_real_escape_string(trim($_POST['konto']));
  9. $password=mysql_real_escape_string(trim($_POST['password']));
  10. if ($konto!="" and $password!="")
  11. {
  12. $password = sha1(md5($password));
  13. $zapytanie="SELECT id FROM users WHERE login = '$konto' and password = '$password'";
  14. $temp=mysql_query($zapytanie) or die("Wystapil blad #002. Zglos to do administratora.");
  15. $ile=mysql_num_rows($temp);
  16. $temp=mysql_fetch_array($temp);
  17. $id=$temp['id'];
  18. if ($ile==1)
  19. {
  20. $_SESSION['users_id']=$id;
  21. $_SESSION['login']=$konto;
  22. echo('Zostales zalogowany. Zarzadzanie komentarzami');
  23. }
  24. else
  25. {
  26. echo ('Podales zle dane. Kliknij wstecz aby sprobowac ponownie.');
  27. }
  28.  
  29. }
  30. }
  31. else
  32. {
  33. $date = date(' \g\o\d\z\. H\.i\, d\.m\.Y\\r.'); //format daty
  34. echo'<p>'.$date.'</p>';
  35. ?>
  36.  
  37. <html>
  38.  
  39. <body>
  40. <table border="1" width="300px">
  41. <form action="login.php" method="post">
  42. <tr>
  43. <td width="100px"><strong>Nazwa konta:</strong><input name="konto" type="text" value="" /><br /></td>
  44. <td width="200px"><strong>Haslo:</strong><input name="password" type="password" value="" /><br /></td>
  45. </tr>
  46. <tr>
  47. <td colspan="2"><input type="submit" value="Zaloguj" /></td>
  48. </form>
  49. </table>
  50. </body>
  51.  
  52. </html>
  53.  
  54. <?php
  55.  
  56. }?>

  1. <?php
  2. $database = 'drogi_baza';
  3. require('../conn.php');
  4. mysql_select_db($database) or die("Nie udalo sie wybrac bazy danych");
  5. if (isset($_POST['konto']) and isset($_POST['password']) and isset($_POST['password2']))
  6. {
  7. if ($_POST['password']==$_POST['password2'])
  8. {
  9. $konto = mysql_real_escape_string (trim($_POST['konto']));
  10. $password = sha1(md5(mysql_real_escape_string (trim($_POST['password']))));
  11. $ile = mysql_query("SELECT * FROM `users` WHERE login = '$konto'");
  12. $ile = mysql_num_rows($ile);
  13. if ($ile==0)
  14. {
  15. $zapytanie="INSERT INTO users (login,password) VALUES('$konto','$password')";
  16. mysql_query($zapytanie) or die("Wyst_pi_ b__d #001. Zglos to do amministratora" );
  17. echo('Konto '.$konto.' zostalo utworzone');
  18. }
  19. else
  20. {
  21. echo("Taki uzytkownik juz istnieje. Kliknij wstecz aby zarejestrowac sie ponownie.");
  22. }
  23. }
  24. else echo ("Podane hasla nie zgadzaja sie");
  25. }
  26. else
  27. {
  28. $date = date(' \g\o\d\z\. H\.i\, d\.m\.Y\\r.'); //format daty
  29. echo'<p>'.$date.'</p>';
  30. ?>
  31.  
  32. <html>
  33. <body>
  34.  
  35. <table border="1" width="300"><form action="register.php" method="post">
  36. <tr>
  37. <td colspan="2">Dodaj nowego uzytkownika</td>
  38. </tr>
  39. <tr>
  40. <td width="100">konto:<br /></td><td><input name="konto" type="text" value="" /></td>
  41. </tr>
  42. <tr>
  43. <td width="200" >haslo:</td><td><input name="password" type="password" value="" /></td>
  44. </tr>
  45. <tr>
  46. <td>Powtorz haslo:</td><td><input name="password2" type="password" value="" /><br></td>
  47. </tr>
  48. <tr>
  49. <td colspan="2"><input type="submit" value="Zarejestruj" /></td>
  50. </tr>
  51. </form></table>
  52.  
  53. </body>
  54. </html>
  55.  
  56. <?php
  57. }
  58. ?>


Ten post edytował Wismat 9.02.2011, 19:32:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michcio_
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 30.07.2008

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


W pierwszym pliku (19 linijka) zamiast:
  1. if ($ile==1)

Daj takie coś:
  1. if ($ile)

Będzie sprawdzało czy jest ID z podanych danych. W tym co Ty podałeś to by sprawdzało czy to jest użytkownik o ID 1.
Pomogło?

EDIT:
Lub daj takie coś:
  1. if ($id)


Ten post edytował Michcio_ 9.02.2011, 19:39:13
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: 8.10.2025 - 11:12