![](/img/trans.png)
[英]How to use a variable of a function in another function of same class -Codeigniter
[英]How to access a variable in a PHP class that is set by another function? Codeigniter
我在PHP中使用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 );
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.