Я пытаюсь присвоить значение свойства одной функции и получить доступ к ней в другой функции. Я думал, что это должно быть так просто. К сожалению, я не могу справиться с этой простой задачей.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
не имеет значения. Если вы знаете, что здесь происходит, объясните, пожалуйста.
Я не знаю, что вы имеете в виду. Пожалуйста, дополните. Чтобы уточнить - у меня есть вид с формой. Форма вызывает account_verification() account_verification() добавляет еще одно представление, которое загружает другую форму. Когда вторая форма отправлена, она вызывает имя_версия(). В account_verification() Я получаю некоторые учетные данные пользователя: $ data ['user_data'] = $ this-> User_Id_Model-> get_user_credentials(); То, что я пытаюсь сделать, это передать эти учетные данные второму методу, поэтому я могу обновить этого пользователя в БД со значениями, полученными из второй формы. – newuser123
Если есть две формы, это означает, что вы вызываете обе функции через url, поэтому, когда вы вызываете функцию name_varification, чем глобальная переменная current_user не сохраняет свое значение. это то, что я имею в виду, если вы хотите сохранить это значение, чем нужно использовать сессию для повторного использования значения после отправки первой формы и получить это значение из сеанса, когда вы вызываете второй метод name_varification, это решит вашу проблему. –
Вы на самом деле правы. Добавление его в сеанс позволяет передать его следующей функции ... Все, что осталось для меня, это выяснить, что делать дальше: X – newuser123