2016-02-15 3 views
0

Мой код работает. Он изменяет значение lang, если добавленное значение не существует. Однако для обновления требуется обновление.Страница обновления Php, если файл не найден

if(isset($_GET['lang']) && file_exists('lang/'. $_SESSION['lang'] . '.php')) { 
    $_SESSION['lang'] = $_GET['lang']; 
} else { 
    $_SESSION['lang'] = 'en'; // default value 
} 
if(!isset($_SESSION['lang'])) { 
    $_SESSION['lang'] = 'en'; // default value 
} 
include('lang/'. $_SESSION['lang'] . '.php'); 

С выше кодой, это изменить LANG обратно ный если другие языки не существует, но он показывает файл ошибки не существует, то после того, как освежающая страница работает отлично. Есть ли способ перенаправить или обновить страницу сразу после перехода lang на en?

ответ

0

Похоже, что у вас может быть ошибка в вашей логике.

if(isset($_GET['lang']) && file_exists('lang/'. $_GET['lang'] . '.php')) 

В первом заявлении, которое вы отправили, проверяется, существует ли файл SESSION ['lang']. Кажется, он должен проверить, существует ли файл GET ['lang'].

Вы можете использовать функцию заголовка для перемещения страницы.

header("Location: http://yoursite.com/yourpage.php"); 

Вы также можете ограничить отчет об ошибках, чтобы он не показывал ошибку, что файл не существует.

error_reporting(0); 
+0

Если я использую заголовок, он запускается в цикле перенаправления .. и раздавит весь сайт. где я могу написать error_reporting (0); ? И не просто показывает ошибку, она пытается включить файл, который не существует, и вся страница не будет содержать текст. – Beso

+0

Итак, я неправильно понял ваше заявление. Я думаю, вам, возможно, потребуется опубликовать больше кода. Кроме того, я изменяю свой ответ, потому что думаю, что вижу большую проблему. – ckimbrell

+0

Я переводил свои страницы с помощью переменных массива. И имейте их в файлах: en.php, al.php Затем включите их в мою страницу, в зависимости от того, какие посетители выбирают. Если они пишут? Lang = ru Он попытается включить ru.php, который не существует. и покажет страницу без текста, до обновления страницы. – Beso

Смежные вопросы