PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VMS 1.2 Tages-Klickrally Bug



Doim
25.03.2008, 15:10
Hallo,

habe folgendes Problem.

Habe die Tages-Klickrally in meine VMS Seite eingebaut.

Nun wenn ein User einen Banner klickt und ihn direkt wieder schließt wird der trotzdem in der Rally gewertet. Ohne das der webmaster die Vergütung davon bekommt. Der User bekommt die Vergütung zwar auch nicht bezahlt, aber er bekommt Punkte bei der Rally.

Gibt es einen Vergütungscheck für die Rally? Der Erst die Klicks wertet wenn die Zeit (sagen wir mal 20 Sekunden) Aufenthalt vorbei sind.

Dies gilt allerdings nur für die Tages-Klick-Rally.

Anderes Thema:
Kann man bei der normalen Klickrally eine begrenzung einbauen, also eine Mindestklickzahl die man haben muss um gewertet zu werden?

Gruß

Doim

didith1207
25.03.2008, 15:47
hallo..

also das kann nicht sein !

Du hast unter garantie irgendwo am code was verändert da der klick erst zählt nachdem die zeit bis zur vergütung abgelaufen ist!

Doim
25.03.2008, 15:52
ich habe nichts am Code verändert.
In der Statisktik in der Seite wird der Klick auf erst nach ablauf der Zeit gewertet. Aber in der Rally schon vorher.

Wenn du willst schicke ich dir die Adresse der Seite damit du das prüfen kannst.


edit:
Ich sehe gerade du hast auch eine Tages Klickrally auf deiner Seite.

Probier das mal bei deiner Seite aus ob das auch so ist.

Gruß

Dominik

Laemmi
25.03.2008, 17:39
Hallo,
also ich kann den Fehler bestätigen auf der Seite von Doim.
Ich hab aber auch die Tagesklickrally drin und bei mir ist der Fehler nicht.

LG Laemmi

Doim
25.03.2008, 18:05
Hallo,

Vielleicht weiß ja noch ein anderer der das Thema hier liest woran das liegt mit der Klickrally.

Gruß

Dominik

didith1207
25.03.2008, 21:16
ich habs auf meiner seite getestet und bei mir wird erst nach ablauf der zeit der punkt gutgeschrieben...

poste doch mal hier deinen klickrally code du hast ja das originale vom download oder?

Doim
25.03.2008, 21:52
ja der Code der Tages-Klickrally ist:

Code:

<?
// Variabeln definieren
$filename = 'lib/texte/tagesralley.txt';
$rp = 1;

// Ralleydaten auslesen
$ralleydaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_ralleydaten WHERE ralley='tagrally' LIMIT 1"));

// Datei auslesen
if (is_readable ($filename)) $inhalt = implode ('', file ($filename));
else echo 'Datei '.$filename.' kann nicht gelesen werden!';

if ($inhalt != ''){
head ('Unsere Klickralley');
echo nl2br ($inhalt);
foot ();
}


head("Tagesklickrally - Platzierungen und Preise");

if ($ralleydaten['art'] != 'statisch') { ?>
<div>Diese Tagesklick Ralley läuft täglich von <b>23:55</b> bis <b>23:55</b>.<br>
Dabei handelt es sich um eine dynamische Klickrally, wo pro Klick <b><?=number_format($ralleydaten['pro'],2,",",".").' '.$waehrung;?></b> in den Jackpot fliesen.<br>
Im Jackpot befinden sicher gerade <b><?number_format($ralleydaten['jackpot'],2,",",".").' '.$waehrung;?></b>,<br> die wie unten aufgeführt auf die Plätze <b>1
bis <?$ralleydaten['plaetze'];?></b> verteilt werden.</div>
<br />
<?
} else { ?>
<div>
Diese Tagesklick Ralley läuft täglich von <b>23:55</b> bis <b>23:55</b>.<br>
Für diese Klickrally sind <b><?number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung;?></b> ausgelobt und werden wie unten angezeigt<br>
auf die Plätze <b>1</b> bis <b><?$ralleydaten['plaetze'];?></b> verteilt.</div>
<br />
<?
} ?>


<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr class="tr_head">
<td width="50"><b>Rang</b></td>
<td><b>User</b></td>
<td width="100"><b>Klicks</b></td>
<td width="150"><b>möglicher Gewinn</b></td>
</tr>
<?
$platz = db_query ('SELECT k.klicks,u.nickname FROM '.$db_prefix.'_tagrally k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY klicks DESC LIMIT 10');
while ($pa = mysql_fetch_array($platz)) {
$row = ($rp % 2 == 0) ? 0 : 1;
$mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$rp], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]), 2, ',', '.').' '.$waehrung;
if ($rp > $ralleydaten['plaetze']) $mg = '---'; ?>
<tr class="tr_row<?=$row;?>">
<td align="right"><?=$rp++;?>.&nbsp;</td>
<td>&nbsp;<?=$pa['nickname'];?></td>
<td align="right"><?=number_format($pa['klicks'], 0);?>&nbsp;</td>
<td align="right"><?=$mg;?>&nbsp;</td>
</tr>
<?
}

