CodeIgniter - Refer Url - Saved In Database

1.9k Views Asked by At

i need to save a refer url in database, for example user see an advertise on facebook and click on link when the user comes only database save the url in database for this i make a function but i didn't get exactly of function please suggest.

welcome.php controller

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {
public function index()
{
    $this->load->library('user_agent');
    $this->load->helper('url');
    $refer_url =  $this->input->get("refer_url");
    $this->Users_model->refer_data($refer_url);

    if ($this->input->get("lang") =="en"){
        if ($this->agent->is_mobile()) {
            $this->load->view('m_english_signup');
        }
        else {
            $this->load->view('d_english_signup');
        }
    }

elseif($this->agent->is_mobile())
     {
        $this->load->view('m_arabic_signup');
}
else {
    $this->load->view('d_arabic_signup');
}
}

user_model.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    class Users_model extends CI_Model
    {


    function create_member()
    {
            $new_member_insert_data = array(
                'email' => $this->input->post('email'),
                'city' => $this->input->post('city'),                           
            );
            $insert = $this->db->insert('users', $new_member_insert_data);  
        return $insert;


    }   //create_member

    function refer_data($arg)
    {
        $refer_data = array(
                'refer_url' => $arg,                
            );
            $insert = $this->db->insert('refer', $refer_data);  
        return $insert; 

    }   //refer_data

}

Errors

Fatal error: Call to a member function refer_data() on a non-object in /home/content/f/a/h/fahadghafoor/html/fahad/application/controllers/welcome.php on line 9

1

There are 1 best solutions below

30
On
function refer(){
   $this->load->library('user_agent');
   if ($this->agent->is_referral()) {
      $insert =$this->db->insert('refer', array('refer_url'=>$this->agent->referrer()));    
   }
}

EDIT_1_

Change in welcome.php to: // You forgot load user_model

    $this->load->library('user_agent');
    $this->load->library('user_model');

    $refer_url =  $this->user_agent->referrer();    
    $this->user_model->refer_data($refer_url);

Change in user_model.php to:

    $insert = $this->insert('refer', $refer_data);