Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ([PHP])Rejestracja
Forum PHP.pl > Forum > Przedszkole
Scoout
Pisze własną stronne dopiero co poznałem się na obiektach i chcę się spytać czy ten skrypt jest poprawny czy można w nim coś zmienić czy ulepszyć??

  1. <?php
  2.  
  3. $mysql=mysql_connect('localhost', 'root', 'aidaid');
  4. mysql_select_db ('gra');
  5.  
  6. class Rejestracja
  7. {
  8.  
  9. public function __construct() //Dane podstawowe
  10. {
  11. $this->nick[dlugosc][min]=3;
  12. $this->nick[dlugosc][max]=16;
  13. }
  14.  
  15. public function nick($nick) //Sprawdzanie poprawnosci Nicku
  16. {
  17. $zapytanie='SELECT id FROM usr_akt WHERE nick=''.$nick.''';
  18. $result=mysql_query($zapytanie);
  19. $row=mysql_fetch_array($result);
  20.  
  21. if($row!==false) $blad=1;
  22. if(strlen($nick)<$this->nick[dlugosc][min]) $blad=2;
  23. if(strlen($nick)>$this->nick[dlugosc][max]) $blad=3;
  24.  
  25. if(isset($blad)) $status=$blad; else $status='ok';
  26.  
  27. return $status;
  28. }
  29.  
  30. public function blad($blad) //Kontrola błędów
  31. {
  32. if($blad!=='ok') 
  33. {
  34. switch($blad)
  35. {
  36. case 1: echo'Dany nick istnieje już w bazie danych'; break;
  37. case 2: echo'Nick jest za krutki'; break;
  38. case 2: echo'Nick jest za długi'; break;
  39. }
  40.  
  41. } else echo('Nick jest prawidłowy');
  42.  
  43. return;
  44. }
  45. }
  46.  
  47.  
  48. $user=new Rejestracja;
  49. $nick=$user->nick('qwqw');
  50. $user->blad($nick);
  51.  
  52. ?>




Jestem otwarty na wszelką krytykę oprócz ORTOGRAFJ!! ;p

Ps. Jest to tylko część sprawdzająca Nick ale chce wiedzieć czy ogólne założenia są dobre np bezpieczeństwo...

Wiem ze do tego powinna być dodane sprawdzanie czy w Nicku nie ma Html ale to tyle mojej wiedzy...
Sabistik
Cytat
Jestem otwarty na wszelką krytykę oprucz ORTOGRAFJ!! ;p

Wybacz, ale to forum to nie śmietnik. Temat Zamykam dopóki nie wyślesz mi wykazu wszystkich błędów wraz z poprawna formą. Dodatkowo dostajesz moderacje na nowo powstałe tematy.
Scoout
Błędy poprwaiłem i nadal proszę o pomoc... smile.gif
Trobin
Przede wszystkim nazwa klasy nie bardzo odzwierciedla to co ona robi - napisane jest rejestracja a sprawdzasz tam czy nick istnieje, ale nie dodajesz nowego - to nie jest rejestracja. To jest raczej walidowanie danych do późniejszej rejestracji (czy nick nie jest za długi, krótki lub nie istnieje już w bazie). Jeszcze takie moje czepialstwo - nie lubie nazw klas zaczynających się n=od dużej litery tongue.gif A tak poważniej to zwyczajowo przyjęło się, żeby używać angielskich nazw klas winksmiley.jpg . Piszesz
  1. <?php
  2. if(strlen($nick)>$this->nick[dlugosc][max]) $blad=3;
  3. ?>

a potem
  1. <?php
  2. case 2: echo'Nick jest za krótki'; break;
  3. case 2: echo'Nick jest za długi'; break;
  4. ?>

mogę się mylić, ale sprawdzanie czy nick jest za długi chyba nie zadziała.
Poza tym skoro już używasz OOP w PHP to zastanów się nad używaniem obiektowego sterownika do bazy danych - ot dla wygody i możliwości późniejszej rozbudowy. Samej stricte obiektowości nie komentuję, ponieważ sam nie czuję się w tej dziedzinie pewnie winksmiley.jpg .
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.