У меня есть этот код здесь, на PHP с использованием Framework Codeigniter, я не могу показаться, что я обволакивал переменные класса в этом коде, кажется, совершенно отличается от C ++.
Мне было интересно, как я могу получить локальную переменную в методе одного класса (функции) другому методу класса.
Но не передавать их как переменные, так как вместо этого я должен использовать функцию перенаправления, которая не может принимать переменные.
Переменная, которой я хочу иметь доступ, – $ record_id , я пытался сделать ее общедоступной и т. Д. Не нравится.
class Submit extends CI_Controller {
function send_data() { $record_id = $this->submit_model->create_record($completedstaffrows, $completedeventrows); if ($record_id == FALSE) { echo "Failed to add to database"; } //Submittal to database was successful else { redirect('submit/success'); } return; }
Это функция, с которой я хочу получить доступ к $ record_id
public function success() { $page['page'] = 'success'; $page['record'] = $record_id; $this->load->view('template', $page ); }
Помните – я не могу передать это как переменную для другой функции, так как мне нужно использовать перенаправление, чтобы мой URL-адрес не испортился. благодаря
Ура!
используйте крошечную функцию codeigniter, называемую Flashdata, которая позволяет вам хранить данные между запросами.
поэтому ваш код будет
function send data{ $this->session->set_flashdata('recordid', $recordid); } function success{ $recordid = $this->session->flashdata('recordid'); }
понял ?
class Submit extends CI_Controller { private $record_id=false; public function __construct(){ if(isset($_SESSION['record_id'])){ $this->record_id = $_SESSION['record_id']; } } public function send_data(){ $this->record_id = $this->submit_model->create_record($completedstaffrows, $completedeventrows); $_SESSION['record_id'] = $this->record_id; if ($this->record_id == FALSE){ echo "Failed to add to database"; } else{ redirect('submit/success'); } return; } public function success(){ $page['page'] = 'success'; $page['record'] = $this->record_id; $this->load->view('template', $page ); } }