2013-09-23 6 views
0

У меня есть 2 страницы:PHP функция фатальная ошибка:

automate.php checkemail.php

на automate.php является:

<?php include 'scripts/checkemail.php'; ?> 

и:

<?php 
if(!function_exists("sendemail")) 
{ 
    function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto,$cc='') 
    { 
     if(filter_var($email_to, FILTER_VALIDATE_EMAIL)) 
     { 
      require_once "/usr/local/lib/php/Mail.php"; 

      $from = $email_from; 
      $to = $email_to; 
      $subject = $email_subject; 
      $body = $email_body; 

      $host = "mail.domain.co.uk"; 
      $username = "[email protected]"; 
      $password = "*********"; 

      $headers = array ('From' => $from, 
       'To' => $to, 
       'Cc' => $cc, 
       'Subject' => $subject, 
       'Content-type' => 'text/html'); 
      $smtp = Mail::factory('smtp', 
       array ('host' => $host, 
      'auth' => true, 
      'username' => $username, 
      'password' => $password)); 

      $rec = $to.', '.$cc; 

      $mail = $smtp->send($rec, $headers, $body); 
     } 
    } 
} 
?> 

th ен на checkemail.php я зову эту функцию:

sendemail("[email protected]","Support <[email protected]>","Contact Not Found",$contact_not_found_email,"[email protected]"); 

, но я получаю эту ошибку:

Fatal error: Call to undefined function sendemail() in /home/integra/public_html/automate/scripts/checkemail.php on line 180 
+0

Попробуйте использовать 'require' вместо' include', чтобы убедиться, что файл найден. – urzeit

+0

Я попробовал require_once и требовал и include_once, но все тот же самый код ошибки – charlie

+1

Вы включили checkemail.php в automate.php. Вы определяете функцию sendmail в automate.php, а затем пытаетесь вызвать ее в checkemail.php. Как это должно работать? Вы должны включить automate.php в checkmail.php, а не наоборот. – Kethryweryn

ответ

0

Проблема заключается в том sendemail() еще не определена при запуске include.

Это потому, что блок if(!function_exists("sendemail")) выполнит только ПОСЛЕ включения, и, следовательно, функция не будет существовать.

Смежные вопросы