Codeigniter $ this-> input-> post总是FALSE

问题描述 投票:3回答:6

我正在尝试将http请求发送到codeigniter控制器功能。我正在使用REST控制台来测试该功能。我想发送qazxsw poi变量。

  • 用户名
  • 电子邮件
  • 用户身份

这是处理请求的代码

3 POST

但这不起作用。它总是输出的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 workinge所有东西开始工作正常。

可能是什么问题 ?在此get任何地方都没有发布请求。

编辑

我使用以下代码创建了一个新脚本。

codeigniter project

这是在说<?php var_dump($_POST); echo $_POST['UserName']; echo $_POST['FacebookID']; echo $_POST['Email']; echo "********************************"; ?> 。可能是什么问题 ?请帮忙。它适用于undefined index

php codeigniter post
6个回答
5
投票

你应该试试

$_GETisset($_REQUEST)

检查数据是否来了


7
投票

!empty($_REQUEST)无意中返回false,因为您没有提到要使用post检索哪个值的名称。在代码中更改此处:

$this->input->post()

要么

if(isset($_POST))

if(!empty($_POST))

你也可以这样做:

POST

2
投票

尝试

if($this->input->post('username'))//username is the name of post variable

2
投票

要在codeigniter 3(if( count($this->input->post()) > 0 ) { } else { } )中获取该方法,您可以使用以下代码:

docs

例:

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

0
投票

我遇到了类似的问题。由于使用国际化,URL将从用户/登录重定向到user / en / login。当重定向发生时,POST数组会丢失。

我不确定这是否也是您的问题,但请检查您的页面是否在提交后重定向。


0
投票

在Codeigniter中,我们可以检查哪个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"; } } 使用2以下HttpRequest类'方法:

1. Input

qazxsw poi与Core PHP qazxsw poi变量相同。

例:

server('REQUEST_METHOD')

2. $this->input->server()

从Codeigniter 3开始,我们也可以使用$_SERVER来检查请求类型。

方法([$ upper = FALSE])

参数:$ upper(bool) - 是否以大写或小写形式返回请求方法名称

返回:HTTP请求方法

返回类型:字符串

说明:它返回qazxsw poi,可以选择将其设置为大写或小写。

例:

if ($this->input->server('REQUEST_METHOD') == 'GET') {
   echo "It's GET Request";
} else if ($this->input->server('REQUEST_METHOD') == 'POST') {
   echo "It's POST Request";
}  
© www.soinside.com 2019 - 2024. All rights reserved.