Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z uwierzytelnianiem, za pomoca SQL
bobens_83
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 7.11.2005
Skąd: z Czelsy

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


Witam. Moglibyscie rzucic okiem na kod:
  1. <?php
  2. // BLOK UWIERZYTELNIAJACY
  3. if( isset($_POST['user']) && isset($_POST['pass']) )
  4. {
  5. $user = $_POST['user'];
  6. $pass = $_POST['pass'];
  7.  
  8. $db = new mysqli( 'localhost', 'root', '', 'user_session' );
  9. $zapyt = 'select * from user_session.uw_uz'
  10.  ."where user = '$user'"
  11.  ."and password = sha1(".$pass.")";
  12.  
  13. $wynik = $db->query($zapyt);
  14. $ile = $wynik->num_rows;
  15. if( $ile == 0 ) echo "0";
  16. echo $ile;
  17. if( $wynik->num_rows > 0 )
  18. {
  19. $_SESSION['good_id'] = $user;
  20. }
  21. echo $_SESSION['good_id'];
  22. $db->close();
  23. }
  24. ?>
  25.  
  26.  
  27. <html>
  28. <body>
  29. <h1>Strona główna</h1>
  30. <?php
  31.  // GRA
  32. if( isset($_SESSION['good_id']) )
  33. {
  34. echo "Jesteś zalogowany jako: ".$_SESSION['good_id'];
  35. echo "<br><a href="wyloguj.php">Wyloguj</a>";
  36. }
  37. else  // NIE GRA!!!
  38. {
  39. if( isset($user) )
  40. {
  41. //******NIEUDANA PROBA*********
  42. echo "Zalogowanie niemozliwe!";
  43. }
  44. else
  45. {
  46. //***NIE BYLO PROBY LOGOWANIA***
  47. echo "User nie jest zalogowany!";
  48. }
  49.  
  50. echo "<form method="post" action="index.php">";
  51. echo "<table><tr><td>User: </td><td><input type="text" name="user"></td></tr>";
  52. echo "<tr><td>Pass: </td><td><input type="password" name="pass"></td></tr>";
  53. echo "<tr><td></td><td><input type="submit" value="OK"></td></tr></table>";
  54. echo "</form>";
  55. }
  56. ?>
  57. <br>
  58. <a href="tylko_czlonkowie.php">Część członkowska</a>
  59. </body>
  60. </html>


Niezaleznie czy wprowadze poprawne czy niepoprawne dane, pojawia sie komunikat zalogowanie niemozliwe! Sprawdzalem mechanizm laczenia z baza w innym, prostszym skrypcie i jest ok. Kod wydaje sie byc logiczny. Z gory dziekuje i pozdrawiam.

Ten post edytował bobens_83 19.12.2005, 17:30:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bobens_83
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 7.11.2005
Skąd: z Czelsy

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


Haslo szyfruje przy wprowadzaniu do bazy za pomoca sha1.

To raczej nie jest to. Zmienna ta nie istnieje gdy skrypt wywoluje sie pierwszy raz. Ale pominmy to, to jest do dopracowania. Tylko czemu po wprowadzeniu poprawnych danych dalej zwraca 0. A moze to miec zwiazek jakis z php.ini?

Pozdrawiam.



========================================================
A jeszcze taka rzecz: zrobilem formularz ktory wowoluje sktypt:
  1. <?php
  2.  
  3. $user = $_POST['user'];
  4. $pass = $_POST['pass'];
  5.  
  6. $db = new mysqli( 'localhost', $user, $pass, 'feniks' );
  7.  
  8. if( $db )
  9. {
  10. $zapyt = "select * from news";
  11. $wynik = $db->query($zapyt);
  12. $ile = $wynik->num_rows;
  13. echo $ile;
  14. $wynik->free();
  15. $db->close();
  16. }
  17. else
  18. {
  19. echo "error";
  20. }
  21.  
  22. ?>


Zalozylem uzytkownika MySQL 'marian' o hasle 'haselko'. Jesli wprowadze do formularza te dane to skrypt dziala poprawnie. Ale gdy wpisze dane niepoprawne to zawiesza mi sie Apache - wystepuje blad krytyczny (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)

Co wy na to ?

Ten post edytował bobens_83 20.12.2005, 00:17:41
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: 27.12.2025 - 11:01