Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO i PHP5] - CMS
coolos
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

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


Witam serdecznie

Jestem tu nowy, dopiero uczę się obiektywności w php (wcześniej programowałem strukturalnie) i nie wiem czy gdzieś nie zbłądziłem. Piszę CMS'A na moją stronkę no i nie wiem czy debrzę postępuję. Mam taki kodzik:

klasa odpowiedzialna za połączenie z bazą danych:
  1. <?php
  2. class bd
  3. {
  4.    public $zapytanie;
  5.    //przygotowanie danych do bindowania
  6.    public function PrzygotujDoBazy($formula, $bindowanie)
  7.    {
  8.        global $baza;
  9.        $this->zapytanie = $baza->prepare($formula);    
  10.        
  11.        if(count($bindowanie) > 0)
  12.        {    
  13.            foreach($bindowanie as $bind)
  14.            {
  15.                $this->zapytanie->BindValue($bind[0], $bind[1], $bind[2]);
  16.            }
  17.        }
  18.        return $this->zapytanie->execute();
  19.    }
  20.    //zwraca zapytanie
  21.    public function ZwrocZapytanie()
  22.    {
  23.        return $this->zapytanie;
  24.    }
  25.    //czysci zapytanie    
  26.    public function WyczyscZapytanie ()
  27.    {
  28.        $this->zapytanie->closeCursor();
  29.        unset($this->zapytanie);
  30.    }
  31. }
  32. ?>


klasa odpowiedzialna za logowanie

  1. <?php
  2. class uwierzytelnianie
  3. {
  4.    //start sesji
  5.    public function StartSesji()
  6.    {
  7.        session_start();
  8.    
  9.        if (!isset($_SESSION['inicjuj']))
  10.        {
  11.            session_regenerate_id();
  12.            $_SESSION['inicjuj'] = true;
  13.            $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  14.        }
  15.    
  16.        if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  17.        {
  18.            $this->Przekierowanie("http://www.strona.pl");
  19.        }
  20.  
  21.    }
  22.    //forma do logowania
  23.    public function FormaLogowanie($komunikat)
  24.    {
  25.        if(!empty($komunikat))
  26.        {
  27.            $string ="<p>".$komunikat."</p>";    
  28.        }
  29.        
  30.        $string .= '
  31.        <form method="post" action="index.php?akcja=logowaniesprawdz">
  32.        Login:<input type="text" name="login">
  33.        Haslo:<input type="password" name="haslo">
  34.        <input type="submit" value="Zaloguj sie">
  35.        </form>
  36.        ';
  37.        
  38.        szablony::ZapisDoSzablonu("logowanie", $string);
  39.    }
  40.    //sprawdzenie uzytkownika i jego zalogowanie
  41.    public function SprawdzLogowanie($login, $haslo)
  42.    {
  43.        if(!empty($login) && !empty($haslo))
  44.        {
  45.            $login = addslashes($login);
  46.            $haslo = addslashes(sha1($haslo));
  47.            
  48.            $bind= array(
  49.                         array(':login', $login, PDO::PARAM_STR),
  50.                         array(':haslo', $haslo, PDO::PARAM_STR)
  51.                         );
  52.            bd::PrzygotujDoBazy("SELECT * from uzytkownicy WHERE login = :login and haslo= :haslo", $bind);
  53.            if(($rzad = bd::ZwrocZapytanie()->fetch()) > 0)
  54.            {
  55.                $_SESSION['login'] = stripslashes($rzad['login']);
  56.                $_SESSION['poziom'] = stripslashes($rzad['poziom']);
  57.  
  58.                bd::WyczyscZapytanie();
  59.                $this->Przekierowanie("./index.php");
  60.            }
  61.            else
  62.            {
  63.                bd::WyczyscZapytanie();
  64.                $this->FormaLogowanie("Zly login lub haslo");
  65.            }            
  66.            
  67.        }
  68.        else
  69.        {
  70.            $this->FormaLogowanie("Pola login oraz haslo musza zostac wypelnione");
  71.        }
  72.                
  73.    }
  74.    //wylogowywanie
  75.    public function Wyloguj()
  76.    {
  77.        $_SESSION['login'] = $_SESSION['poziom'] = 0;
  78.        unset($_SESSION['login']);
  79.        unset($_SESSION['poziom']);
  80.    }
  81.    //import z klasy szablony
  82.    public function WyswietlSzablon($nazwa)
  83.    {
  84.        szablony::ImportSzablonu($nazwa);
  85.    }
  86.    //przekierowanie
  87.    private function Przekierowanie($strona)
  88.    {
  89.            header("HTTP/1.1 301 Moved Permanently");
  90.            header("location: {$strona}");
  91.            header("Connection: close");
  92.            exit;    
  93.    }
  94. }
  95. ?>


klasa odpowiedzialna za import szablonu

  1. <?php
  2. class szablony
  3. {
  4.    private $szablon = array();
  5.    
  6.    public function ZapisDoSzablonu($nazwa, $string)
  7.    {
  8.        $this->szablon[$nazwa] = $string;
  9.    }
  10.    
  11.    public function ImportSzablonu($nazwa)
  12.    {
  13.        $szab = file_get_contents("./szablony/{$nazwa}.html");
  14.        
  15.        foreach($this->szablon as $nazwa => $string)
  16.        {
  17.            $naco[] = $string;
  18.            $co[] = "<!--{$nazwa}-->";
  19.        }
  20.        
  21.        $szab = str_replace($co,$naco,$szab);
  22.        echo $szab;
  23.    }
  24.    
  25. }
  26. ?>


Ten post edytował coolos 15.04.2009, 11:28:10
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: 23.08.2025 - 17:48