Welcome Guest, Not a member yet? Register   Sign In
domPDF and CI2 Revisted
#1

[eluser]justmelat[/eluser]
I feel there is a small step that I am missing that apparently everyone on the other related questions understands.

I have created a simple CI 2 view, controller and model, shown below:

I have installed dompdf into the helpers folder like so:

Code:
applications/helpers/dompdf
applications/helpers/dompdf/dompdf_help.php

What I want to happen is when user clicks the submit button on the view page, send form data to the db, then get a pdf of that filled in form.

Between getting underdefined var errors or nothing at all, except for the data going to db, I can't see what I am missing.

Could some please guide me? What am I not getting here?
View:
In the interest of space I won't copy the view here, but it is just a basic CI form, first/last name, branch, open/close form, onsubmit for call quicksubmit controller

Controller:
Code:
<?php

class Quicksubmit extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');
        $this->load->database();
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->model('quicksubmit_model');
    }  
    function index()
    {          
        $this->form_validation->set_rules('title', 'Title', 'required|trim|xss_clean|max_length[50]');          
        $this->form_validation->set_rules('first_name', 'First Name', 'trim|xss_clean|max_length[100]');            
        $this->form_validation->set_rules('last_name', 'Last Name', 'required|trim|xss_clean|max_length[100]');        
        $this->form_validation->set_rules('branch', 'Branch', 'trim|xss_clean|max_length[100]');            
        $this->form_validation->set_rules('zip', 'Zip', 'trim|xss_clean|is_numeric|max_length[7]');

        $this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>');

        if ($this->form_validation->run() == FALSE) // validation hasn't been passed
        {
            $this->load->view('quicksubmit_view');
        }
        else // passed validation proceed to post success logic
        {
                    $this->pdf($output);

                        $form_data = array(
                                    'title' => set_value('title'),
                                    'first_name' => set_value('first_name'),
                                    'last_name' => set_value('last_name'),
                                    'branch' => set_value('branch'),
                                    'zip' => set_value('zip')
                                    );

            if ($this->quicksubmit_model->SaveForm($form_data) == TRUE) // the information has therefore been successfully saved in the db
            {
                redirect('quicksubmit/success');   // or whatever logic needs to occur
            }
            else
            {
            echo 'An error occurred saving your information. Please try again later';
            }
        }
    }
    function success()
    {
            redirect(base_url(),'refresh');    
    }
        function pdf()
            {
                 $this->load->helper(array('dompdf', 'file'));
                 $html = $this->load->view('quicksubmit_view', $data, true);
                 pdf_create($html, 'filename');
}
dompdf_help.php file
Code:
&lt;?php if (!defined('BASEPATH')) exit('No direct script access allowed');

function pdf_create($html, $filename='', $stream=TRUE)
{
    require_once("dompdf/dompdf_config.inc.php");

        $dompdf = new DOMPDF();
        $dompdf->load_html($html);
        $dompdf->render();
        if ($stream) {
            $dompdf->stream($filename.".pdf");
        } else {
            return $dompdf->output();
        }
}
?&gt;




Theme © iAndrew 2016 - Forum software by © MyBB