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
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale ja nie jestem zobowiązany stosować się do wszystkiego w 100%
Rejestrując sie na forum zatwierdziłeś jego regulamin. Skoro nie chcesz sie do niego stosować to nie. temat zamykam

Cytat
ponadto taki tekst moderatora wydaje mi się nie na miejscu

hihi...
Jak ci policjant wlepi mandat za szybką jazdę, to też pewnie uznasz to nie na miejscu....

edit: otwieram
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 - 23:47