Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter $this->input->post is always FALSE

I am trying to send an httpRequest to a codeigniter controller function. I am using the REST console to test the function . I am trying to send 3 POST variables .

  • UserName
  • Email
  • UserID

Here's the code to handle the request

public function NewUser()
{
    if($this->input->post())
    {
        $FID        = $this->input->post('UserID');
        $UserName   = $this->input->post('UserName');
        $Email      = $this->input->post('Email');
        echo "working";
        echo $FID;
        echo $UserName;
    }
    else
    {
        echo "not working";
    }
}

But this doesn't work. It always output's not working. When I change everything to geteverything starts working fine.

What could be the issue ? Post Request is not working anywhere throughout this codeigniter project.

EDIT

I created a new script, with the following code.

<?php

  var_dump($_POST);
  echo $_POST['UserName'];
  echo $_POST['FacebookID'];
  echo $_POST['Email'];
  echo "********************************";
?>

It is saying undefined index . What could be the issue ? Please help. It works fine for $_GET

like image 851
Mj1992 Avatar asked Nov 28 '22 11:11

Mj1992


2 Answers

$this->input->post() is obliviously return the false because you are not mentioning the name of which value you want to retrieve using post.Make changes here in your code :

if(isset($_POST))

or

  if(!empty($_POST))

See POST

you can also do this:

if($this->input->post('username'))//username is the name of post variable
like image 94
Harshal Avatar answered Dec 09 '22 14:12

Harshal


you should try

isset($_REQUEST) or !empty($_REQUEST)

to check data is coming or not

like image 35
Himanshu Pandey Avatar answered Dec 09 '22 14:12

Himanshu Pandey