Welcome Guest, Not a member yet? Register   Sign In
Show up Form in template..
#1

[eluser]AntSteinn[/eluser]
I'm trying get login form into my template but I get this error:

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: site/header.php
Line Number: 25


Controller
Code:
<?php

class Frontpage extends Controller {

    function Frontpage()
    {
        parent::Controller();    
    }
    
    function index()
    {
        //Loaders
        $this->load->model('Forms');
         $this->load->helper('form');
        //Data
        $data['header_login_form'] = $this->Forms->header_login_form();
        //Template Site Header
        $this->load->view('templates/site/header', $data);
        //Login Page
        $this->load->view('account/register');
        //Template Site Footer
        $this->load->view('templates/site/footer');
    }
}

Forms Model
Code:
<?php class Forms extends Model {

     function Forms()
    {
        // Call the Model constructor
        parent::Model();
    }
    
    function header_login_form()
    {
        $this->load->view('templates/site/forms/login');
    }

}?>

Code for call $data in template header
Code:
<?php echo $data['header_login_form']; ?>

But my login form shows up in corner.
#2

[eluser]Vega[/eluser]
The $data array will be converted into variables when it is passed to the view so in your view you should have:

Code:
<?php echo $header_login_form; ?>
#3

[eluser]AntSteinn[/eluser]
Awesome! Thanks!

--added--
oh, The $data['header_login_form'] = $this->Forms->header_login_form(); print it anyway out so the form go to the left corner and echo $header_login_form; do nothing. in template file
#4

[eluser]Vega[/eluser]
Yeah that is correct the login form view is already loading first... You could load the view in the template instead and just pass the name of the login view from your controller, something like:

In controller:
Code:
$data['login_view'] = 'templates/site/forms/login';

In template header:
Code:
<?php $this->load->view($login_view); ?>
#5

[eluser]AntSteinn[/eluser]
U're the man ! Smile

Thanks




Theme © iAndrew 2016 - Forum software by © MyBB