PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mir "Mailjackpot" VMS1.1



riwasch
13.07.2009, 14:46
Habe ein mittelschweres Problem mit dem Mailjackpot!
Ein User berichtete mir, dass er den Mailjckpot geknackt hätte, diesen aber nicht gebucht bekommen hätte und er auch weiterhin in der aktuellen Jackpotliste stehen würde - daraufhin habe ich es mal getestet und tatsächlich, der Jackpot wird zwar geknackt, aber er wird beim User nicht gebucht und auch in der Jackpotliste nicht aktuallisiert!?
In der DB jedoch wird alles gespeichert und angezeigt!?

mail_jackpot beendet uid zeit
673483.0 0 0 0
16.8 0 0 0
6.3 0 0 0
2.1 0 0 0
0.0 0 0 0

Woran liegt das?

jpwfour
13.07.2009, 17:18
Welches Addon ist das genau? (bzw. aus welchem Shop)

Da müsste man die Stelle im Code kennen, wo der Jackpot "fällt", dort ist wohl ein Fehler, weil ja die gefallenen nicht auf beendet=1 gesetzt werden, sondern nur eine neue Zeile eingefügt.

riwasch
13.07.2009, 17:22
http://www.designerscripte.net/downloads.php?do=file&id=49
es ist das Addon hier aus dem Download

jpwfour
13.07.2009, 21:10
Müsste ja dann in Punkt 4 der Anleitung sein:

pcheck.php


$headmsg = $mail_stat['verdienst'].' '.$waehrung.' erhalten!';
// Jackpots einlesen
$daten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_check_mailjackpots WHERE beendet = 0"));
$mail_jackpot = round(($daten['mail_jackpot']),2);
// Zufallsjackpot errechnen
mt_srand((double)microtime()*1000000);
$mail_jackpotzahl = mt_rand($jackmini,$jackmaxi);
$mail_jackpotzahl = round(($mail_jackpotzahl),2);
$mailjackpotausgabe = "<center><font face='Verdana,Helvetica,Geneva,Swiss,SunSans-Regular' size='1'><b>Aktueller Jackpot: $mail_jackpot $waehrung | Jackpot Code: $mail_jackpotcode | Ihr Code: $mail_jackpotzahl<br>";
if ( $mail_jackpotcode == $mail_jackpotzahl ){
$jackpotausgabe .= "<font color='green'><b><i>Code geknackt!Jackpot wurde gutgeschrieben!</i></b></font></td>";
kontobuchung ('+',$mail_jackpot,$_SESSION['uid']);
$buchungs_id=create_code(14);
buchungsliste ($buchungs_id,'+'.$mail_jackpot,'Mail Jackpot',$_SESSION['uid']);
db_query("UPDATE ".$db_prefix."_check_mailjackpots SET beendet = 1, uid = ".$_SESSION['uid'].", zeit = ".time()." WHERE beendet = 0;");
db_query("INSERT INTO ".$db_prefix."_check_mailjackpots SET mail_jackpot = '$mail_jackpot_startwert', beendet = 0, uid = '', zeit = '';");
}else{
$jackpotausgabe .= "<font color='darkred'><i>Die beiden Zufallszahlen stimmen nicht überein, <br>viel Glück beim nächsten Klick !!</i></font></td>";
db_query("UPDATE ".$db_prefix."_check_mailjackpots SET mail_jackpot = mail_jackpot + '1,5' WHERE beendet = 0;");
};
} else {

An sich sieht der Code gut aus und sollte funktionieren.

ABER: :wink:

a) Wäre es praktisch, bei Datenbankanfragen, wo man nur 1 Zeile haben will, ein LIMIT 1 hintenanzusetzen, kann ja nie schaden (weil so geht das Addon davon aus, es gibt nur 1 Zeile mit beendet=0, aber sieht man ja durch fehler etc kanns halt auch anders kommen)

b) ist vielleicht $_SESSION['uid'] gar nicht verfügbar in der pcheck.php ?

Sofern deine User Mails auch (noch) von "extern" bestätigen können, dann müsste man das ändern in:

$_GET['uid']

Oder noch besser VOR dem Jackpotcode folgende Zeile:


$jp_uid = ($_SESSION['uid']>0) ? $_SESSION['uid'] : $_GET['uid'];

und dann in dem Code den man da einfügen soll alle $_SESSION['uid'] durch $jp_uid ersetzen.

Keine Garantie, dass es jetzt wirklich daran liegt, aber den Versuch ist es sicher wert :thumb:

riwasch
13.07.2009, 21:38
wäre es möglich, dass ich dir den Teil in der pcheck.php oder die kpl. pcheck.php zusende und du mir das abänderst, wie du es denkst, dass es funktioniert!?
Habe jetzt einiges, was du vorgeschlagen hast, versucht, komme aber trotzdem nicht weiter!

riwasch
14.07.2009, 20:29
Habe das ganze jetzt nochmal deinstalliert gehabt und völlig neu installiert - leider kein anderes Ergebnis - Es funktioniert einfach nicht!?

jpwfour
14.07.2009, 20:56
Da das Addon hier ausm DL Bereich ist, darfst du den Code hier posten.

Sollten da aber noch andere Addons drin sein, schick mir den PHP Code einfach als PN :thumb:

riwasch
14.07.2009, 21:00
Ich denke, das beste wäre, ich schicke dir mal die ganze pcheck.php in einer PN