Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更改多语言脚本的语言时出现问题_Php - Fatal编程技术网

Php 更改多语言脚本的语言时出现问题

Php 更改多语言脚本的语言时出现问题,php,Php,我制作了一个多语言网站。 它只包含两种语言:英语和法语。 默认语言为英语,第二语言为法语 英语在网站上运行得很好,但法语不行,因为当使用URL(?lang=fr)将语言更改为法语时,我会得到随机字母(在本例中,我得到了“F”),如果我切换到(?lang=de)我得到了“D”),这意味着我得到了varibale$_get[“lang”] 这是我的lang.php文件的代码 <?php session_start(); if(isset($_GET['lang'])) { $lang

我制作了一个多语言网站。 它只包含两种语言:英语和法语。 默认语言为英语,第二语言为法语 英语在网站上运行得很好,但法语不行,因为当使用URL(?lang=fr)将语言更改为法语时,我会得到随机字母(在本例中,我得到了“F”),如果我切换到(?lang=de)我得到了“D”),这意味着我得到了varibale$_get[“lang”] 这是我的lang.php文件的代码

<?php
session_start(); 
if(isset($_GET['lang']))
 {
  $lang = $_GET['lang'];
  $_SESSION['lang'] = $lang;
  setcookie('lang', $lang, time() + (3600 * 24 * 30));
 }

  else if(isset($_SESSION['lang'])) {$lang = $_SESSION['lang'];}

  else if(isset($_COOKIE['lang'])) {$lang = $_COOKIE['lang'];}

  else {$lang = 'fr';}

  if($lang=='fr'){$lang_dir = 'fr.php';}
  else if ($lang=='en') {$lang_dir = 'en.php';}
  else {$lang_dir = 'fr.php';}

  include 'administration/includes/lang/'.$lang_dir;

   ?>


会话启动()在所有PHP文件中?另外,
?lang=de
在哪里发挥作用,还是仅用于测试目的?它不在上面列出的代码中。感谢您的回答,它只在lang.php中?lang=de只是用于测试目的。如果它不属于其中,请将其注释掉或删除。这可能是问题之一。据我所知,
session_start()必须驻留在所有调用的(PHP)文件中;在所有被调用的php文件中,但这不起作用!看看这个,可能会有帮助>