Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie do panelu z pobraniem danych z mysql
alpin19
post 17.07.2005, 10:50:27
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 9.02.2005

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


Witam
Zaczynam pracę nad własnym prościutkim cms'em.
Robię logowanie w następujący sposób:

1. Formularz w którym podaję dane (login_form.php):
  1. <?php
  2.  
  3. <form name=&#092;"login_form\" action=\"login_check.php\" method=\"post\">
  4. <table cellspacing=&#092;"1\" cellpadding=\"1\" border=\"0\" align=\"center\" bgcolor=\"#527aa0\">
  5.  <tr>
  6.  <td id=&#092;"wybor\">
  7.  <font size=&#092;"2\">
  8.  <img src=&#092;"ikony/b_search.png\" alt=\"\"> &nbsp <b>Login:</b>
  9.  </font>
  10.  </td>
  11.  <td id=&#092;"login\">
  12.  <font size=&#092;"2\">
  13.  <input type=&#092;"text\" size=\"20\" name=\"login\" value=\"login\"></input> 
  14.  </font>
  15.  </td>
  16.  </tr>
  17.  <tr>
  18.  <td id=&#092;"wybor\">
  19.  <font size=&#092;"2\">
  20.  <img src=&#092;"ikony/b_search.png\" alt=\"\"> &nbsp <b>Password:</b>
  21.  </font>
  22.  </td>
  23.  <td id=&#092;"login\">
  24.  <font size=&#092;"2\">
  25.  <input type=&#092;"password\" size=\"20\" name=\"pass\" value=\"pass\"></input> 
  26.  </font>
  27.  </td>
  28.  </tr>
  29. </table>
  30. <table cellspacing=&#092;"1\" cellpadding=\"1\" border=\"0\" align=\"center\" bgcolor=\"#527aa0\">
  31.  <td id=&#092;"zatwierdz\">
  32.  <input type=&#092;"submit\" name=\"zaloguj\" value=\"zaloguj\">
  33.  <input type=&#092;"reset\" name=\"wyczyść\" value=\"wyczyść\">
  34.  <font size=&#092;"2\">
  35.  </font>
  36.  </td>
  37.  </tr>
  38. </table>
  39. </form>
  40.  
  41. ?>


2. Następnie przesyłam te dane do pliku sprawdzającego ich poprawność na podstawie wpisów w bazie MySQL (login_check.php):
  1. <?php
  2.  
  3. /* uproszczone logowanie */
  4.  
  5. $login = $_POST['login'];
  6. $pass = $_POST['pass'];
  7.  
  8. $mysql_host = 'localhost';
  9. $mysql_user = 'root';
  10. $mysql_pass = '';
  11. $mysql_db  = 'intranet';
  12.  
  13. @ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Nie można połączyć z serwerem MySQL');
  14.  $get_db = mysql_select_db($mysql_db);
  15.  $zapytanie = &#092;"SELECT login, pass FROM admin_users WHERE id = '1'\";
  16.  $row = mysql_fetch_row($zapytanie);
  17.  
  18.  
  19. $admin = &#092;"$row[1]\";
  20. $admin_pass = &#092;"$row[2]\";
  21.  
  22. if($_POST['login'] == $admin && $_POST['pass'] == $admin_pass){
  23. $admin = $_POST['login']; 
  24. $_SESSION['login'] = $admin; 
  25.  
  26. $admin_pass = $_POST['pass']; 
  27. $_SESSION['pass'] = $admin_pass; 
  28.  
  29. print &#092;"<font size='2'><b>Logowanie przebiegło pomyślnie !</b></font><br />\";
  30. echo &#092;"<font size='2'>Kliknij <A HREF=\"index.php?\";
  31. echo &#092;"=\";
  32. echo &#092;"\"><b>tutaj</b></a> aby przejść dalej</font>\";
  33. footer();
  34. }
  35. elseif($_POST['login'] != $admin && $_POST['pass'] != $admin_pass){
  36. $admin = $_POST['login']; 
  37. $_SESSION['login'] = $admin; 
  38.  
  39. $admin_pass = $_POST['pass']; 
  40. $_SESSION['pass'] = $admin_pass; 
  41.  
  42. print &#092;"<font size='2'><b>Logowanie nie powiodło się !</b></font><br />\";
  43. }
  44.  
  45. ?>


3. Problem jest o tyle ciekawy, że jeśli pobieram dane z bazy MySQL logowanie nie udaje się.
  1. <?php
  2. @ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Nie można połączyć z serwerem MySQL');
  3.  $get_db = mysql_select_db($mysql_db);
  4.  $zapytanie = &#092;"SELECT login, pass FROM admin_users WHERE id = '1'\";
  5.  $row = mysql_fetch_row($zapytanie);
  6.  
  7.  
  8. $admin = &#092;"$row[1]\";
  9. $admin_pass = &#092;"$row[2]\";
  10. ?>


Ale jeśli zadeklaruję nazwę usera i hasło w pliku na sztywno, czyli naprzykład:
  1. <?php
  2. /*
  3. @ mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('Nie można połączyć z serwerem MySQL');
  4.  $get_db = mysql_select_db($mysql_db);
  5.    $zapytanie = \"SELECT login, pass FROM admin_users WHERE id = '1'\";
  6.    $row = mysql_fetch_row($zapytanie);
  7. */
  8.  
  9. $admin = 'user_1';
  10. $admin_pass = 'pass_1';
  11. ?>

Wówczas loguję się bez problemu :|

Proszę o pomoc sad.gif


--------------------
Początkujący PHP'owicz....
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.07.2025 - 22:53