Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera.
É o seguinte, estou editando um script de MMN(Marketing Multi Nível) que possui 10 níveis e matriz forçada de 4(isso pode ser alterado para até 10x10, respectivamente). Quando uma pessoa se cadastra os dados vão para a tabela "temp". Mas o problema está quando acesso a administração do script e clico em "Verificar Usuário", que remove os dados da tabela "temp" e adiciona na tabela "members".
Para que possam entender melhor, vou dar um exemplo:
João se cadastra no site, e seu ID(será usado para indicar pessoas) é 1.
José se cadastra como indicado de João. João ganha $5 por indicar José, ou seja, José é um indicado direto de João(Nível 1). O problema vem agora...
Maria se cadastra como indicado de José. José ganha $5 por indicar Maria(Nível 1 de José) e João ganha(deveria...) $2 porque José conseguiu um indicado no nível 1 dele, logo Maria será um indicado indireto de segundo nível de João(Nível 2 de João).
João
|
Nível 1 José(indicado direto de João)
|
Nível 2 Maria(indicado direto de José e indicado indireto de nível 2 de João)
|
Nível 3 Julio(indicado direto de Maria, indireto de nível 2 de José e indicado indireto de nível 3 de João)
|
Nível 4 Cezar(indicado direto de Julio, indireto de nível 2 de Maria, indireto de nível 3 de José e indicado indireto de nível 4 de João)
Quando acesso a administração do script e clico em Verificar Usuário(para ativar a conta de Maria) ele adiciona corretamente Maria como indicado de José, mas não adiciona Maria como indicado indireto de nível 2 de João, ele adiciona como nível 1 também. O mesmo acontece se Maria indicar Julio, Julio indicar Cezar, e assim sucessivamente, ele adiciona sempre como indicado direto de todos que estão acima e não em seus respectivos níveis.
Segue o código que remove os dados da tabela "temp" e coloca na tabela "members", que é onde está o problema.
//********************************
elseif($b=="Verify User") {
include "config.php";
$rs1=mysql_query("select * from temp where ID=".$_POST["id"]);
$arr1=mysql_fetch_array($rs1);
for ($i=1; $i<=13; $i=$i+1) {
$a[$i]=$arr1[$i];
}
$rs1=null;
$rs1=mysql_query("delete from temp where ID=".$_POST["id"]);
for($i=1;$i<=11;$i++) {
$temparr[$i]=$a[$i];
}
for($i=12;$i<=25;$i++) {
$temparr[$i]=0;
}
$temparr[22]=$a[11];
$temparr[26]=$a[12];
$temparr[27]=$a[13];
$query="insert into members(Name,Address,City,State,Zip,Country,Phone,Email,Password,PaymentDetails,ref_by,Level1,Level2,Level3,Level4,Level5,Level6,Level7,Level8,Level9,Level10,Leader,Total,Unpaid,Paid,IP,Date) values (";
for ($i=1;$i<=26;$i++) {
$query=$query . "'" . $temparr[$i] . "', ";
}
$query=$query ."'". $temparr[27] . "')";
$rs=mysql_query($query);
$b=mysql_insert_id();
$rs=null;
if($b>0) {
$query="insert into subsdetails(CDate,RDate,UDate) values (
now(),
now(),
now()
)";
$rs=mysql_query($query);
$acountid=$b;
$rs=mysql_query("update subsdetails set RDate='".date ( "Y-m-d h:i:s", mktime (date("h"),date("i"),date("s"),date("m"),date("d")+$membershipperiod,date("Y")))."' where ID=".$acountid);
$rs=mysql_query("Select * from members where ID=".$a[11]);$rsupdate=mysql_query("Update members set Total=Total+".$signupbonus." where ID=".$a[11]);
$rsupdate=mysql_query("Update members set Unpaid=Unpaid+".$signupbonus." where ID=".$a[11]);
}
$rs=mysql_query("select * from members where Level1<'$forcedmatrix' and ID <>'$acountid' order by ID limit 0,1");
if (mysql_num_rows($rs)>0)
{
$arr=mysql_fetch_array($rs);
assignreferrals($acountid,$arr[0],0,1);
}
$message="Dear member,
Your Account have been activated now.
Your Member's ID is ".$acountid."
Your Password is ".$a[9]."
Administrator
".$sitename."
".$siteurl;
$from = $webmasteremail;
$header = "From: $sitename<$from>\n";
$header .="Content-type: text/html; charset=iso-8859-1\n";
$header .= "Reply-To: <$from>\n";
$header .= "X-Sender: <$from>\n";
$header .= "X-Mailer: PHP4\n";
$header .= "X-Priority: 3\n";
$header .= "Return-Path: <$from>\n";
$subject="Your Account have been activated!";
$to=$a[8];
mail($to,$subject,$message,$header);
}
print "<b>Record SuccessFully Updated!</b>";
}
//********************************
Campos da tabela "members":
ID, Name, Address, City, State, Zip, Country, Phone, Email, Password, PaymentDetails, ref_by, Level1, Level2, Level3, Level4, Level5, Level6, Level7, Level8, Level9, Level10, Leader, Total, Unpaid, Paid, IP, Date
Quem puder me ajudar, agradeço, pois não sou programador, o pouco que aprendi foi pela internet e mexendo com scripts PHP, o que não é o bastante para entender como concertar isso. Se precisarem de mais informações só pedir. Quem me ajudar a solucionar esse problema e quiser o script só me mandar PM depois.
Carregando comentários...