Hallo,
das Problem gibt´s auf vielen Seiten. Allerding´s hab ich das mit der UID 0 bis jetzt nur bei der Aktivralley, Mailralley und Bettelralley feststellen können. Dort wird die UID mit an die Ralleyfunktion übergeben. Scheinbar kommt das manchmal nicht richtig an.
Hier mal die Original-Funktion der Aktivralley aus der functions.lib.php:
Code:
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."'");
}
}
}
Wenn man diese Zeile
Code:
if ($ralleydaten_aktiv['start'] <= time() && $ralleydaten_aktiv['ende'] >= time())
folgendermassen ändert:
Code:
if ($ralleydaten_aktiv['start'] <= time() && $ralleydaten_aktiv['ende'] >= time() && $fuer > 0)
sollte das Problem eigentlich gelöst sein. Dann wird der Rest der Funktion (Klickeintragen usw.) nur noch ausgeführt, wenn die Aktivralley läuft UND die übergebene UID grösser als 0 ist.
Gruß
Marco