Название месяца на русском языке и английском языке


На сайте, в которой я работаю, использую следующую query, чтобы показать португальский даты, которые хранятся в базе данных:

$conn->exec("SET lc_time_names = 'pt_PT'");

Однако, я обнаружил, что веб-сайт будет двуязычным (русский и английский), и мне нужно отображать даты в двух языках. Как мне поступить?

Author: Rodrigo Rigotti, 2014-02-25

2 answers

Чтоб это исправить, создайте страницу с именем index.php, внутри ее, у вас будет выбор языка, только флаги каждой страны, например.

Затем у Вас будет выбор, в зависимости от выбора, вы будете перенаправлены на ту же страницу, но с другим параметром, может быть использован этот код в index.php, например:

<a href=pagina_inicial.php?lang=pt_PT >Português</a>
<a href=pagina_inicial.php?lang=en_US >Inglês</a>

И тогда в вашей "файла, что делает соединение bd", от которого разместил код на ваш вопрос, он будет работать и в следующем образом:

$lang = $_GET['lang'];
if ($lang == "pt_PT")
  $conn->exec("SET lc_time_names = 'pt_PT'");
else
  $conn->exec("SET lc_time_names = 'en_US'");

Вам может быть интересно "Потому что я не поступил таким образом?:"

$lang = $_GET['lang'];
$conn->exec("SET lc_time_names = '".$lang."'");

Потому что если бы цель чрезвычайно уязвимы для атак через SQL-Инъекции, поэтому я был бы очень небезопасным(никогда не используйте переменные, которые могут быть отправлены пользователем в код SQL)

Таким образом, что я сказал тебе, вы может узнать, какой язык пользователь хочет, чтобы в момент выполнения вашей команды, via параметр что же приказал выбрать, какой язык на страницу index.php.

 5
Author: Paulo Roberto Rosa, 2014-02-25 17:36:53

Используйте это

mysql_query('SET lc_time_names = "pt_BR"');
 -3
Author: Silvio Andorinha, 2014-02-25 17:28:13