У меня есть массив $ field.
Примечание. Кто-то добавляет в тег codeigniter, но сам вопрос касается PHP.
Обычно сохраняйте содержимое таким способом.
// SAVE FORM CONTENTS
foreach ($fields_to_show as $key=>$value) {
$this->CI->preference->set_item($key,$this->CI->input->post($key));
}
А это метод set_item ()
function set_item($name, $value)
{
if (is_null($name)) {
return false;
}
$this->preferenceCache[$name] = $value;
if (is_array($value)) {
$value = $this->object_keyword . serialize($value);
}
$this->db->where('name', $name);
return $this->db->update(PREFERENCES, array('value'=>$value));
}
Теперь одним из полей является пароль, поэтому я хочу его закодировать.
Метод encode_password () работает нормально (я использую его в другом классе), но когда я попробовал следующее, он не кодирует 'ga_password'
// set ga_password
if ($this->CI->input->post('ga_password') != '') {
// Load userlib language
$this->CI->load->module_library('auth','userlib');
$fields_to_show['ga_password'] =
$this->CI->userlib->encode_password($this->CI->input->post('ga_password'));
}
// SAVE FORM CONTENTS
foreach ($fields_to_show as $key=>$value) {
$this->CI->preference->set_item($key,$this->CI->input->post($key));
}