Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie do panelu
Forum PHP.pl > Forum > PHP > Object-oriented programming
Pitter
Witam. Dopiero zaczynam programować w php obiektowo. Mój problem polega na tym że wyskakuje mi błąd mówiący że obiekt nie został prze konwertowany na string. Miałem do czynienia już z tym błędem i coś tam porobiłem ale teraz nie pamiętam co:P
A tak przy okazji. Jak mówiłem dopiero zaczynam i nie wiem czy w dobrą stronę ide.
  1. <?php
  2. include('config.php');
  3.  
  4. ##########################################################
  5. class formularz
  6. {
  7.  
  8. public function __construct()
  9. {
  10. echo '<form action="'.$_SERVER['PHP_SELF'].'?cmd=login" method="POST">
  11. <input type="text" name="login"><br>
  12. <input type="password" name="pass"><br>
  13. <input type="submit" value="LogIn">
  14. </form>';
  15. }
  16. }
  17.  
  18. class LogIn
  19. {
  20. public function __construct($login, $pass)
  21. {
  22. if(self::CheckDane($login, $pass)=='Zalogowany')
  23. {
  24. $_SESSION['login'] = $login;
  25. $_SESSION['pass'] = $pass;
  26. $_SESSION['cmd'] = 'ok';
  27. echo 'Zalogowany';
  28. }
  29. }
  30.  
  31. public function CheckDane($login, $pass)
  32. {
  33. $query = "SELECT * FROM admin WHERE user='$login' AND pass='$pass'";
  34. $result = mysql_query($query);
  35. $ile = mysql_num_rows($result);
  36.  
  37. if($ile==1)
  38. {
  39. $state = 'Zalogowany';
  40. }
  41. else
  42. {
  43. $state = 'Brak dostepu';
  44. }
  45. return $state;
  46. }
  47.  
  48. public function getLastLogin($login)
  49. {
  50. $query = "SELECT LastLogin FROM admin WHERE user='$login'";
  51. $result = mysql_query($query);
  52. $r = mysql_fetch_array($result);
  53.  
  54. $LastLogin = $r['LastLogin'];
  55.  
  56. }
  57. }
  58.  
  59. ##########################################################
  60. if($_GET['cmd']=='' AND $_SESSION['cmd']!='ok')
  61. {
  62. $form = new formularz;
  63. }
  64. if($_GET['cmd']=='login')
  65. {
  66. $login = new login($_POST['login'], $_POST['pass']);
  67. }
  68. if($_SESSION['cmd']=='ok')
  69. {
  70. $login->getLastLogin($_SESSION['login']);
  71. }
  72. ?>


Na razie robię sobie takie zadania praktyczne, czyli najprostsze aplikacje a z biegiem czasu co raz bardziej w las:P Czy to dobry sposób? Pozdrawiam Pitter.

PS: Dlaczego obiektowy jest lepszy niż ten, ten... normalny:P
wookieb
Cytat
ten, ten... normalny:P

strukturalny.
Daje ci większy porządek w skrypcie i łatwośc zarządzania. Latwiej byloby przerzucac setki malych zabawek rekoma czy w pudełkach? W pudełkach. Wiec obiekt tak jakby utrzymuje swoją część funkcji (zabawek) ktorymi mozesz sobie manipulować.

W ktorej linii jest blad? podaj tresc tej ;linijki.
Pitter
linia 51. A jeszcze jedno pytanie. Czy to co ja napisałem to jest język php obiektowy czy po prostu strukturalny pozamykany w klasach?
wookieb
Obiektowy.
Wyłącz register_globals.

ini_set albo w php.ini
Pitter
Ahaaa:P Wiem nawet dlaczego. Ok wielkie dzięki za pomoc.
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.