ghost_t91aa
Освоившийся
Дата регистрации:
15.03.2013 18:46:55
Сообщений: 23
Здравствуйте, Михаил. По заданию из курса делаю отправку сообщения о регистрации пользователя.
вот кусок функции regUser
if ($result) {
$this->mail->sendToUser($email);
return $this->returnPageMessage("SUCCESS_REG", $this->config->address."?view=message"
}
else return $this->unknownError($link_reg);
и вот такой пока класс mail
<?php
class Mail {
public function sendToUser($email) {
$message = "Вы успешно зарегистрированы на сайте!";
$to = "$email";
$from = "[email protected]";
$subjact = "Регистрация";
$subjact = "=?utf-8?B?".base64_encode($subject)."?=";
$headers = "From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset=utf-8\r\n";
mail($to, $subjact, $message, $headers);
}
}
?>
в общем при отправки данных с формы регистрации возникает ошибка:
Call to a member function sendToUser() on a non-object in Z:\home\projectrem\www\lib\manage_class.php on line 48
И я ни как не могу понять в чем проблема(пока не могу), и правильный ли у меня ход мыслей?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
$this->mail - вот это, что угодно, только не объект Mail, которым он и должен быть.
ghost_t91aa
Освоившийся
Дата регистрации:
15.03.2013 18:46:55
Сообщений: 23
Спасибо, разобрался. Нужно было в конструктор mail записать.
ghost_t91aa
Освоившийся
Дата регистрации:
15.03.2013 18:46:55
Сообщений: 23
Теперь другой вопрос. как в классе mail использовать переменную admemaile из класса config?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Создать объект класса Config и обращаться к его свойствам.
ghost_t91aa
Освоившийся
Дата регистрации:
15.03.2013 18:46:55
Сообщений: 23
а создавать его в config'е или в mail'е?
ghost_t91aa
Освоившийся
Дата регистрации:
15.03.2013 18:46:55
Сообщений: 23
все, сделал. вот такой вот получился класс mail:
<?php
require_once "email_class.php";
require_once "config_class.php";
class Mail {
public function __construct() {
$this->config = new Config();
}
public function sendToUser($email) {
$message = "Вы успешно зарегистрированы на сайте!";
$to = $email;
$from = $this->config->admemale;
$subject = "Регистрация";
$subject = "=?utf-8?B?".base64_encode($subject)."?=";
$headers = "From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset=utf-8\r\n";
mail($to, $subject, $message, $headers);
}
}
?>
какой толк от email_class.php?
у меня в нем:
<?php
class Email {
public function __construct() {
parent::__construct('email');
}
}
?>
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Класс Email должен наследоваться от другого класса, отвечающего за сообщения, а от данного, действительно, проку нет.