Pisza na swoje potrzeby małego frameworka (jest to mój pierwszy projekt tego typu, wczesniej tylko jakies wstawki php w htmlu) opieram się na różnych kursach i poradnikach.
Natknąłem się na problem odnośnie uprawnień użytkowników i samego logowania.
Logowanie (i proste liczniki odwiedzin) zawarłem w jednej funkcji, która będzie wykonywana przy kazdym ladowaniu strony:
<?php function Sesje() { $zap = "SELECT * FROM `liczniki` WHERE nazwa='l_unikalne'"; $result = $this->m_objBaza->Execute($zap); $l_unikalne=$result->fields[stan]; $zap = "SELECT * FROM `liczniki` WHERE nazwa='l_wejscia'"; $result = $this->m_objBaza->Execute($zap); $l_wejscia = $result->fields[stan]; $l_wejsc_user=$_COOKIE[czybyl]; { $zap = "SELECT * FROM `user` WHERE login='$_POST[login]' AND haslo='$_POST[haslo]'"; $result = $this->m_objBaza->Execute($zap); if ($result->RecordCount()==1) { $_SESSION['login']=$_POST['login']; $_SESSION['haslo']=$_POST['haslo']; } else { } } { { $l_wejsc_user++; } else { $l_wejsc_user=1; $l_unikalne++; $zap = "UPDATE `liczniki` SET `stan` = '$l_unikalne' WHERE `nazwa`='l_unikalne' LIMIT 1 ;"; $this->m_objBaza->Execute($zap); } $l_wejscia++; $zap = "UPDATE `liczniki` SET `stan` = '$l_wejscia' WHERE `nazwa`='l_wejscia' LIMIT 1 ;"; $this->m_objBaza->Execute($zap); $_SESSION['login']="Gość"; } $test=$_SESSION['login']; } ?>
Do wyświetlania na stronie wykożystalem system szablonów Smarty
Do łączenia z bazą danych użyte jest AdoDB
Układ tabel w bazie
1. tabela liczniki
nazwa | san
-------------+----
l_ununikalne | INT(5)
l_wejscia | INT(5)
2. tabela user
id | login | haslo | uprawninia
--+-------+-------+------------
0 | jas | 123 | admin (?)
1 | ala | 321 | zwykły user
Ni mam pojęcia jak zapisać uprawnienia (potrzebyje chyba 3 uprawnień - dla nie zalogowanych, dla zalogowanych zwykłych userów, dla administratora)
Jak potem sprawdzać te prawa? np na w księdze gości dla administratora przy każdym wpisie powinny pokazywać się pryciski do edycji i usówania a dla innych użytkowników nie powinno ich am być.
Sama logika konkretnych podstron jest zapisana jako obiekty, które są ładowane w zależności od wybranych odnośników więc nie ma problemu z dodaniem tam jakiegoś kodu...
Dzieki z góry za pomoc
Pozdrawiam