1

Please dont`t ask why I have more than one controller: this is what my teacher wants. I have 3 controllers: Api.php, Token.php and Apikey.php, where Api.php is the "main" one.

PROBLEM: When I pass into the URL: http://localhost/revolution/index.php/api/registerUser/first_name/12First

it seems there are problems with loading the Token controller from Api controller.

ERROR: Fatal error: Call to a member function generateToken() on null

What can I do?

API Controller: Api.php

class api extends CI_Controller {


    public function index()
    {

        parent::__construct();
        $this->load->library("../controllers/Apikey.php");
        $this->load->library("../controllers/Token.php");

    }

    public function registerUser ($username,$parola)
    {
        if ($this->isValidUserName($username) && $this->isValidPass($parola)) {
            $this->load->library("../controllers/Token");
            $id = $this->ApiModel->insertCredentials($username, md5($parola));
            $this->Token->generateToken($id);
            $this->ApiKey->generateApiKey($id);

            $data['registered'] = 1;
            $this->load->view('api', $data);
        }
    }
}

Controller Token.php

 public function existsToken($token)
    {
        $arrayTokens = $this->ApiModel->getAllTokens();

        if (in_array($token, $arrayTokens))
            return existsToken(sha1($this->randomString())); //$this->isValidToken(sha1($this->randomString()));

        return $token;
    }

    public function randomString() {
        return intval(993432422 % rand());
    }

   public function generateToken($id_user)
    {
        $token = $this->existsToken(sha1($this->randomString()));       
        $date = $this->generateExpDate();
        $result = $this->ApiModel->insertToken($token, $date, $id_user);    
    }
3
  • Well you could also move Token part into model Commented Aug 6, 2017 at 8:23
  • can you post your code of Api_model ? Commented Sep 11, 2018 at 11:57
  • Possible duplicate of Reference - What does this error mean in PHP? Commented Nov 14, 2018 at 18:14

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.