Codeigniter无法获得简单的post数据变量

时间:2011-05-15 15:30:10

标签: php codeigniter post controller

这是固定的,我将我的功能命名为与我的控制器相同的名称,更改了从登录到do_login的功能名称,现在是一种享受,谢谢所有

嗨,这应该很简单: -

我正在使用CI编写一个php网站

我试图在我的控制器上使用以下方法获取一个简单的POST变量:

public function login()
{
    $something = $this->input->post('something');
}

这个在控制器名称Login.php上,想法是有一个表单在登录/登录时将POST数据传递给这个函数,但是我收到了这个错误

  

遇到PHP错误

     

严重性:注意

     

消息:未定义的属性:   登录:: $输入

     

文件名:controllers / login.php

     

行号:38

     

(!)致命错误:致电会员   函数post()在非对象中   C:\瓦帕\ WWW \ rcity \应用\控制器\ login.php中   第38行

我已经尝试了get_instance(),但是我可以在控制器内部引用其他所有内容$this,只要我提到POST它就会死掉,然后我读取输入类已经加载了所以那不是问题,任何想法?

由于

HERES 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');

        }
}

1 个答案:

答案 0 :(得分:2)

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

你最擅长的是:

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

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

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