Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Logowanie za pomoca PHP i mySQL
Forum PHP.pl > Forum > Przedszkole
kxson
witam

mam baze sql gdzie sa loginy i hasla, mam tez formularz z 2 polami na login i haslo oraz button zatwierdzajacy, tylko jak zrobic zeby sprawdzal poprawnosc hasla i loginu i przepuszczal zalogowanych dalej ? prosze o pomoc, super jakby ktos mial jakis tutorial
ayeo
  1. <?php
  2. function LogIn($login, $password) {
  3. $query = "SELECT
  4.  user_id, password
  5. FROM
  6.  users
  7. WHERE
  8. login = \"$login\"";
  9.  
  10. $result = mysql_query($query);
  11. if (mysql_num_rows($resutl) == 1) {
  12.  $row = mysql_assoc_array($result);
  13.  if ($row['password'] == $password) return $row['user_id'];
  14. }
  15. else return false;
  16. }
  17. ?>


Ta funkcja pobiera dwa argumenty (login i hasło) porównuje je z danymi z bazy i jeśli dane są ok zwraca id użytkownika. Jeśli hasło lub login jest niepoprawne zwraca false.
  1. <?php
  2. $logged = LogIn('Harry', 'tajne haslo');
  3.  
  4. if ($logged) {
  5. // instrukcje dla zalogowanego użytkownika
  6. }
  7. else {
  8. // instrukcje dla niezalogowanego
  9. }
  10. ?>


Pisane z palca, mogą być literówki smile.gif
Cysiaczek
Wysil się trochę i poszukaj na forum - pytasz o podstawy wałkowane średnio 3x w tygodniu smile.gif
Przenoszę na Przedszkole
kxson
Cytat(ayeo @ 10.12.2007, 03:59:26 ) *
  1. <?php
  2. function LogIn($login, $password) {
  3. $query = &#092;"SELECT
  4.  user_id, password
  5. FROM
  6.  users
  7. WHERE
  8. login = &#092;"$login\"\";
  9.  
  10. $result = mysql_query($query);
  11. if (mysql_num_rows($resutl) == 1) {
  12.  $row = mysql_assoc_array($result);
  13.  if ($row['password'] == $password) return $row['user_id'];
  14. }
  15. else return false;
  16. }
  17. ?>


Ta funkcja pobiera dwa argumenty (login i hasło) porównuje je z danymi z bazy i jeśli dane są ok zwraca id użytkownika. Jeśli hasło lub login jest niepoprawne zwraca false.
  1. <?php
  2. $logged = LogIn('Harry', 'tajne haslo');
  3.  
  4. if ($logged) {
  5. // instrukcje dla zalogowanego użytkownika
  6. }
  7. else {
  8. // instrukcje dla niezalogowanego
  9. }
  10. ?>


Pisane z palca, mogą być literówki smile.gif


wszystko fajnie i wielkie dzieki, ale jestem pcozatkujacym i moglbys dorobic komenty do pierwszej czesci kodu? jak rozumiesz te zmienne itd. btw, gdzie jest lacznie z baza i wskazanie tabeli? i czy ty 2 kody nie moga byc jednym?
ayeo
To taki prototyp tylko, nie ma łączenia z bazą smile.gif W sumie możesz to zrobić tak:

  1. <?php
  2. function hDB() {
  3.  
  4. $host = 'localhost';
  5. $user = 'root';
  6. $password = 'dupa8';
  7.  
  8. static $DBhandler;
  9.  
  10. if (!$DBhandler) {
  11. $DBhandler = mysql_connect($host, $user, $password) 
  12.  or die("Nie można połączyć się z bazą!"); // łączy się z bazą danych 
  13. }
  14. return $DBhandler 
  15. }
  16.  
  17. ?>


No a w kodzie:
  1. <?php
  2. function LogIn($login, $password) {
  3.  
  4.  mysql_select_db('nazwa Twojej bazy');
  5. $query = &#092;"SELECT
  6.  user_id, password
  7. FROM
  8.  users
  9. WHERE
  10. login = &#092;"$login\"";
  11.  
  12. $result = mysql_query($query, hDB());
  13. if (mysql_num_rows($resutl) == 1) {
  14.  $row = mysql_assoc_array($result);
  15.  if ($row['password'] == $password) return $row['user_id'];
  16. }
  17. else return false;
  18. }
  19. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.