I have language switcher on my website, it works fine. However, it redirects to base URL.
But when I write redirect($_SERVER["HTTP_REFERER"]);
it doesn't redirect correctly. When I change the new language on the home page, I should stay at the same URL and just make the website change the language.
How do I solve this problem?
Here is my controller:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class LanguageSwitcher extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
function switchLang($language = "") {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
}
}
Also, I have tried this, it did not work for me:
function switchLang($language = "") {
if($this->uri->uri_string() == '') {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect(base_url());
} else {
$language = ($language != "") ? $language : "azerbaijani";
$this->session->set_userdata('site_lang', $language);
redirect($_SERVER["HTTP_REFERER"]);
}
}