Реферальная система с помощью cookies

2.55K
.
я извиняюсь вот ссылка для анкеты
echo'<div><img src="../images/contacts.png" width="16" height="16"/>&#160;<a href="referals.php?id=".$user['id']."">Рефералы</a>(' . $counts . ')</div>';
.
такс.баллы за реферала я приделал с админкой( в настройках сайта) на мультиязе.осталось только доделать начисление.
.
RAZDOR
вот полный архив.выставление балов готово.а вот начисление думайте сами.
ридми внутри
Реферальная система для johncms 4.x.x - 5.0.0, с помощью cookies, версия 0.2

Внимание! Данная система предоставляет механизм регистрации рефералов,
и не предоставляет механизма обработки рефералов. Что делать с рефералами
должен решить каждый сам для себя, и каждый для себя должен самостоятельно
запрограммировать интерфейс для обработки рефералов.

Порядок установки.
Распаковать в корень с заменой.
затронут файл panel/includes/settings.php изменения прокомментены
1. В phpMyAdmin выполнить sql-запрос:
ALTER TABLE `users` ADD `ref_id` int( 10 ) unsigned NOT NULL DEFAULT '0' AFTER `sex`;
INSERT INTO `cms_settings` (`key`, `val`) VALUES ('refb', '100');

2. В файле "ref.php" изменить переменные $days и $domain по своему усмотрению.
Переменную $domain следует изменять, если по каким-то причинам у Вас не работает
суперглобальная переменная $_SERVER['HTTP_HOST'].
$days - сколько дней будут жить cookie
$domain - домен Вашего сайта без http и слешей, например: $domain = "a-zone.co";



3. Добавить в файл "index.php", находящийся в корне сайта, строчку:
require('incfiles/ref.php');

Добавлять необходимо сразу после строки (строка 15):
require('incfiles/core.php');

Должно получиться:
require('incfiles/core.php');
require('incfiles/ref.php');

4. Точно так же и такую же строчку добавить в файл "registration.php"

5. В файле "registration.php" после строк (строка 76):
mysql_query("INSERT INTO `users` SET
`name` = '" . mysql_real_escape_string($reg_nick) . "',
`name_lat` = '" . mysql_real_escape_string($lat_nick) . "',
`password` = '" . mysql_real_escape_string($pass) . "',
`imname` = '$reg_name',
`about` = '$reg_about',
`sex` = '$reg_sex',

добавить строку
`ref_id` = '$ref_id',

6. Чтобы зарегистрировать реферала, необходимо создать ссылку вида:
-Ваш домен-/?id=7
или
-Ваш домен-/index.php?id=7
или
-Ваш домен-/registration.php?id=7
В настройках сайта можно указать колличество баллов за реферала
где число после "id=" - айди пользователя «реферера», т.е. пользователя кому
будет принадлежать реферал

7.incfiles/languages/ru/_core.lng добавить refb = "Баллы за реферала"
с другими языками по аналогии
Прикрепленные файлы:
.
каждый для себя должен
самостоятельно
запрограммировать интерфейс
для обработки рефералов

.
ReaLs, у каждого свои задачи, у меня была специфическая задача, для самопальных скриптов, поэтому на других сайтах мой вариант начисления бонусов, совсем не связанных с баллами, работать не будет.
.
Cталкер, баллы-заказ)
.
а вот и баллы(Начисление) в регистрации при условии успешной регистрации добавить mysql_query("UPDATE `users` SET `balans`=`balans`+".$set['refb']." WHERE `id`='$ref_id';");
.
RAZDOR, А в зип можно архив сделать?
.
И сколько в настройках лучше ставить жизнь кукис? Сколько дней
.
UA95 (16.06.2013 / 14:50)
А не лучше id реферала принимать в любом месте сайта через $_GET['ref']?
Здесь вся соль в том, что даже если человек сразу не зарегистрируется, а прийдет через неделю без 'ref', то он всё равно будет рефералом.
Всего: 52