За последние 24 часа нас посетили 18576 программистов и 1661 робот. Сейчас ищут 857 программистов ...

Сбивается сессия (реферальная система)

Тема в разделе "PHP для новичков", создана пользователем Колбася, 2 янв 2013.

  1. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    Подскажите как устранить сбивание сессии при использовании реферальной ссылке на сайте при регистрации

    пользователь добавляет при регистрации /register.php?refer=1
    ?referal=1
    и если другие юзеры регистрируются по той ссылке ему капает денюжка.
    Но вот проблема если человек которые регится по этой ссылке сделает ошибку 1 раз в форме регистрации и нажмет зарегится то его кинет не на /register.php?refer=1 а на /register.php

    Подскажите как сделать это получше и попроще.
    Может как то с return при нажатии кнопки регистрация делать или как?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    "Проблема" в логике, а не в сессии. И что с того, что посетитель сделает ошибку? Там, где реферальный код будет использоваться, используй не get-параметр (его может уже не быть), а запомненное значение.
    get-параметр нужен только раз!

    Добавлено спустя 100500 световых лет:
    На примере сессионной переменной (на базе отдельной куки логика такая же):
    где-то во всегда-подключаемом-инклуд-файле
    Код (PHP):
    1. if (!isset($_SESSION['refer']) && isset($_GET['refer'])) {
    2.   $_SESSION['refer'] = $_GET['refer'];
    3. }
    4.  
    И всё! Один раз промелькнул refer — данные запомнились, пока пользователь ходит по сайту.

    Далее: если момент начисления бонусов должен совпадать с моментом регистрации нового пользователя, то ищем где же происходит INSERT INTO `users` и где-то сразу после него делаем добавление бонуса согласно реферальному коду из сессии/куки, если это значение есть.
     
  3. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    А я сделал так - если юзер гетит реф ссылку то она летит в сессию и из сессии если она не равна пустоте то вылезает form action уже с этой реф ссылой и айдишкой а если небыло реферальной ссылки то форм актион простая ссылка на регистрацию :)
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    а зачем усложнять?
     
  5. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    Я так использую у меня при нажатии кнопки регистрации кидает на форм эешн регистр пхп сессия какбы есть но при нажаии кнопки она же шлеться на регистр пхп а не на регистр реферал такой то пхп

    Добавлено спустя 1 минуту 23 секунды:
    Я вон сейчас разбираюсь вот с этим все
    Код (PHP):
    1. $functions->add_log('
    И class ы