我正在尝试将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 working
e所有东西开始工作正常。
可能是什么问题 ?在此get
任何地方都没有发布请求。
编辑
我使用以下代码创建了一个新脚本。
codeigniter project
这是在说<?php
var_dump($_POST);
echo $_POST['UserName'];
echo $_POST['FacebookID'];
echo $_POST['Email'];
echo "********************************";
?>
。可能是什么问题 ?请帮忙。它适用于undefined index
你应该试试
$_GET
或isset($_REQUEST)
检查数据是否来了
!empty($_REQUEST)
无意中返回false,因为您没有提到要使用post检索哪个值的名称。在代码中更改此处:
$this->input->post()
要么
if(isset($_POST))
见 if(!empty($_POST))
你也可以这样做:
POST
尝试
if($this->input->post('username'))//username is the name of post variable
要在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
我遇到了类似的问题。由于使用国际化,URL将从用户/登录重定向到user / en / login。当重定向发生时,POST数组会丢失。
我不确定这是否也是您的问题,但请检查您的页面是否在提交后重定向。
在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
类'方法:
Input
qazxsw poi与Core PHP qazxsw poi变量相同。
例:
server('REQUEST_METHOD')
$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";
}