Отсутствует параметр в функции PHP $ _POST - PullRequest
0 голосов
/ 26 января 2009

Я использую CodeIgniter для передачи некоторых параметров на мою страницу PHP через запрос $_POST, и на странице PHP, которую я читаю.

$foo = $this->input->post('myParam');

Если параметр myParam присутствует в запросе $_POST, то $foo будет присвоено значение myParam. Как проверить, что myParam не не передано в запросе $_POST?

Ответы [ 2 ]

4 голосов
/ 26 января 2009

Я гуглил «пост ввода кодигнита».

Первый результат это .

Из этого документа:

$this->input->post('some_data');

Функция возвращает FALSE (логическое значение), если элемент, который вы пытаетесь извлечение не существует.

Так что вам нужно сделать:

if ($foo===false) {
   // do something if it's not set
}
0 голосов
/ 26 февраля 2009

Я думаю, что лучший способ сделать это - использовать класс проверки формы для предварительной обработки ваших данных. Это задокументировано здесь .

Вы бы сделали что-то вроде:

function index()
{
    $this->load->helper(array('form', 'url'));
    $this->load->library('form_validation');

    $this->form_validation->set_rules('myParam', 'myParam', 'required');
            if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('myform');
    }
    else
    {
        $this->load->view('formsuccess');
    }
}

Если ваша проверка не пройдена, она отправит вас обратно в форму, и вам придется повторно заполнить ее данными, есть способ сделать это (см. Документ). Если он пройдет, вы можете быть уверены, что $this->input->post('myParam'); вернет значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...