Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Skrypt]Kontrola użytkownika
ShadowD
post
Post #1





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Witam ponownie po krótkiej przerwie...

Przez dwa ostatnie dni próbowałem napisać w pełni funkcjonalną klasę do obsługi logowania, zapamiętywania hasła i kontroli użytkownika, czy mi się udało ocenicie sami. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Kod:
http://wklej.org/hash/a408abdd6a/

Jest to jedna z pierwszych tak rozbudowanych klas którą napisałem, mam nadzieję że nie będziecie zbytnio narzekać. Proszę o ocenę kodu jak i funkcjonalności i o podpowiedzi co powinno być inaczej. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Jeden z sposobów użycia:
  1. <?php
  2. $form=new users();
  3.    $form->conf(array('name'=>'admin','cookie'=>'TRUE'));
  4.    
  5.    $form->check();
  6.    
  7.    if(!$form->ifLogged())
  8.      echo
  9.        $form->form('In').
  10.        'Nick: '.
  11.        $form->inputNick().
  12.        'Hasło: '.
  13.        $form->inputPass().
  14.        'Zapamietaj hasło: '.
  15.        $form->inputRememberPass().
  16.        $form->submitButton('Zaloguj').
  17.        $form->endForm()
  18.      ;
  19.      
  20.    if($form->ifLogged())
  21.      echo
  22.        $form->idSession().
  23.        ' - Jesteś Zalogowany ;) <br />'.
  24.        $form->form('Out').
  25.        $form->submitButton('Wyloguj').
  26.        $form->endForm()
  27.      ;
  28.  
  29.    unset($form);
  30.    
  31.  ?>


Chciał bym również przypomnieć, że dopiero zaczynam zgłębiać tajniki programowania obiektowego, wiem że muszę do pisać do wszystkich funkcji tryb dostępu ale tym zajmę się na koniec. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam i z góry dziękuję!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


A więc wczoraj w nocy już zapomniałem napisać, że tak klasa będzie korzystała(dziedziczyła) z klasy form która będzie obsługiwać formularze, dodatkowo dołączę do tego kontroler mysql.

Co do kontroli użytkownika, chodzi głównie o ulepszenie kontroli sesji wbudowanej w php przez sprawdzanie ip (zawsze ktoś może pożyczyć sobie identyfikator sesji od innej osoby), możliwość wylogowania użytkownika za pomocą panelu admina (ktoś się zbytnio rozszalał więc blokuję mu konto i wylogowuję go).

Co do wstawienia tego do jakiegoś diva czy czegoś podobnego - nie ma żadnych problemów klasa jest tak skonstruowana by umożliwiała teo typu zabiegi, każdy input może być wyświetlany niezależnie od innego. A oto przykład:

  1. <?php
  2.    if(!$form->ifLogged())
  3.      echo
  4.        $form->form('In').
  5.        '<table><tr></td><td>Nick: </td><td>'.
  6.        $form->inputNick().
  7.        '</td><td>Hasło: </td><td>'.
  8.        $form->inputPass().
  9.        '</td><td>Zapamietaj hasło: </td><td>'.
  10.        $form->inputRememberPass().
  11.       '</td><td>'.
  12.        $form->submitButton('Zaloguj').
  13.       '</td></tr></table>.'
  14.        $form->endForm()
  15.       ;
  16.  ?>


Oczywiście przykład jest bardzo banalny można go znacznie powiększyć i rozbudować. A z fieldset sprawa wygląda identycznie. Co do zmiany inputa na np bottom to muszę się zastanowić i myślę o dodaniu identycznej funkcji jak i w przypadku input ale z bottomem, i faktycznie muszę dodać możliwość zmiany typu forma ale tym zajmę się po napisaniu klasy która będzie je konstruowała.

Dziękuję za opinię i z chęcią przeczytam nowe... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ps Sądzicie że powinienem pozbyć się wszystkich formów i pozostawić samą kontrolę a formy tworzyć jako oddzielny obiekt (tym sposobem oddzielę prezentację od kontrolera)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował ShadowD 11.01.2009, 15:09:40
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: 12.10.2025 - 13:00