Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z skryptem logowania i rejestracji
dzesi
post 15.10.2007, 21:04:49
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


Witam na zaliczenie pisze skrypt logowania i rejestracji i do końca nie wiem co robie złe , bo nic nie dodaje do bazy przy próbie rejestracji .Prosiłbym o porady co do tych class co poprawić ulepszyć itd

Ten post edytował dzesi 16.10.2007, 18:24:16
Go to the top of the page
+Quote Post
matix
post 15.10.2007, 21:28:42
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Może zacznę od tego, że zmienne publiczne przy tak prywatnych rzeczach jest blee smile.gif
Po drugie, nie moim zdaniem łączysz php 4 z php5. Rozumiem, że w php5 nadal łączenie odbywa się poprzez zwykły sterownik mysql, ale takie coś moim zdaniem jest nie najlepszym rozwiązaniem. Powinieneś napisać prostą klasę do obsługi mysql i do niej się odwoływać. To samo tyczy się sesjii jako mechanizmu działania.
Kolejne:
  1. <?php
  2. $this->haslo=$_POST['haslo'];
  3. $this->haslotwo =$_POST['haslotwo'] ;
  4. ?>

Wtf?

To co napisałeś nie jest zgodne z ideą obiektowego programowania.
Pokaże ci jak to powinno mniej więcej wyglądać (szablon), a ty sobie to przerób, żeby to działało.

  1. <?
  2. class User {
  3.  
  4. private
  5. $db,
  6. $login,
  7. $pass;
  8.  
  9. public function __construct($login, $pass)
  10. {
  11. $oConfig = new Config('config.php'); // pobiera dane z config.php
  12. $this -> db = db::singleton;
  13. $this -> db -> setSource($oConfig);
  14.  
  15. $this -> login = $login;
  16. $this -> pass = $pass;
  17. }
  18.  
  19. public function isValid()
  20. {
  21. return ($this -> login != null && $this -> pass != null);
  22. }
  23.  
  24. public function check()
  25. {
  26. $this -> db -> setwhere ('login = '.$login);
  27. $this -> db -> setwhere ('pass = '.$pass);
  28. $this -> db -> dbSelect('users');
  29.  
  30. return $this -> db -> numrows();
  31. }
  32.  
  33. public function save()
  34. {
  35. $oUser = new UserSession;
  36. $oUser -> logged = true;
  37. $oUser -> login = $login;
  38. $oUser -> pass = md5($pass);
  39. }
  40. }
  41. $sLogin = $_POST['login'];
  42. $sPass = $_POST['password'];
  43.  
  44. $oUser = new user($sLogin, $sPass);
  45.  
  46. if ($oUser -> isValid() && $oUser -> check() == 1)
  47. $oUser -> save();
  48. ?>


Reszta zależy od ciebie. I proszęcię bardzo - ucz się tworzyć "ładny" i przejrzysty kod. To podstawa.

Pozdrawiam smile.gif


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post

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: 28.06.2025 - 07:52