Я использую простой скрипт Javascript / PHP для создания функции Ajax на моем веб-сайте.Проблема в;Мой config.php (включен в начало моего index.php) включает скрипт языка сайта с разными языками, такими как английский и немецкий.Он отлично работает на основе моего index.php, но так или иначе не включен в страницы Ajax.Поэтому я включил скрипт Language в свой AjaxExamplePage.php, и тогда он сработал.Но проблема в том, что он не использует одни и те же файлы cookie, будучи установленным, когда пользователь меняет свой язык.
Это означает, что как только пользователь меняет свой язык на основе веб-сайта (статический HTML, а не вызов Ajax), он только применяется к статическому HTML, а не кстраница Ajax.
Пример строки: <?php echo $lang["German"]; ?>
Вывод в статическом HTML: Deutsch
Выход на странице Ajax: German
- Поскольку он все еще на английском, послеПользователь меняет свой язык на немецкий.
Моя цель:
Как только пользователь меняет свой язык в статическом HTML, он также должен применяться к странице Ajax.Так что если пользователь меняет свой язык на немецкий, то страница Ajax должна быть и на немецком.
Javascript (короткая версия):
function loadPage(url)
{
url=url.replace('#','');
$('#loading').css('visibility','visible');
$.ajax({
type: "POST",
url: "pageContent_loader.php",
data: 'page='+url,
dataType: "html",
success: function(msg){
if(parseInt(msg)!=0)
{
$('#pageContent').html(msg);
$('#loading').css('visibility','hidden');
$('html, body').animate({ scrollTop: 0 }, 0);
}
}
});
}
pageContent_loader.php:
<?php
if(!$_POST['page']) die("0");
$page = $_POST['page'];
if(file_exists('content/general/'.$page.'.php'))
echo file_get_contents('content/general/'.$page.'.php');
else echo 'This page does not exist.';
?>
Language.php
session_start();
header('Cache-control: private');
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30), "/", ".domain.com");
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}
switch ($lang) {
default:
$lang_file = 'english.php';
case 'en':
$lang_file = 'english.php';
break;
case 'nl':
$lang_file = 'dutch.php';
break;
case 'fr':
$lang_file = 'french.php';
break;
case 'de':
$lang_file = 'german.php';
break;
}
require_once $_SERVER['DOCUMENT_ROOT'] . "/parts/languages/mainlang/".$lang_file;
(пример Domain.com) Кто-нибудь знает, как этого добиться?