PHP внутри страницы Ajax - PullRequest
0 голосов
/ 09 июня 2018

Я использую простой скрипт 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) Кто-нибудь знает, как этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...