Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 04:24   #1
zif0rka
 
Регистрация: 25.11.2011
Сообщений: 9
По умолчанию задержка во время переадрисации

Доброго времени суток, столкнулся с проблемой переадрисации, в принципе все работает хорошо, вот только беспокоят меня задержки во время перехода между страницами.
К сожалению с php и mysql еще не успел освоится, но полазил день по форумах, и блогах этой темы по чуть-чуть осваиваюсь как говорится "методом тыка".
Вот собственно код.
PHP код:
<?
header
('Location: about.php?event=ru');

include(
'menu.txt');
if (
$_GET['event']=='de')  { $lang='de';}
if (
$_GET['event']=='en')  { $lang='en';}
if (
$_GET['event']=='ru')  { $lang='ru';}

if (
$_GET['event']=='de')  { include('de_about.txt');}
if (
$_GET['event']=='en')  { include('en_about.txt');}
if (
$_GET['event']=='ru')  { include('ru_about.txt');}

echo
"
<html>
...
<a href='about.php?event=ru'><img src='./images/flags/ru.ico' title='Русский' width='20'></a>
<a href='about.php?event=de'><img src='./images/flags/de.ico' title='Deutsch' width='20'></a>
<a href='about.php?event=en'><img src='./images/flags/usa.ico' title='English' width='20'></a>
...
</html>"
;
?>
Задержка в 5-10сек происходит как перехожу между страницами, переключаю языки. Подскажите пожалуйста что не так, или хотя бы в какую сторону копать.
Зарание спасибо!
zif0rka вне форума Ответить с цитированием
Старый 01.12.2011, 14:21   #2
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

А почему бы Вам в первом случае сразу не производить присвоение?
Код:
$lang = $_GET['event']
alt5000 вне форума Ответить с цитированием
Старый 01.12.2011, 16:26   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

А вам не кажется, что благодаря этому :
header('Location: about.php?event=ru');
Ваш браузер либо уходит в глубокий зацикленный редирект (и падает), или никогда не доходит до ваших гетов, если это страница не about.php
Cronos20 вне форума Ответить с цитированием
Старый 01.12.2011, 17:47   #4
zif0rka
 
Регистрация: 25.11.2011
Сообщений: 9
По умолчанию

Cronos20, да это так, задержки появились после добавления
Код:
header('Location: about.php?event=ru');
но инного варианта, к сожалению, я в интернете не нашел с переадрисацией. К тому же, я на сколько понял мне нужна вовсе не переадрисация, так как когда я пытался переключить языки:
Код:
<a href='about.php?event=de'><img src='./images/flags/de.ico' title='Deutsch' width='20'></a> 
<a href='about.php?event=en'><img src='./images/flags/usa.ico' title='English' width='20'></a>
меня автоматически возвращало на
Код:
about.php?event=ru'
другими словами - только русский перевод.

alt5000, на сколько я Вас правильно понял код должен быть?
Код:
<?
include('menu.txt');
if ($_GET['event']=='de')  { $lang = $_GET['event'];}
if ($_GET['event']=='en')  { $lang = $_GET['event'];}
if ($_GET['event']=='ru')  { $lang = $_GET['event'];}

if ($_GET['event']=='de')  { include('de_about.txt');}
if ($_GET['event']=='en')  { include('en_about.txt');}
if ($_GET['event']=='ru')  { include('ru_about.txt');}

echo"
...
в таком случае у меня открывается пустая страничка "about.php" без строк
Код:
<li>$about_li_1</li>
<li>$about_li_2</li>
пока я не нажму на определенный язык чтоб вывести данный текст на экран.
подскажите пожалуйста как мне быть вообще, как сделать чтоб первая страничка загружалась к примеру "about.php?event=ru"?
Зарание благодарен за ответ.

Последний раз редактировалось zif0rka; 01.12.2011 в 20:22.
zif0rka вне форума Ответить с цитированием
Старый 01.12.2011, 21:59   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Почему бы не сделать так?
Код:
<?
include('menu.txt');
$lang = 'ru';
if ($_GET['event']=='de')  { $lang = $_GET['event'];}
if ($_GET['event']=='en')  { $lang = $_GET['event'];}
if ($_GET['event']=='ru')  { $lang = $_GET['event'];}

