Error al generar link de referidos

  • Autor Autor azazer
  • Fecha de inicio Fecha de inicio
A

azazer

No recomendado
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas tengo un problema con mi codigo y es que quiero generar un codigo unico para cada sesion de mis usuarios para sus links de referencias y asi ellos ganen un poco mas...

el punto es que no se que codigo usar... use rand pero me ejecuta siempre distintos cada vez que recargo la pagina...

dejo el codigo de mi pagina


HTML:
<?php if(!defined('SKYLIGHT'))

{
echo ('Выявлена попытка взлома!');

exit();
}
if(empty($id)){?>
<p style="height:100px; padding-top:50px; text-align:center;"><span class="style2">Для доступа к данному разделу Вам необходимо пройти авторизацию!</span><br>
<?}else{?>



<table width="930" border="0" cellpadding="3" cellspacing="2">
<tbody><tr><td align="center">

<b>Реферальная система</b><br />
<br />

Приглашайте в проект своих друзей и знакомых, Вы будете получать <b>50%</b><br>

Автоматическая выплата в порядке очереди срабатывает от 10 рубля.
<php></php>
<br />
<br>

<center>Реферальная ссылка: <input value="http://ebitpro.ga/?ref=<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>
?> " onClick="select()" size="30" type="text"></center>
<br />
<h3>Баннер 468x60</h3>
<img src='1212.gif' /><br><br>

<br>
</php>
</table>
 
<?

$ihr=$db->getOne("SELECT i_have_refs_as_curator FROM ss_users WHERE id=?i",$id);
$refs_w=$db->getOne("SELECT refs_wait FROM `ss_users` WHERE id=?i", $id);
$refsprofit=$db->query("SELECT SUM(summa) as payed FROM deposits WHERE curatorid=?i",$id);
$refsprofit=$db->fetch($refsprofit);
$payed=$refsprofit['payed']*($refpercent/100);

$refsprofit=$db->query("SELECT SUM(summa) as waited FROM deposits WHERE status=?i AND curatorid=?i",0,$id);
$refsprofit=$db->fetch($refsprofit);
$waited=$refsprofit['waited']*($refpercent/100);

?> 
<p><center>Рефералов: <font color="#262043;"> <?=$ihr?> чел.</b> 
<p><center><font color="#262043">В ожидании: <b><font color="red"> <?=$refs_w?></font> руб.</b>  </br></center></p>
Реф. доход: <font color="#262043"><b><?=$payed?> руб. </b> 


</font></center></p>


<table cellpadding='3' cellspacing='0' border='1' bordercolor='#3891cc' align='center' width='55%'>
<tr bgcolor="#3891cc" height="25" valign="middle" align="center" style="text-transform: uppercase;text-shadow: 0 1px 1px #333;font-weight: bold;color:#FFFFFF;">
	<td align="Center"> Логин </td>
	<td align="Center"> Дата регистрации </td>
	<td align="Center"> Доход от партнера </td>
</tr>
<? if($ihr>0){
$myrefsrow=$db->query("SELECT * FROM ss_users WHERE curator=?i ORDER BY id DESC",$id); 
while($myrefs=$db->fetch($myrefsrow)){?> 
<tr class="htt">
<td align="center"><?=$myrefs['wallet']?></td>
<td align="center"><?=date('d.m.Y H:i:s',$myrefs['reg_unix'])?></td>
<?
$refprofit=$db->query("SELECT SUM(summa) as personalprofit FROM deposits WHERE userid=?i",$myrefs['id']);
$refprofit=$db->fetch($refprofit);
?>
<td align="center"><?=($refprofit['personalprofit']*($refpercent/100))?></td>
</tr>
<?}}else{?>
<tr class="htt"><td align="center" colspan="3"><font color="#262043"У вас нет рефералов</td></tr></font>
<?}?>
</table>


</td></tr></tbody>

<?}?>


Como pueden ver en

HTML:
<center>Реферальная ссылка: <input value="http://ebitpro.ga/?ref=<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>
?> " onClick="select()" size="30" type="text"></center>
<br />
<h3>Баннер 468x60</h3>
<img src='1212.gif' /><br><br>

Se ejecuta siempre que recargo...

PD: Aun estoy aprendiendo.. jejeje
 
[MENTION=190489]azazer[/MENTION]
No voy a leer el tocho de tu script, pero si quieres tener un código único en cada SESSION usa md5(session).

Saludos
 
No es lo que deseo... el link de referencias ejemplo sitio.com/?ref=3245523 algo asi
 
No es lo que deseo... el link de referencias ejemplo sitio.com/?ref=3245523 algo asi

Tienes que guardar en enlace en la base de datos, en la tabla del usuario. Crea una columna para dicho valor y luego lo que tienes que hacer es extraerlo de la db para mostrarlo en tus vistas. Una forma más óptima es utilizar el nombre del usuario como código de referido, ya que no tienes que hacer otra cosa más que extraer el username que ya deberías tener en la db.

Luego haces tu algoritmo para hacer lo que tengas que hacer con dicho código. No es nada complejo.
 
Atrás
Arriba