Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
как создать привязку,сессию куков к странице ? |

19.09.2009, 16:57
|
|
Постоянный
Регистрация: 05.01.2009
Сообщений: 684
Провел на форуме: 3281634
Репутация:
485
|
|
как создать привязку,сессию куков к странице ?
Дело вот в чем, до сегодняшних дней мой сервис был русскоязычным....по многочисленным просьбам,я решил добавить поддержку Английского....
В реализации всё получилось,
допустим на главной выбираеш еглиш и все меняется,
а вот при переходе на страницу регистрации все опять становится русским,хотя если и там нажать английский,то отображение тоже поменяется....
Вот хочу посоветоваться и спросить, как можно привязать выбор языка, думаю без сессии куков тут не обойтись......
для смены языков идет такой запрос...
index.php?lang=en и index.php?lang=ru разумеется....
в начале документа стоит
session_start();
set_time_limit(0);
error_reporting(0);
толку 0,при переходе на страницу регистрации- сессия не прописывается((((
|
|
|

19.09.2009, 16:58
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
setcookie попробуй.
Срок сессии истекает, а куки можно хранить до бесконечности.
|
|
|

19.09.2009, 17:03
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
PHP код:
<script>
function SetCookie(name,value){
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc>2)?argv[2]:null;
var path=(argc>3)?argv[3]:null;
var domain=(argc>4)? argv[4]:null;
var secure=(argc>4)? argv[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain));
}
function getCookieVal(offset){
var endstr=document.cookie.indexOf(";",offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset,endstr)) ;
}
function GetCookie(name){
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen){
var j=i+alen;
if (document.cookie.substring(i,j)==arg)
return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0)
break;
}
return null;
}
</script>
<a onclick="SetCookie('lang','en')" href="#">Английский</a>
<a onclick="SetCookie('lang','ru')" href="#">Русский</a>
А в самом начале страницы GetCookie('lang') ну и небольшое знание js, а точнее if,then,else 
Последний раз редактировалось Deathdreams; 19.09.2009 в 17:10..
|
|
|

19.09.2009, 17:03
|
|
Постоянный
Регистрация: 05.01.2009
Сообщений: 684
Провел на форуме: 3281634
Репутация:
485
|
|
setcookie("Russian","index.php?lang=ru");
setcookie("English","index.php?lang=en");
тоже не помогло.........
|
|
|

19.09.2009, 17:12
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
ReduKToR
ты думаешь установил куки и всё?
их проверять надо.
PHP код:
switch($_COOKIE['lang']){
case "rus":
//тут код или переадресация какаянибудь.
break;
case "eng":
//тут тоже
break;
default: //тут переадресация на выбор языка
break;
}
|
|
|

19.09.2009, 17:31
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Получилось?
|
|
|

19.09.2009, 17:39
|
|
Познающий
Регистрация: 24.05.2009
Сообщений: 32
Провел на форуме: 104603
Репутация:
0
|
|
попробуй на странице регистрации что то типа
session_start();
if ($_SESSION['lang']=='en') {
header("Location: ursite.ru/reg.php?lang=en ")
}
как записывать в сессию ,думаю, ты знаешь
Последний раз редактировалось oldsugar; 19.09.2009 в 18:01..
|
|
|

19.09.2009, 17:45
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
oldsugar
лучше использовать конструкцию switch-case
|
|
|

19.09.2009, 18:00
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Deathdreams
oldsugar
лучше использовать конструкцию switch-case
Кто тебе это сказал? :/ Попов?
|
|
|

19.09.2009, 18:12
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
1196
|
|
Сообщение от Deathdreams
setcookie попробуй.
Срок сессии истекает, а куки можно хранить до бесконечности.
если не устанвливать время действия куков, они будут действовавть как и сессии - до первого закрытия браузера.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|