Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] OOP poprawność kodu, OOP poprawność kodu
plej
post
Post #1





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


class.panel.php
  1. class panel
  2. {
  3. public $haslo;
  4. public $haslo2;
  5. public $login;
  6. public $email;
  7. public $email2;
  8. public $blad = 0;
  9. public $tabela = 'uzytkownik';
  10. public $wyslane;
  11.  
  12. function Rejestracja($wyslane, $loginn, $hasloo, $hasloo2, $emaill, $emaill2)
  13. {
  14. $this->wyslane = $wyslane;
  15. if(!isset($_SESSION['login']))
  16. {
  17.  
  18.  
  19. if ($this->wyslane)
  20. {
  21. $this->login = htmlspecialchars(stripslashes(strip_tags(trim($loginn))), ENT_QUOTES);
  22. $this->haslo = htmlspecialchars(stripslashes(strip_tags(trim($hasloo))), ENT_QUOTES);
  23. $this->haslo2 = htmlspecialchars(stripslashes(strip_tags(trim($hasloo2))), ENT_QUOTES);
  24. $this->email = htmlspecialchars(stripslashes(strip_tags(trim($emaill))), ENT_QUOTES);
  25. $this->email2 = htmlspecialchars(stripslashes(strip_tags(trim($emaill2))), ENT_QUOTES);
  26.  
  27. if (strlen($this->login) < 3 or strlen($this->login) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $this->login))
  28. {
  29. $this->blad++;
  30. echo '<p>Proszę wprowadzić poprawny login (od 3 do 30 znaków).</p>';
  31. } else {
  32. $wynik = mysql_query("SELECT * FROM $this->tabela WHERE login='$this->login'");
  33. if (mysql_num_rows($wynik) <> 0)
  34. {
  35. $this->blad++;
  36. echo '<p>Podana nazwa użytkownika została już zajęta.</p>';
  37. }
  38. }
  39. if ($this->haslo !== $this->haslo2)
  40. {
  41. $this->blad++;
  42. echo '<p> Podane hasła nie są ze sobą zgodne. </p>';
  43. }
  44. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $this->email))
  45. {
  46. $this->blad++;
  47. echo '<p> Proszę wprowadzić poprawnie adres e-mail.</p>';
  48. } else {
  49. $wynik = mysql_query("SELECT * FROM $this->tabela WHERE email='$this->email'");
  50. if (mysql_num_rows($wynik) <> 0)
  51. {
  52. $this->blad++;
  53. echo '<p>Podany adres e-mail jest już zajęty.</p>';
  54. }
  55. }
  56. if ($this->email !== $this->email2)
  57. {
  58. $this->blad++;
  59. echo '<p>Podane adresy e-mail nie są ze sobą zgodne.</p>';
  60. }
  61. if ($this->blad == 0)
  62. {
  63. $this->haslo = md5($this->haslo);
  64. $kod = uniqid(rand());
  65.  
  66. $wynik = mysql_query("INSERT INTO $this->tabela VALUES('', '$this->login', '$this->haslo', '$this->email', '$kod', NOW(), '')");
  67. if ($wynik)
  68. {
  69. $list = "Witaj $this->login ! Kliknij w poniższy link, aby aktywować swoje konto. $kod";
  70. mail($email, "Rejestracja użytkownika", $list, "FROM: <>");
  71. echo '<p>Dziękujemy za rejestrację! W ciągu najbliższych 5 minut dostaniesz wiadomość e-mail z dalszymi wskazówkami rejestracji.</p>';
  72. }
  73. }
  74. }
  75. // Tworzenie formularza
  76. echo <<< KONIEC
  77.  
  78.   <form action="index.php" method="post">
  79.   <input type="hidden" name="wyslane" value="TRUE" />
  80.  
  81.   <p>Login <font color="black">*</font>: <input type="text" name="login" /></p>
  82.   <p>Hasło <font color="red">*</font>: <input type="password" name="haslo" /></p>
  83.   <p>Powtórz hasło <font color="red">*</font>: <input type="password" name="haslo2" /></p>
  84.   <p>Adres e-mail <font color="red">*</font>: <input type="text" name="email" /></p>
  85.   <p>Powtórz adres e-mail <font color="red">*</font>: <input type="text" name="email2" /></p>
  86.   <p><input type="submit" value="wyślij" /></p></form>
  87. KONIEC;
  88. } else
  89. header('Location: index.php');
  90. }
  91. }


index.php
  1. require_once('class.db.php');
  2. require_once('class.panel.php');
  3. $po = new db('plej', 'jakies', 'cos', 'localhost');
  4.  
  5. $panel = new panel();
  6. $panel->Rejestracja($_POST["wyslane"], $_POST['login'], $_POST['haslo'], $_POST['haslo2'], $_POST['email'], $_POST['email2']);

Skrypt działa i dodaje użytkownika ale mi chodzi czy dobrze pisze np. czy dobrze zmienne dodaje itd. czy lepiej jakoś inaczej je przekazywać, czy styl pisania w OOP jest dobry dlatego pisze do was żeby od razu się uczyć dobrze : )) z góry mówię że w oop nie siedzę długo dopiero w nim raczkuje.
Mam nadzieje że rozumiecie o co chodzi.

Pozdrawiam.
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: 25.08.2025 - 06:52