Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie się z wykorzystaniem Mysql, PHP+MySQL
Lekki
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.05.2005

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


Cześc mam taki problem:

Pisze stronke w php. Prosta baza danych. Jedna tabllica nie ma potrzeby wiecej.
napisałem skypt logowania z wykorzystaniem mysql , poniewaz bedzie to metoda najlepsza ( tak mi sie wydaje), bo stronka bedzie wyswietlana na róznego typu urzadzeniach mobilnych i boje sie ze sesje czy cooki moga zawieść. jesli macie jakies inne propozycje to prosze o podpwiedź.

no i napisałem skrypt
  1. <html>
  2. <head>
  3. <title>.:Mobilna sieć:.</title>
  4. <meta http-equiv=\"Content-language\" content=\"pol-PL\" />
  5. <meta name=\"MSSmartTagsPreventParsing\" content=\"TRUE\" />
  6. <meta name=\"generator\" content=\"eZ publish\" />
  7.  
  8. <style type=\"text/css\">
  9. <!--
  10. .style1 {font-size: 24px}
  11. -->
  12. </style>
  13.  
  14. <META http-equiv=Content-Type content=\"text/html; charset=windows-1250\">
  15. <META content=\"MSHTML 6.00.2800.1479\" name=GENERATOR></HEAD>
  16. <base>
  17. </head>
  18. <?php
  19. @ $uzytkownik = $_POST['uzytkownik'];
  20. @ $haslo = $_POST['haslo'];
  21.  
  22. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  23.  
  24. {
  25. //Użytkownik musi podać identyfikator i hasło
  26. ?>
  27.  <center>
  28. <h1>Zaloguj się</h1>
  29. Ta strona jest zatrzeżona.
  30. <form method = 'post' action = \"home.php\">
  31. <table border = \"0\">
  32. <tr>
  33. <th> Użytkownik </th>
  34. <td><input type = \"text' name = \"uzytkownik\"></td>
  35. </tr>
  36. <tr>
  37. <th> password </th>
  38. <td><input type = \"text' name = \"haslo\"></td>
  39. </tr>
  40. <tr>
  41. <td colspan = \"2\" align = \"center\">
  42.  <input type = submit value = \"Zaloguj się\">
  43. </td>
  44. </tr>
  45. </form>
  46. </center>
  47.  
  48. <?php
  49. }
  50. else
  51. {
  52.  //połącz się z bazą MySQL
  53. $mysql = mysqli_connect('localhost', 'uwierzytel', 'uwierzytel' );
  54. if(!$mysql)
  55. {
  56. echo 'Nie można połączyć się z bazą danych.';
  57. }
  58. //wybierz właściwą bazę danych
  59. $wybrana = mysqli_selectdb($mysql, 'uwierz');
  60. if(!$wybrana)
  61. {
  62. echo 'Błąd wyboru bazy danych. ' ;
  63. }
  64.  
  65. //znajdź pasujący wiersz
  66. $zapytanie = &#092;"select count(*) from uwierzytelnieni_uzytkownicy where
  67.  uzytkownik= '$uzytkownik' and
  68.  haslo= '$haslo'&#092;";
  69.  
  70. $wynik = mysqli_query( $mysql, $zapytanie);
  71. if(!$wynik)
  72. {
  73. echo ' Nie można wykonac zapytania.';
  74. }
  75. $wiersz = mysql_fetch_row( $wynik);
  76.  
  77. $ile = $wiersz[0];
  78.  
  79. if ( $ile > 0)
  80. {
  81. // podana kombinacja: identyfikator i hasło jest prawidłowa
  82. echo '<h1> Strona jest Ok</h1>';
  83. echo ' Fajnie , że udao się to zobaczyć.';
  84. }
  85. else
  86. {
  87. //Kombinacja nie jest ok
  88. echo '<h1>17:03 2005-05-26Odejdź stąd</h1>';
  89. echo ' Nie jesteś uprawniony do oglądania tej strony.';
  90. }
  91. }
  92. ?>



No i co sie dzieje? A mianowicie nic ! przelatuje przez niego nic nie robiac idac do nastepnej strony. Nie pokazuje ze hasło złe dobre, czy sie połaczył. uzywam easyphp.

prosze Was o zweryfikowanie skryptu lub o doradzenie alternatywnej metody bezpiecznego logowania


Z góry dzięki.

Pozdrawiam Lekki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Hm niby wydaje sie ok. Po wstawiaj co kilka lini echo i sprawdzaj co wykonuje.
Mam jeszcze jedna uwage.
Napisales
Cytat
bo stronka bedzie wyswietlana na róznego typu urzadzeniach mobilnych

A hasla w bazie masz niekodowane - oj nie ladnie to tak. Ja bym nie chcial czegos takiego uzywac.


--------------------
Go to the top of the page
+Quote Post
Ociu
post
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2.  //znajdź pasujący wiersz
  3. $zapytanie = &#092;"select * from uwierzytelnieni_uzytkownicy where
  4.  uzytkownik= '$uzytkownik' and
  5.  haslo= '$haslo'&#092;";
  6.  
  7.  if ( mysql_num_rows($zapytanie) == 1) // Musi być 1 taki user
  8. {
  9. // True
  10. echo '<h1> Strona jest Ok</h1> 
  11. Fajnie , że udao się to zobaczyć.';
  12. }
  13. else
  14. {
  15. // False
  16. echo '<h1>'.date(&#092;"H:i d.m.Y\").' Odejdź stąd</h1> Nie jesteś uprawniony do oglądania tej strony.';
  17. }
  18.  
  19. ?>
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. <?php
  2.  
  3. $zapytanie = &#092;"select count(*) from uwierzytelnieni_uzytkownicy where
  4.  uzytkownik= '$uzytkownik' and
  5.  haslo= '$haslo'&#092;";
  6.  
  7. $wynik = mysqli_query( $mysql, $zapytanie);
  8. if(!$wynik)
  9. {
  10. echo ' Nie można wykonac zapytania.';
  11. }
  12. $wiersz = mysql_fetch_row( $wynik);
  13.  
  14. $ile = $wiersz[0];
  15.  
  16. if ( $ile > 0)
  17.  
  18. ?>


@Ociu Tylko to to samo robi bo masz tam count(), no chyba ze jest jakis blad na ktory nie zwrocilem uwagi.


--------------------
Go to the top of the page
+Quote Post
Lekki
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.05.2005

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


szyfrowanie bedzie dołączone. Lecz niech na razie zadział ten skrypt
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


OK, bo szyfrowanie to bardzo wazna rzecz w tego typu serwisach.

Znalazles blad w skrypcie? Jesli nie to tak jak pisalem wstawiaj co kawalek echo i zobaczysz przez jakie warunki przechodzi.


--------------------
Go to the top of the page
+Quote Post
Ociu
post
Post #7





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




SongoQ: Ale po co tworyć aż tyle skryptu, skoro mySQL ma takie dobrodziejstwo ?

Wracając do tematu. Sprawdź czy podajesz w ogóle dobrze dane.
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Ociu z tym sie zgadzam ze Twoj kod jest bardziej optymalniejszy. Chcialem tylko zwrocic uwage ze to co pisal @Lekki tez jest ok.


--------------------
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 Aktualny czas: 20.08.2025 - 16:50