0

我有这个问题:尝试制作管理面板,在那里我有用户的输入和 SMTP 帐户的传递,我需要在将其发送到数据库之前使其尽可能安全,我正在这样做:

$config = array(
'protocol' => 'smtp',
'smtp_host' => Settings_model::$db_config['smtp_host'],
'smtp_port' => Settings_model::$db_config['smtp_port'],
'smtp_user' => $this->encrypt->decode(Settings_model::$db_config['smtp_user']),
'smtp_pass' => $this->encrypt->decode(Settings_model::$db_config['smtp_pass']),
'smtp_timeout' => 30,
'charset' => "utf-8",
'newline' => "\r\n"
            );

我得到了这个错误: Fatal error: Using $this when not in object context in /application/helpers/send_email_helper.php on line 29

对于这一行:

'smtp_user' => $this->encrypt->decode(Settings_model::$db_config['smtp_user']),

'smtp_pass' => $this->encrypt->decode(Settings_model::$db_config['smtp_pass']),

有任何想法吗?我不想在文件中公开通行证和用户。提前致谢!

4

2 回答 2

0

不能$this在静态方法中使用运算符。

您应该使用 ofself::而不是$this静态方法。

于 2013-08-29T12:17:42.383 回答
0

谢谢大家!

我从这个答案中解决了这个问题:https ://stackoverflow.com/a/9321743

$ci = get_instance(); // $ci replaces $this

现在可以了!

于 2013-08-29T12:26:57.900 回答