【问题标题】:Codeigniter can't get a simple post data variableCodeigniter 无法获取简单的发布数据变量
【发布时间】: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


【解决方案1】:

您不能将您的函数命名为与控制器相同的名称...这会使它成为构造函数。

你最好这样做:

function __construct()
{
    parent::__construct();
    // the stuff you currently have in index()
}

public function index()
{
    $this->login_user();
}

public function login_user()
{
    // your code here
}

【讨论】:

    猜你喜欢
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2013-03-20
    • 2012-12-14
    相关资源
    最近更新 更多