Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Logowanie i ramki - problem
Forum PHP.pl > Forum > PHP
shk
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.
  1. <?php
  2. class frame
  3. {
  4. function display
  5. {
  6. echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Frameset//EN'";
  7. echo "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd'>";
  8. echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
  9. echo "<head>";
  10. echo "<meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />";
  11. echo "<title> blabla </title>";
  12. echo "</head>";
  13. echo "<frameset rows='50,*' cols='*' frameborder='yes' border='1' framespacing='0'>";
  14. echo "<frame name='topFrame' scrolling='No' noresize='noresize' class='background_1' title='topFrame' />";
  15. echo "<frameset cols='20%,80%' frameborder='yes' border='1' framespacing='0'>";
  16. echo "<frame class='background_1' name='leftFrame' scrolling='No'";
  17. echo "noresize='noresize' src=$menu id='leftFrame' title='leftFrame' />";
  18. echo "<frame name='mainFrame' id='mainFrame' title='mainFrame' />";
  19. echo "</frameset>";
  20. echo "</frameset>";
  21. echo "<noframes>";
  22. } //fun
  23.  
  24. function login()
  25. {
  26. echo "<table border='1' align='center'>";
  27. echo "<tr><td align='center' style='background:black; color:white;'><strong>Ekran Logowania</strong></td></tr>";
  28. echo "<tr><td align='center'>";
  29. echo '<form action=blabla.php method="post">';
  30. echo "<table border='0' align='center'>";
  31. echo "<tr><td colspan='2'><strong>Haslo:</strong> admin, <strong>login:</strong> admin</td></tr>";
  32. echo "<tr><td>login</td><td><input type='text' name='login' size='20'</td></tr>";
  33. echo "<tr><td>haslo</td><td><input size='20' type='password' name='haslo'></td></tr>";
  34. 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>";
  35. echo "<tr><td align'center' colspan='2'><hr align='center'></td></tr>";
  36. echo "</table>";
  37. echo "</form>";
  38. echo "</td></tr></table"; //main table
  39. echo "</body>";
  40. } //fun
  41. function displayMenu()
  42. {
  43. //*ru beda przyciski..*/
  44. } //fun 
  45. } //class 
  46. $ob1 = new frame();
  47. //pierwszy krok i plik startowy
  48. $ob1->login();
  49. //gdy dobrze podamy przechodzimy do
  50. $ob1->display();
  51. //gdy nacisniemy przycisk wylogowania przeniesie nas do metody login
  52. $ob1->login();
  53. ?>

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ł.
Void(Null)
Cytat
Po naciśnięciu klawisza wyloguj przejście do formatki logowania (Tu właśnie jest problem)


Jeśli ten przycisk to link ze znacznika

  1. <a href=" ">link</a>


to dodaj target:

  1. <a href=" " target="_top"<>link</a>
shk
W całym projekcie nie będzie nic w stylu "<a href=" ">link</a>" A pozatym nie będzie się do czego odwołać ponieważ jest TYLKO plik startowy "start.php" a w tym pliku jest odwołanie do metody która wywoła ekran logowania. A później ta metoda wywoła ramki a później wszystko oparte o zdarzenia.
Z tego co widze problemu nie da sie rozwiązać.. Bynajmniej nie udało mi się znaleźć nic co by pomogło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.