|
|
|
| День добрый.
Принцип такой.
При входе на сайт, проверяется, имеется ли у пользователя куки с id страны, если да, то он выполняется
$_SESSION['country'] == $_COOKIE['country'];
если же не имеется, то определяется страна по ip и создается куки
setcookie('country',$country,time()+17280000);
и затем записывается в сессию.
Все нормально, но когда перезаписывается куки (если пользователь изменил страну (у меня выводится информация для определенной страны, и изменить её можно через форму)), то ничего не получается - меняеться только переменная сессии, соответственно, но куки каким был таким и остался. Для перезаписи использую следующее:
<?php
$country=$_POST['country'];
$city=$_POST['city'];
if(is_numeric($country)){
$_SESSION['country']=$country;
setcookie('country',$country,time()+17280000);
header("location: /index.php");
}
?> | |
|
|
|
|
|
|
|
для: stas1987
(05.08.2007 в 10:00)
| | Можно встречный вопрос? А откуда берется страна?? скрипт есть?? для этого ? Если не жалко поделись плиз.
Кстати, логическая ошибка (грубая), при переприсваивании переменной $_SESSION['country'] == $_COOKIE['country'];
должно быть
$_SESSION['country'] = $_COOKIE['country'];
|
| |
|
|
|
|
|
|
|
для: Jura
(05.08.2007 в 18:28)
| | Насчет ошибки - это я тут ошибся, видно рука дрогнула.
А насчет скрипта, то на сайте ip-to-country.com можно скачать базу из всех ip и узнать какой стране он принадлежит (обновляется раз в месяц)
Так что, кто-то поможет? | |
|
|
|
|
|
|
|
для: stas1987
(05.08.2007 в 19:03)
| | а? | |
|
|
|
|
|
|
|
для: stas1987
(06.08.2007 в 11:11)
| | Пробуйте сначала удалять куки а потом записывать. | |
|
|
|