Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как передать в чпу переменную с текущей страницей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imediasun
Отправлено: 24 Марта, 2014 - 17:49:50
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Я хочу передать в контроллер который меняет язык сайта две переменнх первая это язык а вторая текущая страница без base_url()
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3.         $url=$_SERVER['REQUEST_URI'];
  4.        
  5.         ?>
  6.  

<a href="/main/change_lang/ru/<?$url;?>"><div id="russian_lang"></div></a>

а в контроллере я хочу принять следующим образом

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         public function change_lang($language,$url)
  3.     {
  4.        
  5.        
  6.         if ($language === 'en') {
  7.            
  8.                         $this->current_lang = 'en';
  9.         }
  10.                 if ($language === 'ru') {
  11.            
  12.                         $this->current_lang = 'ru';
  13.         }
  14.                 if ($language === 'chi') {
  15.            
  16.                         $this->current_lang = 'chi';
  17.         }
  18.  
  19.         $lang = $this->current_lang . '/';
  20.        
  21.         header('Location: '.base_url() . $lang.$url'');
  22.  
  23.     }
  24.  

но проблема в слешах которые содержатся в урл текущей страницы, как быть в этом случае ведь в контроллере я принимаю только название текущего контроллера

(Отредактировано автором: 24 Марта, 2014 - 17:50:31)

 
 Top
esterio
Отправлено: 24 Марта, 2014 - 18:02:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




приведи код запуска екшена контроллера
 
 Top
