CodeIgniter, Message: Undefined variable Übergeben von Daten
>> Meine controllerv - verifyregistration
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class verifyregistration extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('users_model','',TRUE);
$this->load->library('email');
}
function index()
{
//This method will have the credentials validation
$this->load->library('form_validation');
$this->form_validation->set_rules('Login', 'Login', 'trim|required|xss_clean|callback_check_database|min_length[6]|strtolower|callback_username_not_exists');
$this->form_validation->set_rules('Haslo', 'Haslo', 'trim|required|xss_clean|min_length[6]');
$this->form_validation->set_rules('Powtorz_Haslo', 'Powtorz haslo', 'trim|required|xss_clean|matches[Haslo]|min_length[6]');
$this->form_validation->set_rules('Imie', 'Imie', 'trim|required|xss_clean|min_length[2]');
$this->form_validation->set_rules('Nazwisko', 'Nazwisko', 'trim|required|xss_clean');
$this->form_validation->set_rules('Email', 'Email', 'trim|required|xss_clean|valid_email|min_length[6]');
$this->form_validation->set_rules('Data_urodzenia', 'Data urodzenia', 'trim|required|xss_clean');
$this->form_validation->set_rules('Telefon', 'Telefon', 'trim|required|xss_clean|min_length[8]');
$this->form_validation->set_rules('Miasto', 'Miasto', 'trim|required|xss_clean');
$this->form_validation->set_rules('Ulica', 'Ulica', 'trim|required|xss_clean|min_length[6]');
$this->form_validation->set_rules('Kod_pocztowy', 'Kod pocztowy', 'trim|required|xss_clean');
$this->form_validation->set_error_delimiters('<span style="color: red; font-size: 12px; ; line-height: 14px; ">', '</span>');
$this->form_validation->set_error_delimiters('<li>', '</li>');
$data['heading'] = "My Real Heading";
if($this->form_validation->run() == FALSE)
{
$this->load->view('register/register_open',$data);
}
else
{
return false; //this is not important
}
}
>> Meine Ansicht öffnen - register_open
<?php
$this->load->view('mains/header');
$this->load->view('login/loggin');
$this->load->view('mains/menu');
$this->load->view('left_column/left_column_before');
$this->load->view('left_column/menu_left');
$this->load->view('left_column/left_column');
$this->load->view('center/center_column_before');
$this->load->view('register/register_view',$data);
$this->load->view('center/center_column');
$this->load->view('right_column/right_column_before');
$this->load->view('right_column/right_column');
$this->load->view('mains/footer');
?>
>>Meine Ansicht - register_view
<?php echo form_open('verifyregistration/index'); ?>
<form>
<label for="username">Login:</label>
<input type="text" size="25" id="Login" name="Login" set_value='Login' />
.
.
.
<legend>
<input type="checkbox" id="regulamin" name="Regulamin" onclick="this.form.elements['Wyslij'].disabled = !this.checked" />
Akceptuję regulamin serwisu. </legend>
<label> </label>
<input type="submit" name="Wyslij" value="Wyslij" disabled="disabled"/>
<label> </label>
<legend>
<<?php echo $heading;?>
</legend>
</form>
Und ich habe Fehler:
Severity: Notice
Message: Undefined variable: data
Mit dem Namen: register/register_open.php
Zeilennummer: 9
diese Zeile-> $this->load->view('register/register_view',$data);
Severity: Notice
Message: Undefined variable: Position
Mit dem Namen: register/register_view.php
Zeilennummer: 48
diese Zeile-> <<?php echo $heading;?>
Wie kann ich übergeben Sie die Daten zu einer anderen Ansicht?
- Erste, was zu ändern ist-Klassennamen den ersten Buchstaben groß geschrieben in der Erklärung. Es sollte: - Klasse Verifyregistration erstreckt CI_Controller {
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem controller, wechseln
zu
Wenn Sie
$this->load->view('view', $variable)
es dauert$variable
und nutzt die php-Funktionextract()
zum drehen der array-keys in Variablen. Also, wenn Sie wollen, verwenden Sie die variable$data
in einer geschachtelten Ansicht, schicken Sie ein array wie ich oben.register_open
anzuzeigen, setzen Sie die(var_dump($data)); als erste Zeile, und sehen, was es gibt.Severity: Notice Message: Undefined variable: data Filename: register/register_open.php Line Number: 2
ich hinzufügen:die(var_dump($data));