Witam
Mam taki na pozór dość głopi problem, muszę dokończyć taki mały projekcik, jednak pojawił się dość nieoczekiwany problem. A mianowicie przy pisaniu logowania. Otóż teraz krótki opis.
Program ma być napisany w pełni obiektowo, składający się z 3 warstw, pierwsza to wyświetlanie formatek, druga to logika a trzecia to uchwyt do bazy danych(jednak to pominę teraz).
1) przy starcie systemiku wyświetla się TYLKO formatka logowania bez ramek.
2) przy pomyślnym logowaniu zaczyna się tworzyć ramka a w innym powrót do tego samego okna.
3) Po naciśnięciu klawisza wyloguj przejście do formatki logowania (Tu właśnie jest problem) Ponieważ formatka logowania pojawia się w jednej z ramk! A chodzi mi o to by została wyświetlona sama formatka bez ramek.
<?php
class frame
{
function display
{
echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Frameset//EN'"; echo "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd'>"; echo "<html xmlns='http://www.w3.org/1999/xhtml'>"; echo "<meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />"; echo "<title> blabla </title>"; echo "<frameset rows='50,*' cols='*' frameborder='yes' border='1' framespacing='0'>"; echo "<frame name='topFrame' scrolling='No' noresize='noresize' class='background_1' title='topFrame' />"; echo "<frameset cols='20%,80%' frameborder='yes' border='1' framespacing='0'>"; echo "<frame class='background_1' name='leftFrame' scrolling='No'"; echo "noresize='noresize' src=$menu id='leftFrame' title='leftFrame' />"; echo "<frame name='mainFrame' id='mainFrame' title='mainFrame' />"; } //fun
function login()
{
echo "<table border='1' align='center'>"; echo "<tr><td align='center' style='background:black; color:white;'><strong>Ekran Logowania</strong></td></tr>"; echo "<tr><td align='center'>"; echo '<form action=blabla.php method="post">'; echo "<table border='0' align='center'>"; echo "<tr><td colspan='2'><strong>Haslo:</strong> admin, <strong>login:</strong> admin</td></tr>"; echo "<tr><td>login</td><td><input type='text' name='login' size='20'</td></tr>"; echo "<tr><td>haslo</td><td><input size='20' type='password' name='haslo'></td></tr>"; echo "<tr><td colspan='2' align='center'><input style = 'background:blue; color:white;' type='submit' name='dalej' value='dalej'> <input style = 'background:blue; color:white;' type='reset' value='reset'></td></tr>"; echo "<tr><td align'center' colspan='2'><hr align='center'></td></tr>"; echo "</td></tr></table"; //main table } //fun
function displayMenu()
{
//*ru beda przyciski..*/
} //fun
} //class
$ob1 = new frame();
//pierwszy krok i plik startowy
$ob1->login();
//gdy dobrze podamy przechodzimy do
$ob1->display();
//gdy nacisniemy przycisk wylogowania przeniesie nas do metody login
$ob1->login();
?>
To jest w dużym uogulnieniu napisane. Ale czy ktoś się zetknął z takim problemem?
Może jakieś sugestie?
Generalnie wszystkie systemy z logowaniem które widziałem są nie napisane w sposób pełni obiektowy. Bardzo często jest mieszany kod html z php...
P.S przeglądałem kilka framework -ów jednak żaden z nich nic mi nie podpowiedział.
Ten post edytował shk 8.05.2007, 18:19:18