Просмотр полной версии : Нужен скрипт для реферальной системмы
alaninho
20.04.2009, 23:45
Уважаемые античатовцы!
Прошу вас помочь мне!
Мне нужен скрипт реферальской системы 2-х уровней.
Чтоб платил за регистрацию по твоей реф. ссылке и за регистрацию пользователей по реф. ссылке твоего реферала. Могу даже немного заплатить тому кто напишет, но правда не много!
Жду в аси 443140130 или отпишитесь ниже. :)
тоже хочу узнать о таком или похожем ..
Если кто знает отпишитесь плизз ..
alaninho
21.04.2009, 00:02
будем надеется что кто то поможет)
просто у меня мега идея, а нет норм. капитала((
:) Мего идея меГо кидало )
alaninho
21.04.2009, 00:38
нет, не кидалово, но заработать можно много, на кидалове много заработать невозможно, потому что информация о новом кидалове расходится по интернету оч. быстро!
вы здесь лучше напишите что за скрипт и по подробнее, что бы помогли вам
alaninho
21.04.2009, 00:52
ну, как сказать, нужна система, которая будет создавать реф. ссылки и засчитывать регистрации по каждой реф. ссылке, добавляя определенную суму денег за каждую регистрацию по реф. ссылке
Сделай GET запрос в силке с ID пользователем, а там уже обрабатывай ;)
alaninho
21.04.2009, 00:57
например, domai.biz/ref=alaninho
как только зарегестрировался и оплатил участие в системе, чтоб пользователь alaninho(по его реф. ссылке был зарегестрирован учасник) получил на свой счет определенную сумму денег.
alaninho
21.04.2009, 00:57
REBUUS, можна мне твой номер аси?
domai.biz/index.php?ref=alaninho
только место alaninho пишешь идентификатор alaninho
а потом захватываешь в файле
$ref=$_GET['ref'];//
я сейчас в аси не бываю , скрываюсь :)
alaninho
21.04.2009, 01:05
млин(
ниче я в этом не понимаю, а жалко такой идеи пропадать, может ты займешся сайтом, а я всем остальным??
будем поровну делить заработанные
че зай сайт ? есть левая ася ? скинь мне. и вообще что твой ник означает, меня интересуют первые 4 буквы
alaninho
21.04.2009, 01:08
alan - это мое имя
ща я тебе в личку кое что отправлю
alaninho
21.04.2009, 01:10
я сейчас зарегестрирую асю для тебя, ок?
alaninho
21.04.2009, 01:13
ок
REBUUS и alaninho вы потом отпишитесь что вы там сообразили со скриптом !
если скрипт напишем то выложу :)
alaninho
21.04.2009, 18:03
да уж, попробуем)))
alaninho
22.04.2009, 20:04
Ребуса в сети нет(
Я короче пас, не нравится идея, идея может и хорошая, но мне не нравится :)
Вот вам делать нех чесно слово.
ТС возьми книжк по пхп,и напиши сам.
Там основа 2 скрипта.
Рега,и сам реф-приниматель.И всо.
Даже с нулевыми знанимми,если читать книгу,то вполне сможеш написать простой скрипт,ну а вот потом,тут тебе помогт.
да там не простой скрипт в 2 строки, поверь, одной книжкой не обойдется :)
ну так напишите план-констуркцию,что толку молоть языками,может у меня или у когото еще время выйдет свободное ;)
это просто не моя идея, а то бы выложил, если ТС хочет то пускай напишет тут:) я думаю поймете меня
alaninho
27.04.2009, 00:37
жаль конечно что не будет скрипта((
я возлагал на него большие надежды(
Да епта,возьии книжку по php, например PGP&Mysql для начинающих.
Прочитав ее наполовину,ты сможеш написать худо-бедно,свой маленькай сайтег,с реф.системой,а со временем,при получении новых знанийдоведеш до ума.
ReduKToR
27.04.2009, 08:35
Проще не выйдет:
Давай ка посмотрим поближе на скрипт.
--создаем промежуточную таблицу памяти
--для того чтобы подсчитать кому в даный момент сколько поинтов добавить
declare @TRef table (Referrer_Name varchar(10), points int)
insert into @TRef (Referrer_Name, points)
select r.Referrer_Name, sum(5) from TABLE_Referrer r
inner join Character c on c.name=r.Referrer_AccountID and cLevel>=200
-- COLLATE Latin1_general_CI_AI
inner JOIN MEMB_STAT m ON c.AccountID = m.memb___id and m.ConnectStat=0
-- COLLATE Latin1_general_CI_AI
where r.Add_count=1
group by r.Referrer_Name
Эта таблица была сделана для того, что бы если в определенный момент для Одного игрока одновременно 2 реферала
достигнут указанного левела, то начислилось не 0,5 WMZ а 1.
То есть другими словами
group by r.Referrer_Name -- сгрупировать по тому кто привел
sum(5) -- за каждого кто достиг по 5 поинтов
and m.ConnectStat=0 --юзверь не в сети
and cLevel>=200 --юзверь достиг 200 левела
Второй оператор Update просто подставляет поинты в таблицу Character.
Есни это будут не левелАПпоинты мы просто добавим поле типа BonusPoints.
ммм.дальше уже под себя....
ReduKToR
27.04.2009, 08:37
вот так в php
//////////////////////////////////////////////////////////////////////////////////////////////
//////FUNCTION REGISTER//////
////////////////////////////
function do_register()
{
if ((isset($_COOKIE['pass'])) && (isset($_COOKIE['user']))); {
$account = stripslashes($_POST['account']);
$password = stripslashes($_POST['password']);
$repassword = stripslashes($_POST['repassword']);
$email = $_POST['email'];
$squestion = stripslashes($_POST['question']);
$sanswer = stripslashes($_POST['answer']);
$verifyinput = stripslashes($_POST['verifyinput']);
$verifyinput2 = stripslashes($_POST['verifyinput2']);
$account = clean_var($account);
$password = clean_var($password);
$repassword = clean_var($repassword);
$email = clean_var($email);
$squestion = clean_var($squestion);
$sanswer = clean_var($sanswer);
$verifyinput = clean_var($verifyinput);
$verifyinput2 = clean_var($verifyinput2);
require("config.php");
require_once "sql_inject.php";
include_once('sql_check.php');
check_inject();
$bDestroy_session = TRUE;
$url_redirect = 'index.php';
$sqlinject = new sql_inject('./log_file_sql.log',$bDestroy_session,$url_redirect) ;
$username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$account'");
$username_verify = mssql_num_rows($username_check);
$email_check = mssql_query("SELECT mail_addr FROM MEMB_INFO WHERE mail_addr='$email'");
$email_verify = mssql_num_rows($email_check);
if ( empty($account) || empty($password) || empty($repassword) || empty($email) || empty($squestion) || empty($sanswer) || empty($verifyinput2)){
echo "<img src=./images/warning.gif> Error: Some fields were left blank!";
}
elseif ($username_verify > 0){
echo "<img src=./images/warning.gif> Error: Login is already used, please chose another one! "; }
elseif ($email_verify > 0){
echo "<img src=./images/warning.gif> Error: E-mail is already used, please chose another one! "; }
elseif (($password != $repassword) || ($repassword != $password)){
echo "<img src=./images/warning.gif> Error: Please go back and retype password corectly! "; }
elseif ($verifyinput != $verifyinput2){
echo "<img src=./images/warning.gif> Error: Please go back and write code corectly!"; }
else {
$msquery1 = "SET IDENTITY_INSERT MEMB_INFO ON";
$msquery2 = "INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,mail_addr ,appl_days,modi_days,out__days
,true_days,mail_chek,bloc_code,ctl1_code,memb__pwd 2,fpas_ques,fpas_answ) VALUES ('$account',[dbo].[fn_md5]('$password','$account'),'MuWeb','1','$email','01/01/2006','01/01/2006','01/01/2006','01/01/2006','1','0','0','$password','$squestion','$sansw er')";
$msquery3 = "INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name ,memb_guid,sno__numb,Bill_Sect
ion,Bill_value,Bill_Hour,Surplus_Point,Surplus_Min ute,Increase_Days ) VALUES ('2005','1',1234,'$account','zzz',1,'7','6','3','6 ','6','2003-11-23 10:36:00','0')";
$sqlinject->test($msquery1);
$sqlinject->test($msquery2);
$sqlinject->test($msquery3);
//$msresults= mssql_query($msquery1);
$msresults= mssql_query($msquery2);
$msresults= mssql_query($msquery3);
echo "<img src=./images/ok.gif> Account has been created succesfully!";
}
}}
а это тоже скрипт тока на Character:
<?PHP
if (eregi("modules/rankings/docharacter.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
?> <style type="text/css">
<!--
..style3 {color: #FFFFFF}
..ranking {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 11px;
color: #FFFFFF;
}
-->
</style>
<?
include("./includes/paginator.php");
include('config.php');
require_once "sql_inject.php";
include_once('sql_check.php');
check_inject();
$bDestroy_session = TRUE;
$url_redirect = 'index.php';
$sqlinject = new sql_inject('./log_file_sql.log',$bDestroy_session,$url_redirect) ;
$sql = mssql_query("SELECT count(*) FROM Character");
$num_rows = mssql_result($sql, 0, 0);
$a =& new Paginator($_GET['page'],$num_rows);
$a->set_Limit($top);
$a->set_Links(15);
$limit1 = $a->getRange1();
$limit2 = $a->getRange2();
$query = 'SELECT TOP ';
$query .= $limit1 + $limit2;
$query .= ' Name,Class,cLevel,resets,strength,dexterity,vitali ty,energy from Character order by resets desc ,clevel desc';
$result = mssql_query($query);
echo '<TABLE border=0 cellPadding=0 cellSpacing=0 >
<TBODY>
<TR>
<TD align=left vAlign=top>
</TR>
<TR>
<TD align=left
vAlign=top>
<TABLE border=0 cellPadding=0 cellSpacing=0
<TBODY>
<TR>
<TD align=middle vAlign=center><br><span class="ranking">Top Characters</span>
<br></br>
<table height=30 border="0" cellpadding="4" cellspacing="2" width="350" bgcolor="#520C00" >
<tr>
<td valign=top align=center><span class="ranking">#</td>
<td valign=top align=center><span class="ranking">Name</strong></td>
<td valign=top align=center><span class="ranking">Class</strong></td>
<td valign=top align=center><span class="ranking">Lv</strong></td>
<td valign=top align=center><span class="ranking">Resets</strong></td>
<td valign=top align=center><span class="ranking">Str</strong></td>
<td valign=top align=center><span class="ranking">Ag</strong></td>
<td valign=top align=center><span class="ranking">Vit</strong></td>
<td valign=top align=center><span class="ranking">En</strong></td>
</tr>';
for ($i=0;$i < $limit1; ++$i) {
$row = mssql_fetch_row($result);
}
for($j=0;$j < mssql_num_rows($result)-$limit1;++$j) {
$row = mssql_fetch_row($result);
$query2="Select ConnectStat from MEMB_STAT where memb___id='$row[9]'" ;
$result2 = mssql_query($query2);
$row2 = mssql_fetch_row($result2);
$query3="Select memb___id from Character order where Name ='mssql_query($query)'";
$result3= mssql_query($query3);
$rank = $j + $limit1 +1;
if($row[1] == 0){ $row[1] ='DW';
}
if($row[1] == 1){ $row[1] ='SM';
}
if($row[1] == 16){ $row[1] ='DK';
}
if($row[1] == 17){ $row[1] ='BK';
}
if($row[1] == 32){ $row[1] ='ELF';
}
if($row[1] == 33){ $row[1] ='ME';
}
if($row[1] == 48){ $row[1] ='MG';
}
if($row[1] == 64){ $row[1] ='DL';
}
if($row[8] == 0){ $row[8] = 'Lorencia';
}
if($row[8] == 1){ $row[8] = 'Dungeon';
}
if($row[8] == 2){ $row[8] = 'Davias';
}
if($row[8] == 3){ $row[8] = 'Noria';
}
if($row[8] == 4){ $row[8] = 'Losttower';
}
if($row[8] == 5){ $row[8] = 'Exile';
}
if($row[8] == 8){ $row[8] = 'Tarkan';
}
if($row[8] == 7){ $row[8] = 'Atlans';
}
if($row[8] == 6){ $row[8] = 'Arena';
}
if($row[8] == 9){ $row[8] = 'Devil Square';
}
if($row[8] == 10){ $row[8] = 'Icarus';
}
if($row[8] == 11){ $row[8] = 'Blood Caslte1';
}
if($row[8] == 12){ $row[8] = 'Blood Caslte2';
}
if($row[8] == 13){ $row[8] = 'Blood Caslte3';
}
if($row[8] == 14){ $row[8] = 'Blood Caslte4';
}
if($row[8] == 15){ $row[8] = 'Blood Caslte5';
}
if($row[8] == 16){ $row[8] = 'Blood Caslte6';
if($row[8] == 18){ $row[8] = 'Chaos Castle 1';}
if($row[8] == 19){ $row[8] = 'Chaos Castle 2';}
if($row[8] == 20){ $row[8] = 'Chaos Castle 3';}
if($row[8] == 21){ $row[8] = 'Chaos Castle 4';}
if($row[8] == 22){ $row[8] = 'Chaos Castle 5';}
if($row[8] == 23){ $row[8] = 'Chaos Castle 6';}
if($row[8] == 24){ $row[8] = 'Kalima 1';}
if($row[8] == 25){ $row[8] = 'Kalima 2';}
if($row[8] == 26){ $row[8] = 'Kalima 3';}
if($row[8] == 27){ $row[8] = 'Kalima 4';}
if($row[8] == 28){ $row[8] = 'Kalima 5';}
if($row[8] == 29){ $row[8] = 'Kalima 6';}
if($row[8] == 30){ $row[8] = 'Valley Of Loren';}
if($row[8] == 31){ $row[8] = 'Lands Of Trials';}
if($row[8] == 32){ $row[8] = 'Devil Square';}
if($row[8] == 33){ $row[8] = 'Aida';}
if($info[8] == 34){ $row[8] = 'CryWolf';}
}
if($row2[0] == 0){ $row2[0] ='<img src=http://img.server.ru/offline.gif>';
}
if($row2[0] == 1){ $row2[0] ='<img src=http://img.server.ru/online.gif>';
}
echo "<tr><td valign=top align='center' style='background-color:#330000'><span class='ranking'>$rank.</td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[0]</span></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[1]</strong></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[2]</strong></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[3]</strong></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[4]</strong></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[5]</span></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[6]</span></td>
<td valign=top align='center' style='background-color:#330000;'><span class='ranking'>$row[7]</span></td>
<td valign=top align=center style='background-color:#330000;'><span class='style4'>$row2[0]</strong></td>
</tr>";
}
?>
</tbody>
</table><br>
<span class='ranking'>
<?
//================================================== =========================
//This shows how to create your links using the output availiable from the
//Paginator class. It is a good example to study since it shows most of
//the information that Paginator can output.
//================================================== =========================
//check to see if current page is one. If so there will be no link.
if($a->getCurrent()==1)
{
$first = "First | ";
} else { $first="<a href=\"" . $a->getPageName() . "?op=rankings&page=" . $a->getFirst() . "\">First</a> |"; }
//check to see that getPrevious() is returning a value. If not there will be no link.
if($a->getPrevious())
{
$prev = "<a href=\"" . $a->getPageName() . "?op=rankings&page=" . $a->getPrevious() . "\">Prev</a> | ";
} else { $prev="Prev | "; }
//check to see that getNext() is returning a value. If not there will be no link.
if($a->getNext())
{
$next = "<a href=\"" . $a->getPageName() . "?op=rankings&page=" . $a->getNext() . "\">Next</a> | ";
} else { $next="Next | "; }
//check to see that getLast() is returning a value. If not there will be no link.
if($a->getLast())
{
$last = "<a href=\"" . $a->getPageName() . "?op=rankings&page=" . $a->getLast() . "\">Last</a> | ";
} else { $last="Last | "; }
//since these will always exist just print out the values.. Result will be
//something like 1 of 4 of 25
echo $a->getFirstOf() . " of " .$a->getSecondOf() . " of " .. $a->getTotalItems() . " ";
//print the values determined by the if statements above.
echo $first . " " . $prev . " " . $next . " " . $last;
//================================================== ============================
//end of example
?>
</span>
</TD>
</TR></TBODY></TABLE></TD></TR>
<TR>
</TD></TR></TBODY></TABLE>
ReduKToR
27.04.2009, 08:40
в теге невставляет...типа такого должно быть....дальше уже с БД думайте
жаль конечно что не будет скрипта((
я возлагал на него большие надежды(
то что ты называешь скриптом, целый сайт, и он должен быть сильно защищен, что бы не взломали ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot