Это работает для меня, я использовал трюк @AdrienXL.
Просто создайте файл application/core/MY_Input.php
и вызвать родительский метод (вы можете найти эти методы внутри системной папки CodeIgniter system/core/Input.php
:
<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
class MY_Input extends CI_Input
{
function post($index = NULL, $default_value = NULL, $xss_clean = FALSE)
{
$value = parent::post($index, $xss_clean);
if(!$value)
$value = $default_value;
return $value;
}
function get($index = NULL, $default_value = NULL, $xss_clean = FALSE)
{
$value = parent::get($index, $xss_clean);
if(!$value)
$value = $default_value;
return $value;
}
}
Таким образом, при вызове методы, передать значение по умолчанию:
$variable = $this->input->post("varname", "value-if-falsy");
если вы тусклый t для «value-if-falsy» как «», тогда он автоматически сделает это –
, иначе вы можете сделать это как раз для сокращения, $ a = $ this-> input-> post ("varname"); $ А = (пусто ($ а)) "значение-если-falsy": $ а; –
, если вы сохраняете значение в db, вы можете установить значение по умолчанию там –