8
I have a page where I check if the user has filled all the fields of a form
but when trying to show the messages to the user the script
returns me an error, I’m doing it this way:
class SendEmail { private $nome; private $email; private $telefone; private $cidade; private $uf; private $assunto; private $mensagem; private $receive_mail; public function __construct($data) { $this->receive_mail = "[email protected]"; try { if (count($data) sendMail(); } catch (Exception $e) { return json_encode(array('success'=>'0','errors'=>$e->getMessage())); } } public function sendMail() { $subject = $this->assunto; $body = "From {$this->nome}, \n\n{nl2br($this->mensagem)}"; $headers = 'From: ' . $this->email . "\r\n" . 'Reply-To: ' . $this->email . "\r\n" . 'Content-type: text/html; charset=utf-8' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if (mail($this->receive_mail, $this->assunto, $body, $headers)) { return json_encode(array('success'=>'1','message'=>'Mensagem enviada com sucesso!')); } else { throw new Exception("Ocorreu um erro no envio da mensagem, por favor, tente mais tarde."); } } } if ($_POST) { // Aqui ele retornará um JSON com os erros ou a mensagem de sucesso echo json_encode(new SendMail($_POST)); }
And the whole message is this:
Catchable fatal error: Object of class SendEmail could not be converted to string in /home/anc/public_html/anc/sendEmail.php on line 84
The problem is I’m trying to show a Objeto
as string
from what I read in the php
, but I couldn’t solve.
The email message should be accessible via the property or method of an object and not only by the constructor.
print new SendEmail($_POST);
– rray
Could put the builder of this class?
– rray
I just edited the question with the full code.
– adventistapr