簡體   English   中英

如何訪問由另一個函數設置的PHP類中的變量? 笨

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM