Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP OOP - Jak skonstruować weryfikacje przy rejestracji
Forum PHP.pl > Forum > PHP
Utilaft
Witam. Mam taki kod:

  1. <?php
  2. include_once 'class/user_class.php';
  3.  
  4. ?>
  5.  
  6. <?php
  7.  
  8. $user = new User();
  9.  
  10. if($user->get_session())
  11. {
  12. header("Location: login.php");
  13. }
  14.  
  15. if($_SERVER["REQUEST_METHOD"] == "POST")
  16. {
  17.  
  18. $register = $user->register_user($_POST['login'], $_POST['password'], $_POST['email']);
  19.  
  20. if($register)
  21. {
  22.  
  23. echo 'Rejestracja przebiegła pomyślnie.';
  24. } else {
  25. echo 'Login jest zajęty.';
  26. }
  27.  
  28.  
  29. }
  30.  
  31. ?>


i klasa:

  1. <?php
  2. include_once 'db/config.php';
  3.  
  4. class User
  5. {
  6.  
  7. public function __construct()
  8. {
  9. $db = new DB_Class();
  10. }
  11.  
  12. //Register user
  13. public function register_user($login, $password, $email)
  14. {
  15.  
  16. $password = md5($password);
  17. $sql = mysql_query("SELECT login from users WHERE login = '$login' LIMIT 1");
  18. $no_rows = mysql_num_rows($sql);
  19.  
  20. if($no_rows == 0)
  21. {
  22. $result = mysql_query("INSERT INTO users SET login='$login', password='$password', email='$email'");
  23. return $result;
  24. } else {
  25. return FALSE;
  26. }
  27.  
  28. }
  29.  
  30. //Getting session
  31. public function get_session()
  32. {
  33. return isset($_SESSION['login']);
  34. }
  35.  
  36.  
  37. }
  38.  
  39. ?>


Chcę jakoś dobrze skonstruować weryfikację. Np. czy pole nie jest puste, czy ma dobre znaki. Możecie jakoś podpowiedzieć tongue.gif? // Jestem początkujący

I w ogóle chciałbym się dowiedzieć, jak dobrze jakoś zbudować rejestracje/logowanie użytkownika, zarządzanie użytkownikami
!*!
Walidacja to osobna klasa. Wysyłasz do niej dane np. POST + to jakie one mają być, sprawdzasz czy nie ma błędów i gotowe.
Utilaft
No to podobnie myślałem.

np. public function($var) {
if(blabla)
{
return costam
}
}

I takie coś?


I jeszcze tak na marginesie, nie rozumiem stosowania return. O co w tym chodzi? Po co mi zwracana wartość, jak mogę to wykorzystać.?
nospor
Cytat
I jeszcze tak na marginesie, nie rozumiem stosowania return. O co w tym chodzi? Po co mi zwracana wartość, jak mogę to wykorzystać.?
Skoro nie potrzebujesz, by Twoja funkcja coś zwracała, to nie zwracaj nic. Kiedyś może jednak będziesz potrzebował informacji od funkcji - po to właśnie jest RETURN
mstraczkowski
Dobrą praktyką jest trzymanie się tego, aby każda metoda coś zwracała, chociażby obiekt klasy $this, przez co możliwy jest method chaining, oczywiście nie zawsze jest sens.
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.