imediasun
Отправлено: 24 Марта, 2014 - 18:10:53
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Вот весь контроллер
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  3.  
  4. class Main extends CI_Controller {
  5.  
  6.         /**
  7.          * Index Page for this controller.
  8.          *
  9.          * Maps to the following URL
  10.          *              http://example.com/index.php/welcome
  11.          *      - or -  
  12.          *              http://example.com/index.php/welcome/index
  13.          *      - or -
  14.          * Since this controller is set as the default controller in
  15.          * config/routes.php, it's displayed at http://example.com/
  16.          *
  17.          * So any other public methods not prefixed with an underscore will
  18.          * map to /index.php/welcome/<method_name>
  19.          * @see http://codeigniter.com/user_guide/general/urls.html
  20.          */
  21.         public function __construct()
  22.         {
  23.         parent:: __construct();
  24.         $this->load->helper('url');
  25.         $this->load->model('seo_model');
  26.         $this->load->helper('language');
  27.         $this->load->model('articles_en_model');
  28.         $this->load->model('articles_ru_model');
  29.         $this->current_lang = $this->uri->segment(1);
  30.         }
  31.        
  32.         public function change_lang($language)
  33.    {
  34.         $url=$_SERVER['HTTP_REFERER'];
  35.        
  36.        if ($language === 'en') {
  37.            
  38.                         $this->current_lang = 'en';
  39.        }
  40.                 if ($language === 'ru') {
  41.            
  42.                         $this->current_lang = 'ru';
  43.        }
  44.                 if ($language === 'chi') {
  45.            
  46.                         $this->current_lang = 'chi';
  47.        }
  48.  
  49.        $lang = $this->current_lang . '/';
  50.                 print($url);
  51.        // header('Location: '.base_url() . $lang.'');
  52.  
  53.    }
  54.        
  55.         function get_lang()
  56.       {
  57.            $CI =& get_instance();
  58.          
  59.            $fsu = $CI->uri->segment(1);
  60.          
  61.            if($CI->config->item($fsu, 'languages') && ($fsu != $CI->config->item('language_default')))
  62.            {
  63.                return $fsu . '/';
  64.            }
  65.          
  66.            return;
  67.        }
  68.  
  69.        
  70.         public function index()
  71.         {
  72.                 $data['title']='Центр экологической безопасности Одесса, сбор, утилизация отходов и др.';
  73.                 $path_to_page='/index';
  74.                 $lang=$this->get_lang();
  75.                 if ($lang=='ru/'){
  76.                 $this->lang->load('interface', 'ru');
  77.                 $myrow = $this->articles_ru_model->get('1');
  78.                 }
  79.                 if ($lang=='en/'){
  80.                 $this->lang->load('interface', 'en');
  81.                 $myrow = $this->articles_en_model->get('1');
  82.                
  83.                
  84.                 }
  85.                 if ($lang=='chi/'){
  86.                 $this->lang->load('interface', 'chi');
  87.                 $myrow = $this->articles_chi_model->get('1');
  88.                 }
  89.                 if ($lang==''){
  90.                 $this->lang->load('interface', 'en');
  91.                 $myrow = $this->articles_en_model->get('1');
  92.                 }
  93.                 $data['lang']=$lang;
  94.                
  95.                 $data['main']= $this->lang->language;
  96.                 $data['article']=$myrow;print_r($data);
  97.                 $this->display_lib->template($path_to_page,$data);
  98.         }
  99.                 public function pages($page_id)
  100.          {
  101.                 $data=array();
  102.                 switch ($page_id)
  103.                 {
  104.                 //Если страница Главная
  105.                 case 'home':
  106.                         $myrow=$this->seo_model->get();
  107.                         $data['title'] = $myrow[0]['title'];
  108.                         $data['keywords'] = $myrow[0]['keywords'];
  109.                         $data['description'] = $myrow[0]['description'];
  110.                         $data['categories']=$this->categories_model->get();
  111.                         $name='index';
  112.                        
  113.                 $lang=$this->get_lang();
  114.                 if ($lang=='ru/'){
  115.                 $this->lang->load('interface', 'ru');
  116.                 $myrow = $this->articles_ru_model->get('1');
  117.                 }
  118.                 if ($lang=='en/'){
  119.                 $this->lang->load('interface', 'en');
  120.                 $myrow = $this->articles_en_model->get('1');
  121.                
  122.                
  123.                 }
  124.                 if ($lang=='chi/'){
  125.                 $this->lang->load('interface', 'chi');
  126.                 $myrow = $this->articles_chi_model->get('1');
  127.                 }
  128.                 if ($lang==''){
  129.                 $this->lang->load('interface', 'en');
  130.                 $myrow = $this->articles_en_model->get('1');
  131.                 }
  132.                 $data['main']= $this->lang->language;
  133.                 $data['article']=$myrow;
  134.                        
  135.                         $this->display_lib->template($name,$data);
  136.                 break;
  137.                
  138.                 case 'contacts':
  139.                 $lang=$this->get_lang();
  140.                 if ($lang=='ru/'){
  141.                 $this->lang->load('interface', 'ru');
  142.                 $myrow = $this->articles_ru_model->get('1');
  143.                 }
  144.                 if ($lang=='en/'){
  145.                 $this->lang->load('interface', 'en');
  146.                 $myrow = $this->articles_en_model->get('1');
  147.                 }
  148.                 if ($lang=='chi/'){
  149.                 $this->lang->load('interface', 'chi');
  150.                 $myrow = $this->articles_chi_model->get('1');
  151.                 }
  152.                 if ($lang==''){
  153.                 $this->lang->load('interface', 'en');
  154.                 $myrow = $this->articles_en_model->get('1');
  155.                 }
  156.                 $data['main']= $this->lang->language;
  157.                 $data['article']=$myrow;
  158.                 $data['lang']=$lang;
  159.                
  160.                         $myrow=$this->seo_model->get();
  161.                         print_r($myrow);
  162.                         $data['title'] = $myrow[0]['title'];
  163.                         $data['keywords'] = $myrow[0]['keywords'];
  164.                         $data['description'] = $myrow[0]['description'];
  165.                         $name='contacts';
  166.                         $this->display_lib->template($name,$data);
  167.                 break;
  168.                 default:
  169.                         $data['title'] = "";
  170.                         $name='index';
  171.                     $this->display_lib->template($name,$data);
  172.                 }
  173.                
  174.                
  175.                 }
  176.        
  177. }
  178.  
  179. /* End of file welcome.php */
  180. /* Location: ./application/controllers/welcome.php */
  181.  

Как откинуть домен из адрессной строки с которой пришел пользователь?
 
 Top
esterio
Отправлено: 25 Марта, 2014 - 10:41:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




научись наконец то гуглить.
И да зачем не расписал что используеш CodeIgniter

http://bit[dot]ly/Qax6gl
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB