开发者

How to access a variable in a PHP class that is set by another function? Codeigniter

开发者 https://www.devze.com 2023-03-24 05:18 出处:网络
I have this code here in PHP using Codeigniter framework, I can\'t seem to get my head around class variables in this code seems completely different to C++.

I have this code here in PHP using Codeigniter framework, I can't seem to get my head around class variables in this code seems completely different to C++.

I was wondering how I can get a local variable in one class (function) method to another cl开发者_高级运维ass method.

But not passing them as variables as I have to use a redirect function instead which cannot take variables.

The variable I want to have accessible is $record_id , i tried making it public etc does not like it.

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;
                    }

This is the function that I want to have access the $record_id

public function success()
{

$page['page'] = 'success';
$page['record'] = $record_id;
$this->load->view('template', $page );


}

Remember - I cannot pass this as a variable to the other function as I need to use a redirect so that my URL will not screw up. Thanks

Cheers!


use codeigniter's tiny feature called Flashdata which allows you to have temorarily store data between requests.

so your code would be

function send data{
$this->session->set_flashdata('recordid', $recordid);
}

function success{
 $recordid =  $this->session->flashdata('recordid');
}

got it ?


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 );
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消