[ king_milutin @ 04.08.2006. 17:30 ] @

Pomoc!!!

Koristim PHP 4.4.2, Apache 2.0.58 i MySQL 4.1.19.

Hocu da koristim klasu SimpleMail() ali mi izbacuje ovu gresku!!! U cemu moze biti problem?
[ SmilieBG @ 05.08.2006. 01:45 ] @
moze biti da nemas tu klasu?! :)

jesi li je include-ovao?

Poz,
Sale
[ king_milutin @ 05.08.2006. 16:09 ] @
Nije bila includovana :)

Ali onda nastaje novi problem. Nadjem ja lepo tu klasu i inludujem ali mi izbacuje gresku:

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in [ovde stoji adresa]\class.SimpleMail.php on line 4

class.SimpleMail.php glasi ovako:

------------------------------------------------------------------------------
Code:

<?php

class SimpleMail {
  public $to = NULL;
  public $cc = NULL;
  public $bcc = NULL;
  public $from = NULL;
  public $subject = '';
  public $body = '';
  public $htmlbody = '';
  public $send_text = TRUE;
  public $send_html = FALSE;
  private $message = '';
  private $headers = '';
  
  public function send($to = NULL, 
                       $subject = NULL, 
                       $message = NULL, 
                       $headers = NULL) {
    if (func_num_args() >= 3) {
      $this->to = $to;
      $this->subject = $subject;
      $this->message = $message;
      if ($headers) {
        $this->headers = $headers;
      }
      
    } else {
    
      if ($this->from) {
        $this->headers .= "From: " . $this->from . "\r\n";
      }
      if ($this->cc) {
        $this->headers .= "Cc: " . $this->cc . "\r\n";
      }
      if ($this->bcc) {
        $this->headers .= "Bcc: " . $this->bcc . "\r\n";
      }

      if ($this->send_text and !$this->send_html) {
        $this->message = $this->body;
      } elseif ($this->send_html and !$this->send_text) {
        $this->message = $this->htmlbody;
        $this->headers .= "MIME-Version: 1.0\r\n";
        $this->headers .= "Content-type: text/html; " .
                          "charset=iso-8859-1\r\n";
      } else {
        $_boundary = "==MP_Bound_xyccr948x==";

        $this->headers = "MIME-Version: 1.0\r\n";
        $this->headers .= "Content-type: multipart/alternative; " .
                          "boundary=\"$_boundary\"\r\n";
        
        $this->message = "This is a Multipart Message in " . 
                         "MIME format\n";
        $this->message .= "--$_boundary\n";
        $this->message .= "Content-Type: text/plain; " .
                          "charset=\"iso-8859-1\"\n";
        $this->message .= "Content-Transfer-Encoding: 7bit\n\n";
        $this->message .= $this->body . "\n";
        $this->message .= "--$_boundary\n";
        $this->message .= "Content-type: text/html; " . 
                          "charset=\"iso-8859-1\"\n";
        $this->message .= "Content-Transfer-Encoding: 7bit\n\n";
        $this->message .= $this->htmlbody . "\n";
        $this->message .= "--$_boundary--";     
      }
    }

    if (!mail($this->to,$this->subject,$this->message,$this->headers)) {
      throw new Exception('Sending mail failed.');
      return FALSE;
    } else {
      return TRUE;  
    }
  }

}

?>

------------------------------------------------------------------------------

Gde je problem?



//edit: (code) tagovi

[Ovu poruku je menjao boccio dana 07.08.2006. u 13:55 GMT+1]
[ The Sekula @ 07.08.2006. 08:23 ] @
Da bi koristio ovu verziju ove klase, moras imati PHP 5.
[ king_milutin @ 07.08.2006. 13:14 ] @
Verovatno si u pravu posto sam preuzeo kod iz jedne knjige u kojoj se obradjuje PHP 5.

Hvala puno
[ The Sekula @ 08.08.2006. 07:39 ] @
Ovako napamet, na prvi pogled, ako

1.'public function' zamenis sa 'function'

2. sve ostale 'public' i 'private' zamenis sa 'var'

3. throw new Exception('Sending mail failed.');

zamenis sa:

trigger_error('Sending mail failed', E_USER_ERROR);


trebalo bi (naglasak na trebalo mozda sam nesto propustio) da radi i na php4.
[ king_milutin @ 31.08.2006. 02:08 ] @
Jeste, bilo je do verzije PHPa. Hvala Sekula.