PHP Codeigniter, присвоение значения свойства и доступ к нему

Я пытаюсь присвоить значение свойству из одной функции и получить к нему доступ в другой функции. Я думал, что это должно быть так просто. К сожалению, я не могу справиться с этой простой задачей.

Вот мой контроллер:

<?php
class Form_Controller extends CI_Controller {

public $current_user;
public $pi = 3.14;

function index() {
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');

$this->form_validation->set_rules('username', 'Username');
$this->form_validation->set_rules('password', 'Password');

if ($this->form_validation->run() == FALSE) {
$this->load->view('login_form');
} else {
$this->load->model('Admin_Users_Model');
$is_logged_in = $this->Admin_Users_Model->login();

if ($is_logged_in) {
$this->load->view('admin_panel/panel');
$this->load->view('admin_panel/account_verification_status_form');
} else {
$this->load->view('login_form');
}
}
}

function account_verification() {

$this->load->model('User_Id_Model');
$data['user_data'] = $this->User_Id_Model->get_user_credentials();

$this->current_user = $data['user_data'];

foreach ($this->current_user as $value) {
echo $value;
}

$this->load->view('admin_panel/panel');
$this->load->view('admin_panel/account_verification_status_form');
$this->load->view('admin_panel/account_verification_name_form', $data);
$this->load->view('admin_panel/account_verification_status', $data);
}

function name_verification() {

$selected_value = $this->input->post('verify-name');

echo count($this->current_user) . '<br />';

echo $this->current_user;
echo $this->pi;
$this->account_verification();
}

private function _write_to_database($user_data) {
$this->load->model('User_Id_Model');
$this->User_Id_Model->write_to_database($user_data);
}

}
?>

Когда я звоню account_verification(), $current_user присвоено значение, и я могу его распечатать. После этого я звоню name_verification(), но $current_user не имеет значения.
Если вы знаете, что здесь происходит, пожалуйста, объясните.

1

Решение

прежде всего после просмотра вашего кода

1) если вы вызываете name_varification из url, вы не присваиваете значение глобальной переменной, т.е.

    $this->current_user.

2) если вы вызываете account_varification из url, тогда вы присваиваете данные переменной golbal

 $this->current_user

и вы не вызываете name_varification из account_varification, поэтому снова это означает, что вы вызываете его из url, поэтому, конечно, он потеряет свое значение, поэтому правильный код либо вызовет first name_varificaton, либо назначит ему следующие данные.

   $this->load->model('User_Id_Model');
$data['user_data'] = $this->User_Id_Model->get_user_credentials();
$this->current_user = $data['user_data'];

после этого вызовите $ this-> account_verification, как только вы звоните, тогда обе функции будут иметь значения

Я надеюсь, ты понимаешь.
С уважением
Имран Касим

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]