I tried various type of redirect function but none of them are working. I am simply creating one function where I testing the session availability and based on that redirect will work. But when session_check function is getting called only text part Iam getting and redirect is not working. I tried to, route, site_url but nothing works.
<?php
namespace App\Controllers;
use CodeIgniter\HTTP\CLIRequest;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use App\Controllers\BaseController;
class Home extends BaseController
{
public function session_check()
{
$session = session();
if ($session->has('usernamesession'))
{
echo 'yes';
return redirect()->to('public/home');
}
else
{
echo 'NoA';
return redirect()->to('/public/login111');
//return redirect()->to(site_url("list-user"));
//return redirect()->route("login");
//return redirect()->back();
//return $routes->addRedirect('home', 'login');
echo 'NoB';
}
}
public function index()
{
echo 'Home';
$this->session_check();
}
}
Finally I tried the below mentioned code and it's working for me, any further improvement is highly appreciated.
Controller Home Function:
<?php
namespace App\Controllers;
use App\Libraries\Cv;
use CodeIgniter\HTTP\CLIRequest;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use App\Controllers\BaseController;
class Home extends BaseController
{
public function index()
{
$this->session_check();
$data['top_header']=view('theme/top_header');
$data['sidebar_menu']=view('theme/sidebar_menu');
$data['body_content']=view('theme/body_content');
$data['tab']=view('theme/tab');
$data['footer']=view('theme/footer');
return view('theme/index',$data);
}
}
?>
BaseController.php
public function session_check()
{
$this->session->set("usernamesession",'Naresh');
if (!$this->session->has('usernamesession'))
{
return $this->response->redirect(site_url('public/login'));
}else{}
}