fundacja tvn joomla-cms.com.pl
A+ A A-

Class PDO register

  • Kategoria: PDO
  • Opublikowano: środa, 01, maj 2013 13:36
  • Super User
  • Odsłony: 43205

  PDO registerClass część 4

  Rejestracja Użytkownika

 

     Następną klasą, którą należało by zrobić, to rejestrację użytkowników. Tak jak poprzednio oczywiście PDO. Metodę w której będziemy sprawdzać dane przesłane z formularza w tablicy $_POST. Do tego jakaś walidacja danych i parę istotnych danych które mogą nam się przydać do weryfikacji użytkowników np. ip, referer, ogólne dane, protokół . Samą walidację wykorzystam z klasy user , żeby nie powielać już istniejących metod. Do uzyskania danych ogólnych posłużyłem się $_SERVER['HTTP_USER_AGENT'], z którego możemy w późniejszym czasie wyciągnąć interesujące nas dane. Następną informacją jaka może nam się przydać to, protokół z którego nastąpiła rejestracja. Pozostał jeszcze rerferer i ip. Te informacje na początek powinny nam wystarczyć. Do samej rejestracji postanowiłem użyć trzech podstawowych danych takich jak login, password i e-mail. Zrobiłem też sprawdzanie czy dany użytkownik już istnieje, poprzez sprawdzenie loginu oraz e-mail. Myślę że taka rejestracja powinna się sprawdzić. Jeżeli nie to możemy w łatwy sposób w późniejszym terminie dodać to co nas interesuje.

Licencja Creative Commons
registerUserClass.php by Adam Berger is licensed under a Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Unported License.
W oparciu o utwór dostępny pod adresem www.joomla-cms.com.pl

 

registerClass.php

include_once basename('databaseClass.php');
require_once basename('userClass.php');
class Register 
{
                  private $nameus;
                  private $passwordus;
                  private $email;
                  private $user;
                  public  $error;
                  private $db;
   
                
                public function __construct() 
          { 
                     $this->db    = new DBBER();
                     $this->user  = new User();
           ///parent::__construct(); 
                  }
                 
                  ############################ Rejestracja #####################################
    public function rejestracja($nameus, $passwordus, $email)
        {
          try{
        $this->nameus     = $this->user->czyscpost($nameus);   /// validacja @ _ - . z class user
        $this->passwordus = $this->user->czyscpost(md5($passwordus));   /// validacja @ _ - .z class user
        $this->email      = $this->user->czyscpost($email);   /// validacja @ _ - . z class user
                     
                      if(!empty($this->nameus) && !empty($this->passwordus) && !empty($this->email))
                         {     
               $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                           $stmt = $this->db->prepare('SELECT `u_login` FROM `'.$this->db->dbprefix().'user` WHERE `u_login`=:nameus or `u_email`=:email');
               $stmt->bindValue(':nameus', $this->nameus, PDO::PARAM_STR); 
               $stmt->bindValue(':email', $this->email, PDO::PARAM_STR);
                           $stmt->execute();       
                     if($stmt->fetch() > 0)
                    {
              echo  $this->error = "<div style='color: red;'>User już istnieje</div>";
                    }else{
 $stmt = $this->db->prepare('INSERT INTO `'.$this->db->dbprefix().'user` (`u_login`, `u_email`, `u_haslo`, `u_data`, `u_referer`, `u_sesion`, `u_ip`, `u_protokul`, `u_agent`) VALUES (
                                                                :nameus,
                                                                :email,
                                :passwordus,
                                                                 NOW(),
                                :u_referer,
                                                                :u_sesion,
                                :u_ip,
                                :u_protokul,
                                                                :u_agent)');  
 
                        $stmt->bindValue(':nameus', $this->nameus, PDO::PARAM_STR); 
                        $stmt->bindValue(':passwordus', $this->passwordus, PDO::PARAM_STR);
                        $stmt->bindValue(':email', $this->email, PDO::PARAM_STR); 
            $stmt->bindValue(':u_referer', $this->referer(), PDO::PARAM_STR);
                        $stmt->bindValue(':u_sesion', 1, PDO::PARAM_INT);
            $stmt->bindValue(':u_ip', $this->user->ip(), PDO::PARAM_STR); 
            $stmt->bindValue(':u_protokul', $this->protokol(), PDO::PARAM_STR); 
                        $stmt->bindValue(':u_agent', $this->useragent(), PDO::PARAM_STR);
               $ilosc = $stmt->execute();
                        $stmt->closeCursor();    
                        if($ilosc > 0)
                        {
                             echo $this->error = '<div style="color: red;">Rejestracja dodano '.$ilosc.' rekord </div>';
                        }else{
                            echo $this->error = "<div style='color: red;'>Wystapil blad podczas Rejestracji! </div>";
                        }
        }    
                       }else{     
                            echo $this->error = "<div style='color: red;'> Wprowadź Dane </div>";
                                }
              return $this->error;
              }catch(PDOException $e){
               return 'Połączenie rejestracja nie utworzone.<br />'.$e;
                    }                         
         }
              ############################ Z kąd #####################################
      protected function referer()
        {
           if(!isset($refer))
                      {
                     $refer = $_SERVER['HTTP_REFERER'];
                      }else{
                     $refer = "Proxy";
                      }
          return $refer;
        }
             ############################ Protokół #####################################
       protected function protokol()
     {
        if(!isset($protokol))
                {
                  $protokol = $_SERVER['SERVER_PROTOCOL'];
                }else{
                  $protokol = "N/A"; 
                }
         return $protokol;
    }
        
