Codeigniter не может получить простую переменную данных поста - PullRequest
2 голосов
/ 15 мая 2011

ЭТО ИСПРАВЛЕНО, я назвал свою функцию тем же именем, что и мой контроллер, изменил имя функции с логина на do_login, теперь работает, спасибо всем

Привет, это должно быть очень просто: -

Я пишу php-сайт, используя CI

я пытаюсь получить простую переменную POST в моем контроллере, используя:

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

Это имя контроллера Login.php, идея состоит в том, чтобы иметь форму, передающую данные POST этой функции при входе в систему / входе в систему, но я получаю эту ошибку

Произошла ошибка PHP

Серьезность: Уведомление

Сообщение: неопределенное свойство: Вход :: $ вход

Имя файла: controllers / login.php

Номер строки: 38

(!) Неустранимая ошибка: вызов участника Функция post () для необъекта в C: \ WAMP \ WWW \ rcity \ Application \ контроллерах \ 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');

        }
}

1 Ответ

2 голосов
/ 03 июня 2011

Вы не можете назвать свою функцию так же, как контроллер ..., что сделало бы ее конструктором.

Тебе лучше всего это сделать:

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

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

public function login_user()
{
    // your code here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...