for($x=$rp;$x<11;$x++){
$mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$x], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$x]), 2, ',', '.').' '.$waehrung;
$row = ($rp % 2 == 0) ? 0 : 1;
if ($x > $ralleydaten['plaetze']) $mg = '---'; ?>
<tr class="tr_row<?=$row;?>">
<td align="right"><?=$rp++;?>.&nbsp;</td>
<td>&nbsp;n/a</td>
<td align="right">0&nbsp;</td>
<td align="right"><?=$mg;?>&nbsp;</td>
</tr>
<?
} ?>
</table>
<?
foot(); ?>

Hardy
25.03.2008, 22:13
Da liegt bestimmt nicht der fehler.
Du hast sicherlich die function tagrally();
(oder wie das jetzt heist) in der topframe.forced.php an der falschen stelle eingebaut.

didith1207
25.03.2008, 22:16
Da liegt bestimmt nicht der fehler.
Du hast sicherlich die function tagrally();
(oder wie das jetzt heist) in der topframe.forced.php an der falschen stelle eingebaut.

das wäre gut möglich guck mal ob tagrally(); unterhalb von der funktion kontobuchung ist

Doim
25.03.2008, 22:49
Nee geht leider immernoch nicht.

Der Code sieht so aus:

<?
@require_once ('lib/functions.lib.php');
@require_once ('lib/session.lib.php');

// Variabeln definieren
if (!isset($headmsg)) $headmsg = "";
if (!isset($puk)) $puk = "";
if (!isset($force_error)) $force_error = "";
if (!isset($wartezeit)) $wartezeit = "";
if (!isset($_GET['art'])) $_GET['art'] = "";
if (!isset($_GET['puk'])) $_GET['puk'] = "";
if (!isset($_GET['auszahlen'])) $_GET['auszahlen'] = "false";
if (!isset($_SESSION['uid'])) $_SESSION['uid'] = "";
if (!isset($forced['ziel'])) $forced['ziel'] = "";
if (!isset($forced['aufendhalt'])) $forced['aufendhalt'] = "";
if (!isset($forced['tan'])) $forced['tan'] = "";

// Nur weiter wenn eingeloggt
if ($_SESSION['login'] != 'true' || $_SESSION['uid'] <= 0) die('Bitte einloggen!');

@db_connect();

// Tan sichern
$_GET['tan'] = mysql_real_escape_string ($_GET['tan']);

// Werbedaten auslesen!
$kamp = db_query ("SELECT t1.*
FROM ".$db_prefix."_gebuchte_werbung t1
LEFT JOIN ".$db_prefix."_reloads t2
ON (t1.tan=t2.tan AND (t2.uid=".$_SESSION['uid']." or t2.ip='".$ip."') AND t2.bis > ".time().")
WHERE t1.tan = '".$_GET['tan']."' AND t2.tan IS NULL AND t1.werbeart = 'forcedbanner' AND t1.menge >=1 AND t1.status = 1 AND t1.sponsor != ".$_SESSION['uid']." LIMIT 1");


// Reloadprüfen
if (mysql_num_rows($kamp)) {
$forced = mysql_fetch_assoc($kamp);
$wartezeit = $forced['aufendhalt'];
$headmsg = 'Vergütung in '.$forced['aufendhalt'].' Sek.!';
$puk = md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode);
} else {
$headmsg = 'Banner noch im Reload!';
$force_error = 'true';
}


// User bezahlen und Reload schreiben
if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode) && time() >= $_SESSION['earlies_payout'.$_GET['tan']]){

// Um einen mysql_query zu sparen wurde hier auf kontobuchung() verzichtet...
db_query("UPDATE ".$db_prefix."_kontodaten SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", kontostand = kontostand + ".$forced['verdienst']." WHERE uid = ".$_SESSION['uid']."");

refumsatz ($forced['verdienst'],$_SESSION['uid']);
aktivralley ($forced['verdienst'],$_SESSION['uid']);
klickralley ();
bilanz($forced['preis'],$forced['verdienst']);

$new_reload = time()+$forced['reload'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")");
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'");
$_SESSION['earlies_payout'.$_GET['tan']] = '';
$headmsg = $forced['verdienst'].' '.$waehrung.' erhalten!';

}elseif($_GET['auszahlen'] == 'true' && time() < $_SESSION['earlies_payout'.$_GET['tan']]){
$headmsg = 'Wartezeit umgangen.';
}elseif($_GET['auszahlen'] == 'true' && $force_error != 'true'){
$headmsg = 'Pin abgelaufen';
}
tagrally ();
@db_close();
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="/css/bframe.css" type="text/css">
<?
if ($wartezeit>=0 && $_GET['auszahlen'] != 'true') {
echo '
<meta http-equiv="refresh" content="'.$wartezeit.';url=topframe_forced.php?auszahlen=t rue&tan='.$forced['tan'].'&puk='.$puk.'">
';
}
?>
</head>
<body bgcolor="#c0c0c0" topmargin="0" leftmargin="0">
<table width="100%" cellpadding="0" cellspacing="0" border="0" align="left">
<tr>
<td align="left" width="50%"><b><?=$seitenname;?> ist für den Inhalt nicht verantwortlich.</b></td>
<td align="right" width="50%"><b><?=$headmsg;?></b>&nbsp;&nbsp;&nbsp;&nbsp;</td>
</tr>
</table>
</body>
</html>

Gruß

Dominik

edit: Habe meinen Fehler gerade gemerkt.
tagrally ();

muss unter die aktivrally (); und unter klickrally ();

Gruß Dominik

Hardy
25.03.2008, 23:06
So siehts aus:cool:

daher kein bug und hier dann zu!