-2

i want to add in codeigniter controller __construct() to store user data in localStorage,

this is my below code

<?php
class Dashboard extends CI_Controller
{
    public function __construct() {
    ?>
    <script type="text/javascript">
        localStorage.setItem('ruuser_id', '<?php echo $_SESSION['ruuser_id'];?>');
        localStorage.setItem('rufname', '<?php echo $_SESSION['rufname'];?>');
        localStorage.setItem('rulname', '<?php echo $_SESSION['rulname'];?>');
        localStorage.setItem('bru_staff', '<?php echo $_SESSION['bru_staff'];?>');
        localStorage.setItem('ruuser_emailid', '<?php echo $_SESSION['ruuser_emailid'];?>');
        localStorage.setItem('ruseller_id', '<?php echo $_SESSION['ruseller_id'];?>');
    </script>
    <?php
    parent::__construct();
}

When i am adding script code i am getting below error:

Severity: Warning

Message: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/deveventadviser/public_html/development/application/controllers/Dashboard.php:7)

Filename: Session/Session.php

Can you suggest how to add in __construct function

sai kiran
  • 370
  • 2
  • 4
  • 15

1 Answers1

0

This is not a correct way to use javascript code in php class file but solution is that. You should define a property variable and use it like that.

<?php 

class Dashboard extends CI_Controller

{
 public $this->jScript = ''; 
public function __construct() 

{

    parent::__construct();

    // set property value 

    $this->jScript = "<script type='text/javascript'> //your stuff here </script>";



}

public function abc() {

$data['jScript'] = $this->jScript;

$this->load->view('abc',$data);

} 

}
Omprakash Patel
  • 498
  • 4
  • 14