PHP $ _POST Fonksiyonu Parametre Eksik

2 Cevap php

I $_POST istek ve PHP sayfa okuyorum aracılığıyla benim PHP sayfasına bazı parametreleri geçirmek için CodeIgniter'ı kullanıyorum.

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

myParam parametresi $_POST isteğe içinde mevcut ise, o zaman $foo myParam değer atanır. myParam not passed $_POST isteği olup olmadığını nasıl kontrol edebilirim?

2 Cevap

Ben 'CodeIgniter giriş yazıyı' google'da.

İlk sonuç this.

O belge:

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

The function returns FALSE (boolean) if the item you are attempting to retrieve does not exist.

Yani yapmanız gereken:

if ($foo===false) {
   // do something if it's not set
}

Bunu yapmak için en iyi yolu, veri ön işleme yapmak için form doğrulama sınıfını kullanmak olacağını düşünüyorum. Bu belgelenmiştir here.

Sen gibi bir şey yapmak istiyorum:

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');
    }
}

Doğrulama o forma size geri göndereceğiz başarısız olur ve veri ile yeniden doldurmak gerekir, bunu yapmak için bir yol (doc bakınız) vardır. Eğer geçerse o zaman $this->input->post('myParam'); bir değer dönecektir emin olabilirsiniz.