我有两个控制器,如doc.php,控制器文件夹中的user.php和视图文件夹中的registration.php,它们都有注册表单。 我希望通过user.php将registration.php中的注册信息传递给doc.php控制器。 我怎样才能做到这一点?需要帮助。
答案 0 :(得分:0)
在CodeIgnitor中,您通常使用会话对象在控制器之间传递数据。例如:
// initialise the session object
$this->load->library('session');
// save the array to the session
$this->session->set_userdata('reg_info', $reg_info);
// retrieve the array in the other controller:
$this->session->userdata('reg_info');
有关CodeIgnitor会话对象的更多信息,请参阅docs。
答案 1 :(得分:0)
您的codeigniter版本是什么? 2.x或3.x?
尝试使用会话来保存您的阵列。
要在控制器构造函数中手动初始化Session类,请使用以下方法:
public ActionResult QuickEdit(int pk, string name, string value)
{
var pext = Db.ProjectExtensions.Find(pk);
if (ModelState.IsValid)
{
var propertyInfo = pext.GetType().GetProperty(name); //get property
if (propertyInfo != null)
{
var type = Nullable.GetUnderlyingType(propertyInfo.PropertyType) ?? propertyInfo.PropertyType;
var safeValue = (value == null) ? null : Convert.ChangeType(value, type);
propertyInfo.SetValue(pext, safeValue, null);
}
Db.SaveChangesWithHistory(LoggedEmployee.EmployeeId);
return Content("");
}
}
加载后,Sessions库对象将可用:
$this->load->library();
您可以使用以下代码设置会话名称:
$this->session
使用此功能在会话中添加项目:
$this->session->your_session_name;
要检索您的会话,请使用以下代码:
$this->session->your_session_name('item_one');
Check this代码为CodeIgniter 3.X
CodeIgniter 2.X 的