- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Коллеги, не получается для привязки к корзине сделать идентификатор, приходится привязываться к IP, что, мягко говоря, не корректно.
Подскажите, пож-ста, как на PHP присвоить конкретному пользователю идентификатор (сессию?), чтобы в течение месяца держалось в броузере и при запросе я мог выдать им информацию какие страницы посещали, чего в корзинку добавляли?
svv, не совсем понятен вопрос. Если вам нужно запустить сессию, то session_start и далее кидаете в этот массив то, что нужно.
Но в вашем случае, мне думается, через куки лучше сделать.
setcookie('id', 'номер', time()+месяц в секундах);
Когда юзверь будет приходить назад, будете проверять $_COOKIE['id']. Там будет лежать id, который вы ему присвоили. А дальше уже подцепляете корзину и все, что угодно еще.
вот setcookie - http://php.net/manual/ru/function.setcookie.php
вот session_start- http://php.net/manual/ru/function.session-start.php
Но в вашем случае, мне думается, через куки лучше сделать.
setcookie('id', 'номер', time()+месяц в секундах);
Когда юзверь будет приходить назад, будете проверять $_COOKIE['id']. Там будет лежать id, который вы ему присвоили. А дальше уже подцепляете корзину и все, что угодно еще.
вот setcookie - http://php.net/manual/ru/function.setcookie.php
вот session_start- http://php.net/manual/ru/function.session-start.php
Спасибо. Да, Setcookie.
беда в том, что всего через несколько переходов, почему то, данные, записанные таким путем, исчезают и юзеру приходится присваивать новый, теряя корзину :(
беда в том, что всего через несколько переходов, почему то, данные, записанные таким путем, исчезают и юзеру приходится присваивать новый, теряя корзину :(
Ну дело в том, что вы извлекли и работаете с ней в рамках работы скрипта. Переходы, я так понимаю, это пользователь по сайту ходит? Значит он в какой-то момент приходит через точку входа, где id не извлекается. В идеале надо где-то в стартовом файле скинуть id в переменную и дальше уже подключаемые файлы будут с ней работать. Тут уже надо смотреть на каких страницах данные исчезают. У вас cms какая-то?
---------- Добавлено 20.08.2015 в 11:32 ----------
В конце концов можно извлечь id из кук, запустить сессию, сохранить в массив $_SESSION и работать с ним пока юзверь бродит по сайту, чтобы не обращаться в куки. Но, опять же, нужно проследить, чтобы на всех страницах, которые просматривает пользователь, стартовала сессия.
CMS - самописная.
загоняю фрагмент с куками в корневой файл - без него только картинки открываются.
-------------------------
Поместил в начальный файл такой фрагмент:
$value = time().$_SERVER['REMOTE_ADDR'];
setcookie("MID", $value, time()+604800);
}
и записываю значения а файл (IP_ADRES.txt).
У некоторых уже по несколько записей :(
Пример с IP 95.108.158.244:
144005973095.108.158.244
144005976995.108.158.244
144005977395.108.158.244
144005977695.108.158.244
Где косяк? :(
Зачем вы повторно пишете в куки. Вы просто проверяете
if($_COOKIE["MID"]){
$mid = $_COOKIE["MID"];
}else{
пользователь не идентифицирован и какие-то другие действия. Или можно ему здесь установить id в куки. Если он что-то кинет в корзину, то под этим id сохраните в базе его корзину до следующего визита.
}
Здесь уже далее работаете с $mid. К примеру, по нему ищете корзину в базе или еще что-то. А в файл вообще ничего писать не надо.
Зачем вы повторно пишете в куки
так в куки пишу если MID отсутствует:
в файл вообще ничего писать не надо.
В файл - это для себя. Как увижу, что в файлах по одной записи - значит работает :)
Извиняюсь. Подправил. ! конечно надо убрать. Если есть id в куках, то ...
А само setcookie("MID", $value, time()+604800) по результатам визита пользователя у вас пишется?
Странно всё это :(
Вот фрагмент:
if($_COOKIE["MID"]){
$MID = $_COOKIE["MID"];
}
else{
$value = time()."-".$_SERVER['REMOTE_ADDR'];
setcookie("MID", $value, time()+604800);
$basers = fopen("$absolute_path/cookie/$mip.txt","a+");
fputs($basers,"$value\r\n");
fclose($basers);
}
$MID = $value;
и снова по несколько записей в некоторые IP :(
Надо посмотреть куки в браузер то пишутся вообще. Вы чем заходите?
Я файрфоксом - у меня пишутся
Ща гляну чем заходят юзеры, которым не пишет