Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z logowaniem
michal_s
post 28.12.2010, 10:52:07
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Witam. Mam skrypt logowania, który pokazuje poniżej. Niby wszystko wydaje mi się, że powinno byc dobrze, ale ciągle wyświetla mi błąd "Wystąpił błąd", więc sądze, że coś przekąbinowałem z szyfrowaniem hasła i tam się sypie. Byłbym wdzięczny jak by ktoś znalazł ten błąd. Pewnie to jakaś głupota... Z góry dzięki.

  1. <?php
  2. if (isset($_POST['imie']) and isset($_POST['nazwisko']) and isset($_POST['password'])) {
  3. require("connection.php");
  4. connection();
  5. $imie=mysql_real_escape_string(trim($_POST['imie']));
  6. $nazwisko=mysql_real_escape_string(trim($_POST['nazwisko']));
  7. $password=mysql_real_escape_string (trim($_POST['password']));
  8. if ($imie!="" and $nazwisko!="" and $password!="") {
  9. $password = sha1($password);
  10. $zapytanie="SELECT id FROM users WHERE imie='$imie' and nazwisko='$nazwisko' and password ='$password'";
  11. $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
  12. $ile=mysql_num_rows($temp);
  13. $temp=mysql_fetch_array($temp);
  14. $id=$temp['id'];
  15. if ($ile==1) {
  16. $_SESSION['user_id']=$id;
  17. $_SESSION['imie']=$imie;
  18. $_SESSION['nazwisko']=$nazwisko;
  19. echo('Zostales zalogowany. ');
  20. }
  21. else echo ('Podałeś zle dane. Kliknij wstecz aby spróbowac ponownie.');
  22. }
  23. }
  24. else{
  25. ?>
  26. <html>
  27. <body>
  28. <form action="logowanie.php" method="post">
  29. <strong>Imie:</strong><input name="imie" type="text" value="" /><br>
  30. <strong>Nazwisko:</strong><input name="nazwisko" type="text" value="" /><br>
  31. <strong>Haslo:</strong><input name="password" type="password" value="" /><br>
  32. <input type="submit" value="Zaloguj" />
  33. </form>
  34. </body>
  35. </html>
  36. <?php
  37. }
  38. ?>
Go to the top of the page
+Quote Post
modern-web
post 28.12.2010, 11:55:59
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


  1. <?php
  2. if (isset($_POST['imie']) && isset($_POST['nazwisko']) && isset($_POST['password'])) {
  3. require("connection.php");
  4. connection();
  5. $imie = mysql_real_escape_string(trim($_POST['imie']));
  6. $nazwisko = mysql_real_escape_string(trim($_POST['nazwisko']));
  7. $password = mysql_real_escape_string(trim(sha1($_POST['password'])));
  8. if ($imie != NULL && $nazwisko != NULL && $password != NULL) {
  9. $temp = mysql_query("SELECT `id` FROM `users` WHERE `imie` = '$imie' AND `nazwisko` = '$nazwisko' AND `password` = '$password'") or die("Wystąpił błąd");
  10. $ile = mysql_num_rows($temp);
  11. $temp = mysql_fetch_array($temp);
  12. $id = $temp['id'];
  13. if ($ile == 1) {
  14. $_SESSION['user_id'] = $id;
  15. $_SESSION['imie'] = $imie;
  16. $_SESSION['nazwisko'] = $nazwisko;
  17. echo "Zostales zalogowany";
  18. } else {
  19. echo "Podałeś zle dane. Kliknij wstecz aby spróbowac ponownie.";
  20. }}}
  21. ?>


Kilka rzeczy poprawiłem smile.gif Błąd powinien ustąpić.
W razie czego pisz; będziemy próbować dalej ;d

Pozdrawiam!

Ten post edytował modern-web 28.12.2010, 14:18:44


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
michal_s
post 28.12.2010, 12:36:08
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Dzięki za odpowiedź. Ale ciągle jest ten sam błąd nie wiem dlaczego...

Tabela users wygląda tak u mnie, przetestuj może u siebie czy będzie działało:

  1. CREATE TABLE `users` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `imie` varchar(20) collate utf8_polish_ci NOT NULL,
  4. `nazwisko` varchar(20) collate utf8_polish_ci NOT NULL,
  5. `haslo` varchar(50) collate utf8_polish_ci NOT NULL,
  6. PRIMARY KEY (`id`)
Go to the top of the page
+Quote Post
modern-web
post 28.12.2010, 12:43:12
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Poczekaj, zauważyłem mój błąd...
Nie tak:
  1. $zapytanie = mysql_query("SELECT `id` FROM `users` WHERE `imie` = '$imie' AND `nazwisko` = '$nazwisko' AND `password` = '$password'") or die("Wystąpił błąd");

tylko tak:
  1. $temp = mysql_query("SELECT `id` FROM `users` WHERE `imie` = '$imie' AND `nazwisko` = '$nazwisko' AND `password` = '$password'") or die("Wystąpił błąd");


A jakbyś spróbował bez hashowania...? Wprowadź do bazy danych zwykły tekst i usuń ze skryptu sha1(). Zobaczymy, czy jest to źródło naszego problemu.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
Fixus
post 28.12.2010, 12:43:28
Post #5





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


IMO wyrzuć sobie na ekran czy do logów (jak Ci wygodniej) zawartość tablicy $_POST oraz zapytanie po podstawieniu danych. Zakładam, że czegoś Ci nie przekazuje i masz braki w zapytaniu
Go to the top of the page
+Quote Post
vermis
post 28.12.2010, 13:26:07
Post #6





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


W bazie masz 'haslo' a w zapytaniu 'password'

Ten post edytował vermis 28.12.2010, 13:27:51


--------------------
Go to the top of the page
+Quote Post
michal_s
post 28.12.2010, 13:45:14
Post #7





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

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


Dzieki vermis. Taka głupota a wszystko się sypie. Już działa. Przydatny taki świeży rzut okiem snitch.gif . Dzięki wielkie.

Ten post edytował michal_s 28.12.2010, 13:48:07
Go to the top of the page
+Quote Post
modern-web
post 28.12.2010, 14:17:53
Post #8





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Kurde; ale ja jestem spostrzegawczy ^^


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
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: 13.07.2025 - 01:38