Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Blad w kodzie: Call to a...
Forum PHP.pl > Forum > Przedszkole
mariuszzzzzz
Witam,
pare dni temu zmienilem serwer i przy logowaniu na mojej stronie pojawia sie taki blad:
Fatal error: Call to a member function do_login() on a non-object in /home/myunter/domains/myunter.ayz.pl/public_html/member/login.php on line 3


a oto poczatek pliku login.php
  1. <?php
  2. require_once('settings.php');
  3. $login->do_login ();
  4. ?>


dziwne na starym serwerze chodzilo jak burza a teraz tylko bledy. Szukalem juz w Google to nie znalazlem takiej praktycznej odpowiedzi. Tylko wiem ze to jest przez to ze nie jest do_login zdefiniowane.
Ja to zmienic?
wookieb
nie pokazałeś co masz w settings
emp
Nie możesz uruchomić metody klasy bo w zmiennej login nie ma instancji tej klasy dla której mógłbyś wywoływać metodę to_login().
Prześledź kod do momentu wywołania $login->to_login (); w zmiennej $login nie masz odpowiedniego obiekty dla którego mógłbyś wywołać metodę to_login();
Nie przekazałeś tego obiektu do zmiennej $login, nie skonstruowałeś go lub w wypadku singletona twoja klasa się nazywa inaczej.
mariuszzzzzz
w settings.php nie ma nic, a dlaczego na jednym serwerze skrypt dziala a na drugim nie?

to musze cos podac do nawiasów w do_login?
Pawel_W
skoro to jest cały kod i settings jest puste, to gdzie jest funkcja do_login ?
mariuszzzzzz
hmm znalazlem plik login.class.php tam sa funkcje do logowania. To jest taki panel ktory sciagnolem z internetu (phplogin). Ja tego sam nie zrobilem. Dlatego tez niewiem dokladnie jak ten problem rozwiazac i co nalezy dodac.
emp
W komunikacie błędu chodzi o to że zmienna $login nie jest klasa, a traktujesz ją jak klasę używając operatora -> wywołania metody składowej klasy.
Nie można próbować wywołać metody dla zmiennej która nie jest obiektem klasy i nie ma zdefiniowanej takiej metody.

Jeżeli na jednym serwerze działa, a na drugim nie to na pewno jest to wina różnic pomiędzy ustawieniami serwerów lub skryptów na serwerach. Sprawdź zmienne globalne, ustawienia serwera z których skrypt korzysta, ścieżki do katalogów do dołączanych plików php.

Obstawiam że źle są dołączone pliki php. Może gdzieś używasz bezwzględnych ścieżek do skryptu z klasą login, a na innym serwerze masz inną strukturę katalogów.
mariuszzzzzz
sciezki do plikow sprawdzilem, jest ok ale blad nadal jest.
tutaj kod login.php
  1. <?php
  2. require_once('settings.php');
  3. require_once('lib/login.class.php');
  4. $login->do_login ();
  5. ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <title><?= $login->design->get_page_title ( 'login' ) ?></title>
  9. <?= $login->design->get_page_css () ?>
  10. <?= $login->design->get_page_js () ?>
  11. </head>
  12.  
  13. <body>
  14. <div id="top">
  15. <!-- MENU -->
  16. <?= $login->design->setMenu () ?>
  17.  
  18. <div class="content">
  19.  
  20. <h1><?= $login->functions->Lang ( 'login' ) ?></h1>
  21. <?= $login->message ?>
  22.  
  23. <!-- LOGIN -->
  24. <div id="login" class="float_left">
  25. <fieldset class="login active">
  26. <legend><?= $login->functions->Lang ( 'login' ) ?></legend>
  27. <form action="<?= $login->functions->selfURL () ?>" method="post" name="form_login" class="appnitro" id="form_login">
  28. <input type="hidden" name="_submit_check" value="1" />
  29. <input type="text" class="captcha" name="url" value="" />
  30. <ul>
  31. <li>
  32. <label class="desc" for="l_username"><?= $login->functions->Lang ( 'credentials' ) ?>: <span class="required">*</span></label>
  33. <span>
  34. <input name="username" type="text" class="element text medium" id="l_username" value="<?=$login->form_validation->getField_value ( 'username' )?>" />
  35. <label><?= $login->functions->Lang ( 'username' ) ?></label>
  36. <?= $login->form_validation->printField_error ( 'username', 'error_small' ) ?>
  37. </span>
  38. <span>
  39. <input name="password" type="password" class="element text medium" id="l_password" value="<?=$login->form_validation->getField_value ( 'password' )?>" />
  40. <label><?= $login->functions->Lang ( 'password' ) ?></label>
  41. <?= $login->form_validation->printField_error ( 'password', 'error_small' ) ?>
  42. </span>
  43. </li>
  44. <?php if ( ALLOW_REMEMBER_ME ): ?>
  45. <li>
  46. <span>
  47. <input id="remember" name="remember" class="element checkbox" type="checkbox" />
  48. <label class="choice" for="remember"><?= $login->functions->Lang ( 'remember_me' ) ?></label>
  49. </span>
  50. </li>
  51. <?php endif; ?>
  52. <li class="buttons">
  53. <div class="buttons">
  54. <button type="submit" class="positive">
  55. <img src="<?= APPLICATION_URL ?>images/icons/login.gif" alt="<?= $login->functions->Lang ( 'login' ) ?>" />
  56. <?= $login->functions->Lang ( 'login' ) ?>
  57. </button>
  58. </div>
  59. </li>
  60. </ul>
  61. </form>
  62. </fieldset>
  63. </div>
  64.  
  65.  
  66. <!-- REGISTER -->
  67. <div id="register" class="float_right">
  68. <fieldset class="register">
  69. <legend>Register</legend>
  70. <form action="<?= APPLICATION_URL . 'register.php'; ?>" method="post" name="form_register" class="appnitro" id="form_register">
  71. <input type="hidden" name="_submit_check" value="1" />
  72. <input type="text" class="captcha" name="url" value="" />
  73. <ul>
  74. <li>
  75. <label class="desc" for="First_name"><?= $login->functions->Lang ( 'your_name' ) ?>: <span class="required">*</span></label>
  76. <span>
  77. <input id="First_name" name= "First_name" class="element text medium" maxlength="255" value="" />
  78. <label><?= $login->functions->Lang ( 'first' ) ?></label>
  79. </span>
  80. <span>
  81. <input id="Last_name" name="Last_name" class="element text medium" maxlength="255" value="" />
  82. <label><?= $login->functions->Lang ( 'last' ) ?></label>
  83. </span>
  84. </li>
  85.  
  86. <li>
  87. <label class="desc" for="username"><?= $login->functions->Lang ( 'username' ) ?>: <span class="required">*</span></label>
  88. <div align="left">
  89. <input name="username" type="text" class="element text large" id="username" value="" />
  90. </div>
  91. </li>
  92.  
  93. <li>
  94. <label class="desc" for="password"><?= $login->functions->Lang ( 'password' ) ?>: <span class="required">*</span></label>
  95. <div align="left">
  96. <input name="password" type="password" class="element text large" id="password" value="" />
  97. </div>
  98. </li>
  99.  
  100. <li>
  101. <label class="desc" for="password_confirmed"><?= $login->functions->Lang ( 'password_re' ) ?>: <span class="required">*</span></label>
  102. <div align="left">
  103. <input name="password_confirmed" type="password" class="element text large" id="password_confirmed" value="" />
  104. </div>
  105. </li>
  106.  
  107. <li>
  108. <label class="desc" for="email"><?= $login->functions->Lang ( 'email' ) ?>: <span class="required">*</span></label>
  109. <div align="left">
  110. <input name="email" type="text" class="element text large" id="email" value="" />
  111. </div>
  112. </li>
  113.  
  114. <li class="buttons">
  115. <div class="buttons">
  116. <button type="submit" class="positive">
  117. <img src="<?= APPLICATION_URL ?>images/icons/user.gif" alt="<?= $login->functions->Lang ( 'register' ) ?>" />
  118. <?= $login->functions->Lang ( 'register' ) ?>
  119. </button>
  120. </div>
  121. </li>
  122. </ul>
  123. </form>
  124. </fieldset>
  125. </div>
  126. <!-- FORGOT PASSWORD -->
  127. <div id="fpass" class="float_left" style="margin-top:15px">
  128. <fieldset class="email padding_fieldset">
  129. <legend>Forgot password?</legend>
  130. <form action="<?= APPLICATION_URL . 'forgot_password.php'; ?>" method="post" name="forgot_password" class="appnitro" id="forgot_password">
  131. <input type="hidden" name="_submit_check" value="1" />
  132. <input type="text" class="captcha" name="url" value="" />
  133. <ul>
  134. <li>
  135. <label class="desc" for="f_email"><?= $login->functions->Lang ( 'email' ) ?>: <span class="required">*</span></label>
  136. <div align="left">
  137. <input name="f_email" type="text" class="element text large" id="f_email" value="" />
  138. </div>
  139. </li>
  140.  
  141. <li class="buttons">
  142. <div class="buttons">
  143. <button type="submit" class="positive">
  144. <img src="<?= APPLICATION_URL ?>images/icons/email_go.gif" alt="<?= $login->functions->Lang ( 'pass_send' ) ?>" />
  145. <?= $login->functions->Lang ( 'pass_send' ) ?>
  146. </button>
  147. </div>
  148. </li>
  149. </ul>
  150. </form>
  151. </fieldset>
  152. </div>
  153. <div class="clear"></div>
  154.  
  155. </div>
  156. <!-- FOOTER -->
  157. <?= $login->design->setFooter( ) ?>
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.