Intereting Posts
Единичное тестирование для поддержки Unicode Исправить пути перезаписи файла .htaccess для silex? Как получить и отобразить список видео с YouTube, используя javascript Почему php не жалуется при ссылке на несуществующую переменную? MySQL – Как выбрать строки, в которых значение находится в массиве? Разбирайте HTML с помощью htmlDOM, замените все теги iframe другим Проверить массив для частичного соответствия (PHP) jquery с использованием ajax для отправки данных и сохранения в php Способы создания уникального отпечатка пальца пользователя в PHP Использование cURL и simpleXMLElement для извлечения данных. Как получить значение элемента XML после XPATH? Как отправить сложные типы из PHP SoapClient на сервер ASP.NET SOAP? Есть ли сайт, который просто выводит последние стабильные номера версий php и mysql? Как отображать все изображения, хранящиеся в базе данных Ошибка Google Calendar Zend_Loader Force https: // www. для Codeigniter в htaccess с mod_rewrite

Изменение языка сайта с помощью кнопки html

В PHP я хочу изменить язык (английский, немецкий и т. Д.) Сайта при нажатии кнопки. Правильно ли это подходит к этой проблеме?

<?php $language; if ($language == "en") { include("headerEn.php"); } else { include("header.php"); } ?> <a href="index.php"><?php $language = "en"; ?> <img src="images/language/languageNO.png"></a> <a href="index.php"><?php $language = "no"; ?> <img src="images/language/languageEN.png"></a> 

Каков наилучший способ изменить язык сайта и сохранить его, когда пользователь вернется?

вы можете это сделать

 <a href="index.php?language=en"> <a href="index.php?language=no"> 

и получить языки и сохранить их в файле cookie и включить файл в соответствии с файлом cookie

 if ( !empty($_GET['language']) ) { $_COOKIE['language'] = $_GET['language'] === 'en' ? 'en' : 'nl'; } else { $_COOKIE['language'] = 'nl'; } setcookie('language', $_COOKIE['language']); 

и тогда

 if ( $_COOKIE['language'] == "en") { include("headerEn.php"); } else { include("header.php"); } ?> в if ( $_COOKIE['language'] == "en") { include("headerEn.php"); } else { include("header.php"); } ?> в if ( $_COOKIE['language'] == "en") { include("headerEn.php"); } else { include("header.php"); } ?> 

Всегда полезно иметь значение по умолчанию, чтобы вы никогда не попадали на сайт без языка.

 $language = $_REQUEST["language"]; $default_header="myheaderXXX.php"; switch ($language) { case "en": include("headerEn.php"); break; case "no": include("header.php"); break; default: include($default_header); } в $language = $_REQUEST["language"]; $default_header="myheaderXXX.php"; switch ($language) { case "en": include("headerEn.php"); break; case "no": include("header.php"); break; default: include($default_header); } в $language = $_REQUEST["language"]; $default_header="myheaderXXX.php"; switch ($language) { case "en": include("headerEn.php"); break; case "no": include("header.php"); break; default: include($default_header); } 

А затем создайте такие ссылки:

 <a href="index.php?language=en"> <a href="index.php?language=no"> 

Чтобы дать решение без изменения вашего подхода, вы можете сделать это.

 <?php if(isset($_GET['language'])) $language = $_GET['language']; else $language = ""; if ($language == "en") { include("headerEn.php"); } else { include("header.php"); } ?> <a href="index.php?language = en"><img src="images/language/languageNO.png"> </a> <a href="index.php?language = no"><img src="images/language/languageEN.png"></a> в <?php if(isset($_GET['language'])) $language = $_GET['language']; else $language = ""; if ($language == "en") { include("headerEn.php"); } else { include("header.php"); } ?> <a href="index.php?language = en"><img src="images/language/languageNO.png"> </a> <a href="index.php?language = no"><img src="images/language/languageEN.png"></a> в <?php if(isset($_GET['language'])) $language = $_GET['language']; else $language = ""; if ($language == "en") { include("headerEn.php"); } else { include("header.php"); } ?> <a href="index.php?language = en"><img src="images/language/languageNO.png"> </a> <a href="index.php?language = no"><img src="images/language/languageEN.png"></a> 

Если вы хотите сохранить выделение, вы можете сохранить это значение в базе данных или сеансе.

Вы не можете изменить переменную в PHP через html. PHP – серверный, HTML – клиентский

Однако вы можете использовать переменные GET для его изменения. Это самый простой способ сделать это.

Вы можете реализовать такой же код, как это. Я изменил код.

 <?php $language; ?> <?php if ($language == "en") : ?> <?php include("headerEn.php"); ?> <a href="index.php"><?php $language = "en"; ?><img src="images/language/languageNO.png"></a> <?php else: ?> <?php include("header.php"); ?> <a href="index.php"><?php $language = "no"; ?><img src="images/language/languageEN.png"></a> <?php endif; ?> 

это решит вашу проблему.

Попытайтесь сохранить это значение $language в переменной сеанса . Когда перезагрузка страницы проверяет, установлена ​​ли переменная сеанса или нет.

Если установлено, используйте этот $language

ЗАМЕТКА:

 $language = $_GET['language'];