if ($_GET['event']=='de')  { include('de_about.txt');}
if ($_GET['event']=='en')  { include('en_about.txt');}
if ($_GET['event']=='ru')  { include('ru_about.txt');}

echo"
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 01.12.2011, 22:45   #6
zif0rka
 
Регистрация: 25.11.2011
Сообщений: 9
По умолчанию

Naive, спасибо за попытку, но
Код:
<?
include('menu.txt');
$lang = 'ru';
if ($_GET['event']=='de')  { $lang = $_GET['event'];}
...
не дало каких либо изменений.
zif0rka вне форума Ответить с цитированием
Старый 02.12.2011, 00:13   #7
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Или я не правильно понял или
PHP код:
header('Location: about.php'); 
dr.Chas вне форума Ответить с цитированием
Старый 02.12.2011, 01:02   #8
zif0rka
 
Регистрация: 25.11.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Или я не правильно понял или
PHP код:
header('Location: about.php'); 
к сожалению нет, этот вариант уже упоминался при создании темы: не переключаются языки, так как идет переадрисация на about.php, и задержки между переходами страниц 5-10 сек.

Как я уже говорил, с php и mysql еще не успел освоится, и бегая по разным формумам и блогам пытаюсь сделать методом тыка.
вот мой код
PHP код:
<?
include('menu.txt');
if (
$_GET['event']=='en')  { $lang='en';} 
if (
$_GET['event']=='ru')  { $lang='ru';}

if (
$_GET['event']=='en')  { include('en_about.txt');}
if (
$_GET['event']=='ru')  { include('ru_about.txt');}
echo
"<html>
...
<a href='about.php?event=ru'><img src='./images/flags/ru.ico' title='Русский'/></a>
<a href='about.php?event=en'><img src='./images/flags/usa.ico' title='English'/></a>
...
<li>
$about_li_1</li>
<li>
$about_li_2</li>
...
</html>"
;
?>
содержимое ru_about.txt
Код:
<?
$about_li_1="текст1 текст1";
$about_li_2="текст2 текст2";
?>
вот содержимое en_about.txt
Код:
<?
$about_li_1="text1 text1";
$about_li_2="text2 text2";
?>
т.е. при загрузке страницы "about.php" - выводится вся страница, но к сожалению с пустым списком
Код:
<ul>
<li></li>
<li></li>
</ul>
Страница не видит запрос $about_li_*, пока не выбрать язык.
Если вас не затрудняю, подскажите пожалуйста что не так.
Еще хотелось бы добавить вопрос - возможно ли осуществить смену языков без подключения баз данных, или я зря мучаю себя и Вас?
Зарание спасибо за понимание и ответы!

Последний раз редактировалось zif0rka; 02.12.2011 в 01:11.
zif0rka вне форума Ответить с цитированием
Старый 02.12.2011, 01:12   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от zif0rka Посмотреть сообщение
Страница не видит запрос $about_li_*, пока не выбрать язык.
Если вас не затрудняю, подскажите пожалуйста что не так.
И не увидит:
.txt != .php
Andkorol вне форума Ответить с цитированием
Старый 02.12.2011, 02:19   #10
zif0rka
 
Регистрация: 25.11.2011
Сообщений: 9
По умолчанию

Спасибо большое за неравнодушие, разобрался в чем проблема была
Код:
$lang='ru';
if ($_GET['event']=='de')  { $lang='de';} 
if ($_GET['event']=='en')  { $lang='en';} 
if ($lang=='de')  { include('de_about.txt');}
if ($lang=='en')  { include('en_about.txt');}
if ($lang=='ru')  { include('ru_about.txt');}
думаю тему можно закрывать
zif0rka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задержка revanatar Общие вопросы C/C++ 3 30.10.2011 17:42
Задержка на определенное время. asmars Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 23 31.07.2011 20:46
Задержка в С++ cyberandom Помощь студентам 8 13.12.2010 01:15
Задержка JRcoker Общие вопросы Delphi 11 08.08.2008 00:38
Задержка Syred Общие вопросы Delphi 2 07.06.2008 08:16