2012-03-25 3 views
0

В settings.php я есть вход для REALNAME, хобби, города и выберите тег для языковКак изменить язык страницы без обновления в модели MVC?

Форма HTML легко и я не буду копировать его :)

Это PHP код формы

<?php 
if(isset($_POST['submit'])){ 


    if($this->edit->process()){ 
    $s = 1; 
    } 

} 

if($s){echo '<p id="success">Success</p>';} 

?>

Это в файле представления и когда форма представить $ this-> изменить = модели для обновления данных пользователя.

Все работы очень хорошо, но в head.php есть этот код

<?php $lang = $this->lange('global',$this->getUser->language($_SESSION['userID']));?>

С ним это получить текущий пользовательский язык и после этого загрузить файл с Lange()

Поэтому, если submit выглядит так, входы и тег select изменяются с тем, что пользователь выбрал, но чтобы увидеть новый язык, который им нужно обновить. Это нехорошо, потому что пользователь может быть в замешательстве, что они сделали что-то не так.

Но если форма с помощью метода = «POST» страницы освежает и до сих пор со старым языком

ответ

2
  1. Это будет довольно трудно изменить все тексты в модели DOM, чтобы сделать язык изменить без перенаправления. Я сомневаюсь, что это действительно ваше желание.
  2. Вы должны переадресовать метод GET после обработки любой формы POST. Таким образом, вместо того, чтобы печатать любые сообщения об успехе, вам нужно перезагрузить страницу.
  3. Использование сеанса для хранения языка не является хорошим методом, язык должен быть задан с помощью адреса страницы - субдомена (предпочтительно) или виртуального каталога.
+0

Я не использую сеанс для языка, я сам использую его для получения текущего идентификатора пользователя, а затем используя функцию, чтобы получить из базы данных свой язык. И спасибо за ответ :) – Ben

Смежные вопросы