Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Phpmailer powoduje fatal error
Forum PHP.pl > Forum > PHP
Rufus_84
Witam.
Mam następujący problem.

Uzywam na stronie klasy phpmailer do wysylki maili, jednak powoduje to błąd, ktorego nie potrafię rozwiązać, mianowicie:

strona rezerwacja-krok4:

  1. echo '<body>';
  2.  
  3. ModuleLoader::load("Header");
  4.  
  5. ModuleLoader::load("Menu");
  6.  
  7. ModuleLoader::load("RezerwacjaKrok4");
  8.  
  9. ModuleLoader::load("Promo");
  10.  
  11. AddonLoader::load("KontaktForm");
  12.  
  13. ModuleLoader::load("Footer");
  14.  
  15. echo '</body></html>';


gdzie phpmailer znajduje się w module RezerwacjaKrok4.

Problem polega na tym, że po wysłaniu maila otrzymuje błąd:

Fatal error: Class 'Promo' not found in C:\HTTP\CLASS\ModuleLoader.class.php on line 1528
gdzie normalnie klasa Promo działa bez zarzutu.

włąsciwie to jeśli wyrzucę clasę Promo to wyskakuje ten sam błąd dotyczący clasy AddonLoader czyli powoduje błąd w kazdej klasie ponizej ModuleLoader::load("RezerwacjaKrok4");

Będę wdzięczny za pomoc w rozwiązaniu problemu.

Pozdrawiam
Pyton_000
Wywal linijką 274 z pliku rezerwacji
Sephirus
@Pyton_000 - jasnowidz co_jest.gif

@Autor Jakiej wersji PHP używasz?

Wygląda na to że phpmailer nadpisuje Ci autoloader klas. Dla wersji 5.3+ wrzuca swój autoloader na początek stosu co skutkuje tym, że może nie wiedzieć jak znaleźć daną klasę z FW. Możliwe też, że zastępuje Ci całkiem autoloader.

Przed zastosowaniem phpmailera radzę zapisać stos autolodera i po jego użyciu przywrócić go. Lub najprościej po użyciu phpmailera odpalić:

  1. spl_autoload_unregister('PHPMailerAutoload');


i zobaczyć czy zacznie działać wink.gif
Pyton_000
Tak ;P

PHPMailer używa spl_autoload_register, a w aplikacji jest zapewne __autoload co skutkuje zastąpieniem starego autoloadera.

Najprościej jest zmienić nazwę __autoloader na jakąś inną i ją zarejestrować przez ww. register.
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.