4

httpRequest を codeigniter コントローラー関数に送信しようとしています。REST コンソールを使用して関数をテストしています。3 POST変数を送信しようとしています。

  • ユーザー名
  • Eメール
  • ユーザーID

リクエストを処理するコードは次のとおりです

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";
    }
}

しかし、これはうまくいきません。常に出力されますnot working。すべてをすべてに変更すると、正常にget動作し始めます。

問題は何ですか?Post Request は、この全体を通してどこでも機能していませんcodeigniter project

編集

次のコードを使用して、新しいスクリプトを作成しました。

<?php

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

と言っていundefined indexます。問題は何ですか?助けてください。それはうまくいきます$_GET

4

6 に答える 6

13

$this->input->post()post.Make を使用して取得する値の名前について言及していないため、コードのここで変更を行います。

if(isset($_POST))

また

  if(!empty($_POST))

ポストを見る

これを行うこともできます:

if($this->input->post('username'))//username is the name of post variable
于 2013-08-27T13:41:42.357 に答える
3

codeigniter 3 ( docs ) でメソッドを取得するには、次のコードを使用できます。

echo $this->input->method(TRUE); // Outputs: POST
echo $this->input->method(FALSE); // Outputs: post
echo $this->input->method(); // Outputs: post

例:

public function NewUser()
{
    if($this->input->method() === '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";
    }
}
于 2017-08-30T17:13:06.940 に答える
3

試す

if( count($this->input->post()) > 0 )
{

}
else
{

}
于 2013-08-27T14:29:31.483 に答える