Php 使用html按钮更改站点的语言
在PHP中,我想在单击按钮时更改网站的语言(英语、德语等)。这是解决这个问题的正确方法吗Php 使用html按钮更改站点的语言,php,html,variables,button,Php,Html,Variables,Button,在PHP中,我想在单击按钮时更改网站的语言(英语、德语等)。这是解决这个问题的正确方法吗 <?php $language; if ($language == "en") { include("headerEn.php"); } else { include("header.php"); } ?> <a href="index.php"><?php $language = "en"; ?> <img src="image
<?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">
及
if ( $_COOKIE['language'] == "en") {
include("headerEn.php");
} else {
include("header.php");
} ?>
尝试将此
$language
值保存到会话变量。重新加载页面时,请检查会话变量是否已设置
如果已设置,请使用该$语言
注:
不能通过html更改PHP中的变量。PHP是服务器端HTML是客户端
不过,您可以使用来更改它。这是最简单的方法。要在不改变方法的情况下给出解决方案,您可以这样做
<?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>
如果要保留所选内容,可以将此值存储在数据库或会话中。最好有一个默认值,这样您就永远不会进入无语言站点
$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
$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; ?>
这将解决您的问题。在这种情况下,我尝试使用会话变量来存储和定义语言。在我打开缓存之前,一切都正常。启用缓存时,即使重新加载页面也会返回相同的语言,用户无法更改语言。
因此,我想在单击语言按钮(国旗)< /P>后,使用Ajax请求改变语言。我认为,如果cookie(而不是请求)包含CouthLanguage,则另一部分应该是<代码>否则(空($$cookie(语言)))/>代码,以避免将语言重新设置为“NL”。
<a href="index.php?language=en">
<a href="index.php?language=no">
<?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; ?>