PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geister in Rallyes?



ElDani
17.03.2007, 23:10
Seit gestern tauchen in den Bettel- Mail- und MonatsKlick- Rallyes Geister auf. Diese machen unaufhaltsam Punkte, allerdings steht kein User dabei. Im AdminBereich steht als User 0. Auch kann ich diese Buchungen bei keinem User finden.

Was ist zu tun?

Gremlin
17.03.2007, 23:26
Alle Ralleys anpassen und zwar wie folgt:

Beispiel Aktivralley:

Vorher:

function aktivralley ($buchungssumme,$fuer) {
global $db_prefix;
// Wenn Aktivralley läuft
$ralleydaten_aktiv = mysql_fetch_array(db_query("SELECT `start`,`ende` FROM ".$db_prefix."_ralleydaten WHERE ralley = 'aktivralley' LIMIT 1"));
if ($ralleydaten_aktiv['start'] <= time() && $ralleydaten_aktiv['ende'] >= time()) {
$aktiveintragen = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE uid = '".$fuer."'");
if (!mysql_num_rows($aktiveintragen)) {
db_query ("INSERT INTO ".$db_prefix."_aktivralley (uid,punkte) VALUES ('".$fuer."','".$buchungssumme."')");
} else {
db_query ("UPDATE ".$db_prefix."_aktivralley SET punkte = punkte + ".$buchungssumme." WHERE uid='".$fuer."'");
}
}
}

Nachher:

function aktivralley ($buchungssumme,$fuer) {
global $db_prefix;
// Wenn Aktivralley läuft
$ralleydaten_aktiv = mysql_fetch_array(db_query("SELECT `start`,`ende` FROM ".$db_prefix."_ralleydaten WHERE ralley = 'aktivralley' LIMIT 1"));
if ($ralleydaten_aktiv['start'] <= time() && $ralleydaten_aktiv['ende'] >= time() && $fuer != '' && $fuer != '0') {
$aktiveintragen = db_query("SELECT * FROM ".$db_prefix."_aktivralley WHERE uid = '".$fuer."'");
if (!mysql_num_rows($aktiveintragen)) {
db_query ("INSERT INTO ".$db_prefix."_aktivralley (uid,punkte) VALUES ('".$fuer."','".$buchungssumme."')");
} else {
db_query ("UPDATE ".$db_prefix."_aktivralley SET punkte = punkte + ".$buchungssumme." WHERE uid='".$fuer."'");
}
}
}

beachte Zeile 5 in code #2 ansonsten kannst du auch jeweils vor Rallyende die User manuell aus der DB löschen!

Marst
18.03.2007, 13:07
Hallo,
habe das gleiche Problem bei der Mailralley,
mich würde interessieren woher der "Benutzer 0" kommt.


MfG Marst

Gremlin
18.03.2007, 15:05
Vorallem kommt das vom Betteln, ein User hat falsch verlinkt und die Bettelid wird nicht übergeben, dann steht beim betteln der User 0 drin, der dann auch die punkte bekommt.

Das passiert z.B. bei ShoutBox.de wenn man dort seinen Bettellink als Url eingibt, funzt das nicht!

Marst
18.03.2007, 15:36
Gibts für das Problem eine Lösung?
Habe einen Testuser mit ID 0 angelegt, hat leider nichts gebracht.
Das ist auch nur bei der Mailralley, bei der Aktiv und Klickralley
ist alles i.O.

MfG Marst


Edit: die Lösung oben mit der Änderung am Script behebt das Prob
ja erst bei der Auszahlung, oder liege ich da falsch?

Gremlin
18.03.2007, 15:41
die Lösung oben mit der Änderung am Script behebt das Prob
ja erst bei der Auszahlung, oder liege ich da falsch?

Nein die verhindert das es überhaupt soweit kommt ;)

Bei der Mailrally gab es schon oft Probleme da man dort nicht eingeloggt sein muss um zu bestätigen, aber in der FUnktion mailralley() meist die $_SESSION['uid'] übergeben wird!

holmer
18.03.2007, 16:01
Betr.:Geistermailer

Ich habe auch so einen Geistermailer drin und werde das script gem. Vorschlag abändern, ich hoffe es nutz mir.
Ich lasse keinen Bettelink aus Sicherheitsgründen zu.Trotzdem stelle ich mir die Frage wo diese 0 User herkommen.

Gremlin
18.03.2007, 16:03
Trotzdem stelle ich mir die Frage wo diese 0 User herkommen.

Liest du was ich schreibe? Das habe ich doch hier jetzt schon 2x erklärt!

ElDani
18.03.2007, 21:07
Hallo, Ihrs, Hallo, Gremlin!

sorry, daß ich jetzt erst schreibe...

ich hab in /content/ralleys/ die Datei bettel.php gefunden. dort stehen aber diese Zeilen nicht darin. meintest du eine andere Datei, in der ich die Änderung vornehmen soll?

ElDani
20.03.2007, 14:47
ahja! :)

ich hab grade rausgefunden, daß die Änderungen in der Datei /lib/functions.lib.php vorgenommen werden müssen. und hab das gleich mal bei allen Rallyes außer Aktiv2 eingetragen. Dort gab es diese Zeile nicht.

allerdings habe ich jetzt noch die User-losen Einträge in den Rallyes. soll ich diese von Hand im MySQL löschen, falls ich keinen User zuordnen kann?

Marst
20.03.2007, 23:31
Habe es eben mal mit dem Eintrag bei der Mailralley getestet,
leider zählt sie jetzt nicht mehr. ?(

Wer kann Helfen?

MfG Marst

ElDani
22.03.2007, 11:47
jo, bei mir das selbe.
Alle Rallyes, bei denen ich das eingetragen habe, zählen jetzt gar nicht mehr weiter... :(

Was ist zu tun?

edit: ich hab deinen Code (die Änderung in Zeile 5 ) jetzt erstmal wieder rausgenommen. die rallyes laufen weiter.

allerdings steht immer noch das Problem der leeren Einträge.

hat bitte noch jemand ne Idee dazu?

Marst
03.04.2007, 23:11
Hallo nochmal,
bisher lief wenigstens die Aktiv- und Klickralley ohne 'Geister',
nach der Auswertung der Klickralley tauchen sie aber auch da auf.

Hat denn keiner ne Lösung?

MfG Marst