2009-01-26 6 views
0

J'utilise CodeIgniter pour transmettre certains paramètres à ma page PHP via la requête $_POST, et dans la page PHP que je suis en train de lire.

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

Si le paramètre myParam est présent dans la demande $_POST, alors $foo sera attribué la valeur myParam. Comment puis-je vérifier si myParam est pas passé dans la demande $_POST?

Répondre

4

I J'ai recherché sur Google le code d'entrée du codeigniteur.

Le premier résultat est this.

A partir de ce document:

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

La fonction retourne FALSE (Boolean) si l'élément que vous essayez de récupérer n'existe pas.

Vous devez faire:

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

Merci beaucoup. Ça a marché. – Veera

0

Je pense que la meilleure façon de le faire serait d'utiliser la classe de formulaire de validation à faire avant le traitement de vos données. Ceci est documenté here.

Tu ferais quelque chose comme:

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

Si votre validation échoue, il vous renvoie à la forme et vous devrez re-remplir avec des données, il y a une façon de faire (voir le doc). S'il passe, vous pouvez alors être sûr que $this->input->post('myParam'); retournera une valeur.

Questions connexes