【发布时间】:2023-03-04 21:07:02
【问题描述】:
这是固定的,我已将我的函数命名为与我的控制器相同的名称,将函数名称从 login 更改为 do_login,现在可以使用了,谢谢大家
嗨,这应该很简单:-
我正在使用 CI 编写一个 php 站点
我试图在我的控制器中获取一个简单的 POST 变量:
public function login()
{
$something = $this->input->post('something');
}
这在控制器名称 Login.php 上,想法是让表单在登录/登录时将 POST 数据传递给此函数,但我收到此错误
遇到 PHP 错误
严重性:通知
消息:未定义的属性: 登录::$输入
文件名:controllers/login.php
行号:38
( ! ) 致命错误:呼叫成员 在非对象上的函数 post() C:\wamp\www\rcity\application\controllers\login.php 第 38 行
我已经尝试过 get_instance(),但我可以在控制器内将其他所有内容称为 $this,只要我提到 POST,它就会死掉,并且我读取的输入类已经加载,所以这不是问题,有什么想法吗?
谢谢
这里是 login.php 的完整文件
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Login extends CI_Controller {
public function index()
{
$data = array(
'title' => '*** | Login',
);
$this->load->helper('login_helper');
$this->load->view('head_view',$data);
if (check_login()==TRUE){$this->load->view('header_logged_in');}
else {$this->load->view('header_logged_out');}
$this->load->view('nav_view');
$this->load->view('login_view');
$this->load->view('footer_view');
}
public function login()
{
$something = $this->input->post('something');
$this->load->helper('login_helper');
}
}
【问题讨论】:
-
您确定表单是通过 POST 发送的吗?检查您的脚本中的
$_SERVER['REQUEST_METHOD']以进行验证 -
这是在上课吗?如果是这样,您要扩展哪个类?
-
嗨添加了扩展 CI_Controller 文件的恢复
-
无论表单是否通过邮寄,页面都不会因为错误而加载,因此表单甚至无法提交,感谢您的任何帮助
-
如果已修复,请自己写一个答案,然后接受该答案。这将有助于其他用户稍后找到此问题。
标签: php codeigniter post controller