[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите пожалуйста сделать переключение языков.
Страницы: 1, 2, 3
vv54
Добрый день. Есть сайт без ЦМС просто на отдельных файлах. В основной директории сайт находится одна версия а в поддиректории находится версия на другом языке. Файлы обеих версий имеют одинаковые названия. Необходимо чтобы файлы из основной директории ссылались на файлы с таким же названием в поддиректории и обратно. В сети нашел вот такой вариант

<span class="style1">
<a href="eng/index.php<?php echo (isset($_GET['page']))?'?page='.$_GET['page']:'';?>">ENG</a> /
<a href="index.php<?php echo (isset($_GET['page']))?'?page='.$_GET['page']:'';?>">RUS</a>
</span>

но у меня он не заработал.

Подскажите пожалуйста дилетанту как сделать.

_____________
My Webpage
Эли4ка
Цитата (vv54 @ 24.03.2019 - 11:15)
но у меня он не заработал.

Что именно не заработало?
У вас два одинаковых условия
vv54
Данные ссылки работают просто как eng/index.php и index.php на всех страницах.

_____________
My Webpage
Эли4ка
А надо как?!
vv54
мне нужно чтобы страница eng/index.php ссылалась на index.php и обратно, eng/contakt.php ссылалась на contakt.php и обратно. и так для всех страниц.

_____________
My Webpage
Astin
Что то типа такого, накидал быстро и просто

$os = array("ru",
"en"
);


if (in_array($_GET['lang'], $os)) {

setcookie("Lang", $lang, time()+3600);

} else {
setcookie("Lang", 'ru', time()+3600);
}


if( $_COOKIE['Lang'] == 'ru' ) {

$link = '<a href="eng/index.php?lang=en'';?>">ENG</a>';

} else {

$link = '<a href="index.php?lang=ru'';?>">RUS</a>';

}

echo $link;
vv54
Astin
Спасибо но выдает ошибку. Мне на другом форуме дали рабочий вариант, который меня устроил. Поэтому вопрос снят.

_____________
My Webpage
Эли4ка
так покажите нам рабочий вариант, что ж жадничать то
vv54
<a href="/eng<?=$_SERVER['SCRIPT_NAME']?>">ENG</a>

<a href="<?=substr($_SERVER['SCRIPT_NAME'],4,strlen($_SERVER['SCRIPT_NAME']))?>">RUS</a>

https://searchengines.guru/showthread.php?t=1012751

_____________
My Webpage
Эли4ка
Я в итоге так и не поняла, что же нужно то было. На одной странице две ссылке, а при переходе на одну из них тоже две ссылки?
vv54
Первую ссылку

<a href="/eng<?=$_SERVER['SCRIPT_NAME']?>">ENG</a>

ставим на страницу index.php а вторую

<a href="<?=substr($_SERVER['SCRIPT_NAME'],4,strlen($_SERVER['SCRIPT_NAME']))?>">RUS</a>

на eng/index.php и они друг на друга ссылаются.

Код ссылок вставляем в шапку всех страниц и в итоге все страницы в основном каталоге ссылаются на себе подобные в подкаталоге eng/, а все страницы в подкаталоге eng/ в свою очередь ссылаются на себе подобные в основном каталоге.

_____________
My Webpage
Astin
Мой предыдущий код нужно в помойку, так как до конца не внял ТС. У ТС два одинаковых сайта
только один на русском в корневом коталоге лежит, а второй на инглише в папке eng.
Здесь да, работать со строкой запроса нужно и никаких кокке или сессий не нужно.

Но вот вопрос к ТС: Если вот я вдруг напишу в строке запроса не сайт.ru/eng?index.php, а к примеру сайт.ru/eng3?index.php, что будет тогда? Страница ошибки или что?
vv54
Цитата (Astin @ 25.03.2019 - 11:55)
сайт.ru/eng?index.php, а к примеру сайт.ru/eng3?index.php, что будет тогда?


да 404

только у меня не сайт.ru/eng?index.php а сайт.ru/eng/index.php

а так да 404


Попробовал из любопытства ввести сайт.ru/eng?index.php в итоге перекинуло на сайт.ru/eng/?index.php и открылась страница без ошибок, а при следующем переходе знак вопроса пропал.

_____________
My Webpage
Astin
Ну это уже хорошо. А твои ссылки остаются в норме когда ты переходил по сайт.ru/eng?index.php?
vv54
Когда знак вопроса вместо слеша или после слеша то с любой страницы бросает на сайт.ru/eng/index.php
Когда знак вопроса в конце ни чего не меняется. переходит на указанную страницу

но все эти манипуляции ни как не зависят от того кода. сервер вел бы себя и без него

_____________
My Webpage
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.