Codeigniter 创建数组以初始化数据库时出现分析错误';s排

Codeigniter 创建数组以初始化数据库时出现分析错误';s排,codeigniter,php,Codeigniter,Php,我想知道在控制器类的构造函数中,我还可以向load forum_模型类添加什么 $route['default_controller'] = "forums/login"; $route['blog/(:any)']='forums/login/$1'; 您不需要所有这些“更改此设置 $member_data=array( 'name'=>$_POST['register_name'], 'email'=>$_POST

我想知道在控制器类的构造函数中,我还可以向load forum_模型类添加什么

$route['default_controller'] = "forums/login";
$route['blog/(:any)']='forums/login/$1';

您不需要所有这些
“更改此设置

$member_data=array(
                'name'=>$_POST['register_name'],
                'email'=>$_POST['register_email'],
                'pass'=>$_POST['password'],
                'activation'=>md5(uniqid(rand(),true)));

其他答案解决了您的语法错误。这解决了一个事实,即您似乎认为
$member\u data
可以神奇地传递给模型。它不能。您必须加载模型,并使用
$member\u data
作为参数调用
insert\u member

将以下代码添加到控制器:

 $member_data=array(
                'name'=>$_POST['register_name'],
                'email'=>$_POST['register_email'],
                'pass'=>$_POST['password'],
                'activation'=>md5(uniqid(rand(),true)));

如果没有在控制器中使用,为什么要显示模型

我强烈反对使用原始的
$\u POST
数组。CodeIgniter将
$\u POST
包装到一个名为
$this->input->POST();
的函数中,它执行sql注入和xss预防算法。它通常会清理您的输入,并确保您使用的是安全的

您可以在
config/config.php
文件中启用全局xss筛选

$this->load->model('Forums_model', 'forum');
$this->forum->insert_member($member_data);

if寄存器()是控制器中的一个函数,为什么在member_数据数组中使用PHP短标记?谢谢,这很有效,但我需要更正我的路由配置文件以加载此模型。有关详细信息,请阅读我的编辑文章。@user1125524,这解释了语法错误。但是,修复此错误后,您的代码仍然无法工作,因为
$member_data
不会神奇地传递到模型。您必须实例化模型,并在实例上调用
$member\u data
作为参数的
插入成员
。不要使用$\u POST查看我的答案。谢谢,我想调用论坛模型中的插入成员函数class@user1125524,我的回答解释了怎么做。是的,它起作用了不是,但成员插入失败。我现在创建另一个线程。
$member_data=array(
                'name'=>$_POST['register_name'],
                'email'=>$_POST['register_email'],
                'pass'=>$_POST['password'],
                'activation'=>md5(uniqid(rand(),true)));
$member_data=array(
                'name'=>"<?='$_POST['register_name']'?>",
                'email'=>"<?='$_POST['register_email']'?>",
                'pass'=>"<?='$_POST['password']'>",
                'activation'=>"<?=md5(uniqid(rand(),true))?>");
 $member_data=array(
                'name'=>$_POST['register_name'],
                'email'=>$_POST['register_email'],
                'pass'=>$_POST['password'],
                'activation'=>md5(uniqid(rand(),true)));
$this->load->model('Forums_model', 'forum');
$this->forum->insert_member($member_data);
if(!file_exists('application/views/forum/register_view.php'))
{            
   show_404();
}
$p = $this->input->post();
$member_data=array
(
    'name'=> $p['register_name'],
    'email'=> $p['register_email'],
    'pass'=> $p['password'],
    'activation' => md5(uniqid(rand(),true))
);

//are you going to do anything with $member_data?

$this->load->view('forums/register_view');