Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> system logowania - problem
areli
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


mam kilka pytań... aktualnie średnio sobie radzę w programowaniu obiektowym, więc potrzebuje waszej pomocy...

zrobiłem system logowania z mini panelem i problem jest taki:

1) jak się zaloguje lub wyloguje, to muszę odświeżyć stronę żeby dopiero zobaczyć efekt... co jest nie tak?

2) chciałbym żeby kod był przejrzysty i elegancko napisany, a mam podejrzenia że dużo w tym bałaganu... czy można by napisać to ciekawiej... może krócej i efektowniej?


  1. <?php
  2.  
  3. class Logowanie
  4. {
  5.    var $login;
  6.    var $pass;
  7.    var $id;
  8.    var $db;
  9.    var $wynik;
  10.    var $ile;
  11.    
  12.    function __construct()
  13.    {
  14.        if (isset($_SESSION['zalogowany']))
  15.        {
  16.            echo "<p>Jesteś zalogowany. Twój login to: ".$this -> login."</p>
  17.            <br />";
  18.            echo " | "."<a href='panel/index.php?menu=4'>Panel</a>"." | "."
  19.            <a href='".$_SERVER['PHP_SELF']."?logout=yes'>Wyloguj</a>"." | ";
  20.        }
  21.        else
  22.        {
  23.            echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>
  24.                <p>Nie jesteś zalogowany.</p>
  25.                <p>
  26.                    <label>Login: </label><input type='text' size='10' name='konto' />
  27.                    <label>&nbsp;&nbsp;Hasło: </label><input type='password' size='10' name='password' />
  28.                    <input type='submit' value='>>' name='p_log' />
  29.                </p>
  30.            </form>";
  31.            
  32.            $this -> Uwierzyt();
  33.        }
  34.        
  35.        if (isset($_GET['logout']) && ($_GET['logout'] == 'yes'))
  36.        {
  37.            $this -> wyloguj();
  38.        }
  39.    }
  40.    
  41.    public function Uwierzyt()
  42.    {
  43.        if (isset($_POST['konto']) && isset($_POST['password']) )
  44.        {
  45.            $this -> login = trim($_POST['konto']);
  46.            $this -> pass = trim($_POST['password']);
  47.            //    $pass = sha1(md5($pass));
  48.  
  49.            if (empty($this -> login) || empty($this -> pass))
  50.                echo"Błąd: Wypełnij wszystkie pola!";
  51.            else
  52.                $this -> sql_connect();
  53.        }
  54.    }
  55.    
  56.    public function sql_connect()
  57.    {
  58.        @$this -> db = mysqli_connect (DB_HOST, DB_USER, DB_PASS, DB_NAME);
  59.        if (!$this -> db)
  60.            echo "Połączenie z serwerem bazy danych nie powiodło się!";
  61.        else
  62.        {
  63.            $zapytanie = "SELECT id_log FROM user WHERE login='$this->login' and passbaz='$this->pass'";
  64.            $this -> sql_query ($zapytanie);
  65.        }
  66.    }
  67.    
  68.    public function sql_query ($zapytanie)
  69.    {
  70.        if (!$this -> wynik = mysqli_query($this -> db, $zapytanie))
  71.            echo "Połączenie z serwerem bazy danych nie powiodło się!";
  72.        else
  73.            $this -> sql_ile();
  74.    }
  75.    
  76.    public function sql_ile()
  77.    {
  78.        if (!$this -> ile = mysqli_num_rows ($this -> wynik))
  79.            echo "Błędny login lub hasło. Spróbuj jeszcze raz!";
  80.        else
  81.            $this -> sql_fetch_array();
  82.    }
  83.    
  84.    public function sql_fetch_array()
  85.    {
  86.        $tab = mysqli_fetch_assoc ($this -> wynik);
  87.        
  88.            $this -> id = $tab['id_log'];
  89.            $_SESSION['id'] = $this -> id;
  90.            $_SESSION['zalogowany']= $this -> login;
  91.    }
  92.    
  93.    public function wyloguj()
  94.    {http://forum.php.pl/system_logowania_problem_t112090.html#
  95.        $usuw_uzytk = $_SESSION['zalogowany'];
  96.        unset($_SESSION['zalogowany']);
  97.        unset($_SESSION['id']);
  98.        session_destroy();
  99.    }
  100.    
  101. }
  102. ?>


z góry dzięki za pomoc,
pzdr.

Ten post edytował areli 30.01.2009, 11:42:16
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 11:38