PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Multiauszahlung (Wichtig)



fruchti
02.08.2008, 13:09
Ich habe das Multiauszahlung Addon drin und heute passierte es ,das ein user seinen Kontostand ins minus buchen konnte ich bitte hiermit einfach mal um ganz schnelle hilfe
bei euch wer hat den bug fix noch oder kann mir den code für die richtige Prüfung geben bekomme es leider selber nicht gebacken obwohl ich es schon mehrere male probiert habe Bonuslose werden nicht ausbezahlt so wie es sein soll aber der normale Kontostand kann wenn auch nur 1 malig ins Minus gebucht werden.

ich habe auch schon SebbyPHM (http://www.designerscripte.net/member.php?u=144) eine PN geschrieben aber er hat leider noch nicht geantwortet.

mfg
fruchti :frusty:

Jenny
04.08.2008, 13:28
zement hatte damals nen bugfix dazu dar hinein gesetzt, denke aber bei dem Umbau hier ist da wohl das falsche Addon hoch gefahren :( ob ich das noch habe? keine Ahnung, aber ich schau gern einmal danach, wenn ich finde sende ich das hier, hoffe das ist allen recht:

schau mal, das wurde damals in die auszahlung.php eingesetzt:



// Wenn Auszahlung beantragt wurde
} elseif (isset ($_POST['sende']) && $_POST['art'] == $row->datei) {

// Pruefe, wieviele Auszahlungen schon beantrage
$anfragen = mysql_num_rows (db_query ('SELECT * FROM ' . tbl2 . ' WHERE user = "'.$_SESSION['uid'].'" AND datum = "'.date ("dmY").'"'));
if ($row->anfr_tag == 0) $anfragen = 0;

// Wenn Auto-Auszahl = on, dann ausfuehren
if ($anfragen == 0 && $row->ausz_auto == 0) {

if ($_POST[$row->datei.'_anzahl']*$faktor > $konto->kontostand ){ #by zement
$meldung = '<b>Soviel Guthaben hast du nicht!</b> '; #by zement
}else{ #by zement
require ("lib/schnittstellen/sh.".$file);
$error = auszahlen ($row->bet_id, $row->bet_kw, $_POST[$row->datei.'_empfaenger'], $_POST[$row->datei.'_passwort'], $row->bet_sid, $_POST[$row->datei.'_anzahl'], $row->ausz_betr, '');

if ($error != '1001') {
$meldung = '<b>Es ist ein Fehler aufgetreten:</b> '.$trans_error[$error];
} else {
$bid = create_code(14);
kontobuchung ('-', $_POST[$row->datei.'_anzahl']*$faktor, $_SESSION['uid']);
buchungsliste ($bid,'-'.$_POST[$row->datei.'_anzahl']*$faktor, $row->ausz_betr.' - UID: '.$_POST[$row->datei.'_empfaenger'], $_SESSION['uid']);
$meldung = 'Es wurden '.number_format ($_POST[$row->datei.'_anzahl'], 2, ',', '.').' '.$row->name.' ausgezahlt!';
db_query ('INSERT INTO ' . tbl2 . ' (`token`,`datei`,`datum`,`zeit`,`user`,`betreff`,` betrag`) VALUES ("1", "'.$row->datei.'", "'.date ('dmY').'", "'.time().'", "'.$_SESSION['uid'].'", "'.$row->ausz_betr.'", "-'.$_POST[$row->datei.'_anzahl'].'")');
}
}; #by zement

} elseif ($anfragen == 0 && $row->ausz_auto == 1) {

if ($_POST[$row->datei.'_anzahl']*$faktor > $konto->kontostand ){ #by zement
$meldung = '<b>Soviel Guthaben hast du nicht!</b> '; #by zement
}else{ #by zement
// Wenn Auto-Auszahl = off, dann in die DB eintragen
$bid = create_code(14);
kontobuchung ('-', $_POST[$row->datei.'_anzahl']*$faktor, $_SESSION['uid']);

fruchti
05.08.2008, 11:56
danke der fehler ist zwar schon behoben bei mir aber wichtig ist es denke ich trotzdem da wie ich gesehen habe das Multiauszahlungs addon von mehreren Leuten genutzt wird :yes:

mfg
fruchti

word10
06.06.2009, 00:52
Ich habe das bei mir so eingebaut wie Jenny es gepostet hat nur leider kommt jetzt immer als Fehlermeldung: "So viel Guthaben hast du nicht", obwohl aber ausreichend Guthaben auf dem Userkonto vorhanden ist.

Leider bekomme ich das auch nicht richtig hin, hat jemand eine Lösung dafür?

jpwfour
10.06.2009, 00:16
Ich kenn das Addon zwar nicht, aber da die Meldung nur an den beiden Stellen:


$meldung = '<b>Soviel Guthaben hast du nicht!</b> '; auftreten kann, würde ich dort (also Zeile danach einfügen) mir mal interessante Variablen ausgeben lassen, bspw.:


echo 'Konto: '.$konto->kontostand.', POST: '.$_POST[$row->datei.'_anzahl'].', Faktor: '.$faktor;

Und dann mal schaun, ob da sinnvolle Werte stehen (was ja wahrscheinlich nicht so sein wird), evtl hast du auch den Faktor falsch eingestellt?

Wenn jetzt bspw. beim Kontostand 0 dasteht, weiß man, dass man schaun muss, wo wird der ausgelesen, da da dann ein Fehler ist etc.

Jenny
10.06.2009, 00:29
Jo, jetzt wo jpwfour das sagt *lach* glaube musstest erst vor testen eingeben im Adminforce wie die Umrechnung ist genau, so war das

word10
10.06.2009, 16:50
Ich habe den Fehler bei mir jetzt gefunden. Es lag an ein paar Variablen, die ich vergessen habe zu ändern.