     protected function useragent()
       { 
         if(!isset($agent))
           {
                $agent = $_SERVER['HTTP_USER_AGENT'];
           }
            return $agent;
       }
}

Komentarze  

 
0 #1 Claude Giroux jersey 2014-04-20 01:02
What's up, I check your blogs on a regular basis. Your humoristic style is witty, keep doing what you're doing!
Cytować
 

Dodaj komentarz


Kod antyspamowy
Odśwież

 Pozycjonowanie-Joomla, seo-joomla Tworzenie-Sitemap-joomla, TG-Chmura-Tagów, rs-rules-security Admin-Login-Security, joomla Licencja-Drupal, Licencja-ZenCart, Licencja-GPL2, Licencja-GPL3 Creative-Commons-License, joomla-2.5.x Kalendarz-Celtycki data-zodiak-data-majowie, moduł-GA-Gadu-gg, Moduł-Lotto-joomla K2-joomla Moduł-Kodownik-joomla kontakt-admin-3-pl Moduł-miłość-joomla Moduł-minutnik-joomla Google-Gadżet-strona-www Moduł-Multi-AnalogClock-joomla Grafika-Wektorowa-joomla Pascal-podstawy Pascal-instrukcja-if Pascal-pętla-for Pascal-Pętla-white-Repet Pascal-Instrukcja-Case Pascal Pascal-record Pascal-Tablice-(Macierze) Kolory-w-Pascalu Systemy-Liczbowe-10-16-8 Pak-top10-głosowanych-jQuery Waga-Bmi BF-Bear-Form Joomla+2.5+captcha+google BSD joomla, MP3 Creating, SEO, Admin tg RS BF The Celtic Forever Création Erstellen Toujours Immer Multi Contact-Admin-3-EN Contact-Admin-3-fr Contact-Admin-3-DE Open-Software-License-v.3.0-(OSL-3.0) System Interfejsy Mozilla joomla-metadane, seo-katalogi, wymiana Slider aukcjoner, Informator Osiemnaście CiastkoPl sem, Class Class-PDO-session login, registerUserClass, index PHP PDO, Class-ResponsiveCss zarabiarka-allegro Pogodynka Pogodynka Praca-Programisty Praca Funkcja-if Special+Arguments Simple-Captchta Jquery, Od 2 Konfiguracja 4.Instalacja 5.Konfiguracja 6.Instalacja 7.Konfiguracja 8.Metadane 9.Optymalizacja 10.Ciasteczka 11.System 12.Diagnostyka 13.Sesja Klasa Książka responsive Uniwersal Dodatek GoogAd.v1.4-polish-utf-8 Error Cooki Funkcje Linki Google Kompresja pdf, Dynamiczne template wycena Twoja Separation reklama ssd, bezpieczeństwo wzorce rekrutacja Zastosowanie Urządzenia Portale chat, dyski Platformy QUIZ 

Używamy cookies i podobnych technologii m.in. w celach: świadczenia usług, reklamy, statystyk. Korzystanie z witryny bez zmiany ustawień Twojej przeglądarki oznacza, że będą one umieszczane w Twoim urządzeniu końcowym. Pamiętaj, że zawsze możesz zmienić te ustawienia. To find out more about the cookies we use and how to delete them, see our privacy policy.

I accept cookies from this site.

EU Cookie Directive Module Information