PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Refverdienste und Refback (Cron)



Ufisch
02.02.2008, 00:23
Hallo zusammen,

seit einigen Tagen stimmt etwas nicht mehr mit den Refgutschriften.
Und zwar wird der Cron zwar ausgeführt, aber nur die Refverdienste für den Werber gutgeschrieben, nicht aber irgendein Refback, obwohl Refback gesetzt ist.

Das Komische daran ist, dass es plötzlich so ist, obwohl ich seit Längerem nichts mehr geändert habe.

Kann sich das jemand erklären? Oder besser noch: Hat da jemand vielleicht eine Lösung zu? Bin gerade den Code durchgegangen, aber mir ist noch nix Verdächtiges aufgefallen.

Bin über jeden Hinweis oder Lösungsvorschlag dankbar.

LG Ufisch

Gremlin
02.02.2008, 10:26
Ruf mal den Cron manuell auf und dann sage mal die Fehlermeldung die kommt.

Ufisch
02.02.2008, 13:07
Ruf mal den Cron manuell auf und dann sage mal die Fehlermeldung die kommt.

Es kommt keine Fehlermeldung, nur ein OK.

Ufisch
10.02.2008, 10:03
Hat keiner eine Iee? :rolleyes5:

didith1207
10.02.2008, 10:53
guck mal genauer hatte das anfangs auch das nichts in den buchungen stand aber es wurde verrechnet!

guck mal in deinem refverdienstcron ob da der code so aussieht oder ob du das % zeichen drinn hast


buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);wenn du das % zeichen drinnen hast ändere das mal ;)

Ufisch
10.02.2008, 11:02
Hey super, danke. Darauf bin ich natürlich nicht gekommen, kann so aber ja auch gar nicht funktionieren.
Wobei das schon komisch ist, weil es hat ja funktioniert.

Naja. Aber warum funktioniert es nicht wenn ich das % escape? also \%
Sollte doch dann eigentlich funktionieren :rolleyes5:

didith1207
10.02.2008, 11:10
Es funktioniert leider gar nix wo ein % zeichen drinnen vor kommt :(
ich mache schon wochen nix anderes als lösungen zu finden

Ufisch
10.02.2008, 11:15
Ich hab ne Lösung. Statt dem % schreibst du einfach die HTML-Codierung rein, natürlich escaped: \&\#37;
So funktioniert das bei mir ;)

Wobei bei der Ausgabe stripslashes() hin muss, sonst werden die Slashes mit angezeigt :P

Ufisch
10.02.2008, 11:19
Jetzt frage ich mich aber, warum das % beim Zins-Cron nichts ausmacht und der das anstandslos in die db schreibt? :sosp:

Gremlin
10.02.2008, 11:21
Welches Zinsaddon? Ich hatte in meinem z.B. statt db_query() einfach mysql_query() genutzt um solche Probleme von Anfang an zu umgehen ;)

Gruß
Gremlin

Ufisch
10.02.2008, 11:24
Welches Zinsaddon? Ich hatte in meinem z.B. statt db_query() einfach mysql_query() genutzt um solche Probleme von Anfang an zu umgehen ;)

Gruß
Gremlin

du meinst wohl db_query() statt mysql_query() ?

Naja, hat ja aber damit nichts zu tun. Die Funktion für die Buchungsliste ist ja ein und die selbe. Außerdem verwendet die db_query().

Welches Zinsaddon ich hab, kein Plan. Der cron heißt jedenfalls zinsen.knt.php

Aber ich sehe gerade, dass db_query() die Sonderzeichen ja schon escaped. Also kann man für das % einfach
% schreiben.

Tulpe81
07.03.2008, 17:54
also da das vms1.2 nicht anders aussieht habe ich mal die Infos dafür genutzt. Aber ich habe immer noch nix inner Buchungsliste zu stehen.

und irgendwie werden die refverdienst also nicht wirklich verteilt oder werden verbucht ob wohl ja einige user nen werber haben und dieser refback eingestellt haben und user aktiv sind bekommt der werber keine Verdienste.




Mfg Tulpe81

didith1207
07.03.2008, 23:27
poste doch mal deinen refverdinest cron aber in einem anderen thread das hier is für vms1.2 sonnst kennt sich bald keiner mehr aus :(

Tulpe81
09.03.2008, 02:00
Also hier haut garnix hin. und es geht ums vms1.2 die Refverdienste werden meines erachtens nicht verteilt. Daher werden die User auch nicht in der Ref Rally gezählt usw. Ich versteh das ganze nicht mehr.

Hier mal meien Refzahlungen cron datei:


<?

// Prozente laden!
$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));

// Userdurchlauf
$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten");
while ($refliste_1 = mysql_fetch_array($refliste)) {
$verdienst = 0;

// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'% ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'% gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 2
$refebene_2 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."'");
while ($anzeigen_2 = mysql_fetch_array($refebene_2)) {
$verdienst = $verdienst + ($anzeigen_2['umsatz']/100*$refdaten['re2']);
$pro_verdienst = $anzeigen_2['umsatz']/100*$refdaten['re2'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 3
$refebene_3 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_2['uid']."'");
while ($anzeigen_3 = mysql_fetch_array($refebene_3)) {
$verdienst = $verdienst + ($anzeigen_3['umsatz']/100*$refdaten['re3']);
$pro_verdienst = $anzeigen_3['umsatz']/100*$refdaten['re3'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

}
}
}

if ($verdienst >= 0.01) {
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
bilanz(0,$verdienst);
}

}
mysql_query("UPDATE ".$db_prefix."_werberdaten SET umsatz=0");
?>



Mfg Tulpe81

didith1207
09.03.2008, 12:33
bitte die php funktion benützen!! hier blickt ja keiner durch :(
hmm was hast du da dazugebastelt??? deine letzen 7-8 zeilen shab ich nicht drinn mom ich poste dir mal meinen

didith1207
09.03.2008, 12:38
<?

// Prozente laden!
$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));

// Userdurchlauf
$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten");
while ($refliste_1 = mysql_fetch_array($refliste)) {
$verdienst = 0;

// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'Prozent gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 2
$refebene_2 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."'");
while ($anzeigen_2 = mysql_fetch_array($refebene_2)) {
$verdienst = $verdienst + ($anzeigen_2['umsatz']/100*$refdaten['re2']);
$pro_verdienst = $anzeigen_2['umsatz']/100*$refdaten['re2'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 3
$refebene_3 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_2['uid']."'");
while ($anzeigen_3 = mysql_fetch_array($refebene_3)) {
$verdienst = $verdienst + ($anzeigen_3['umsatz']/100*$refdaten['re3']);
$pro_verdienst = $anzeigen_3['umsatz']/100*$refdaten['re3'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

}
}
}

if ($verdienst >= 0.01) {
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$verdienst,'Refverdienste',$refl iste_1['uid']);
bilanz(0,$verdienst);
}

}
db_query("UPDATE ".$db_prefix."_werberdaten SET umsatz=0");
?>und dieser cron funktioniert zu 100% ;)

du hast bei dir das % zeichen drinnen hättest du die anderen threads beachtet hättest du den fehler selber gefunden ;)

Ibijrg
30.04.2010, 13:30
Ich muß diesen Thread mal wieder aufleben lassen, denn ich bhabe folgendes Problem:seit einigen Tagen werden die Refvergütungen nicht mehr gutgeschrieben. Das Eigenartige daran ist, das ich, der sich als 1. User angemeldet hat, sehr wohl Refvergütung bekommt, aber ansonsten kein weiterer User. Ist ja mewrkwürdig, das ich welche kriege aber danach dann nix mehr. Auch hat es ja mal funktioniert, wie ich an den Buchungen sehen kann. Habe meines Wissens seitdem auch nichts an meinen Dateien verändert.
Ich poste hier mal meinen Code:

<?

// Prozente laden!
$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));

// Userdurchlauf
$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten");
while ($refliste_1 = mysql_fetch_array($refliste)) {
$verdienst = 0;

// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'% ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'% gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 2
$refebene_2 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."'");
while ($anzeigen_2 = mysql_fetch_array($refebene_2)) {
$verdienst = $verdienst + ($anzeigen_2['umsatz']/100*$refdaten['re2']);
$pro_verdienst = $anzeigen_2['umsatz']/100*$refdaten['re2'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

// Ebene 3
$refebene_3 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_2['uid']."'");
while ($anzeigen_3 = mysql_fetch_array($refebene_3)) {
$verdienst = $verdienst + ($anzeigen_3['umsatz']/100*$refdaten['re3']);
$pro_verdienst = $anzeigen_3['umsatz']/100*$refdaten['re3'];
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;

}
}
}

if ($verdienst >= 0.01) {
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$verdienst,'Refverdienste',$refl iste_1['uid']);
# User-Statistik schreiben
$date = date("d.m.Y");

db_query("UPDATE ".$db_prefix."_user_statistik SET RV=RV+".$verdienst." WHERE uid=".$refliste_1['uid']." AND zeit='".$date."' LIMIT 1");
if (mysql_affected_rows() == 0){
db_query("INSERT INTO ".$db_prefix."_user_statistik (RV,uid,zeit) VALUES (".$verdienst.",".$refliste_1['uid'].",'".$date."')");
}
stg_bilanz (0,$verdienst,RefBack,"RefVergütungen");
bilanz(0,$verdienst);
}

}
db_query("UPDATE ".$db_prefix."_werberdaten SET umsatz=0");
?>


Habe diesen Code soeben mal gegen den von didith ausgetauscht, bevor ich Zeichen für Zeichen vergleiche. Muß jetzt mal abwarten, bis morgen früh um 6 der Cron wieder läuft, aber ich denke, es wird das gleiche Ergebnis kommen. Denn wenn ich den Cron manuell aufrufe(http://www.meine-domain.de/crons/refzahlungen.knt.php)krieg ich sowohl mit meiner alten als auch mit der neuen von didith folgende Fehlermeldung: Fatal error: Call to undefined function db_query() in /var/www/vhosts/pitufo-lose.de/httpdocs/crons/refzahlungen.knt.php on line 4

Und das verstehe ich jetzt gar nicht mehr, denn ich bekomme wie gesagt täglich die Refverdienste(ich bin übrigens nicht als Admin sondern als normaler User geführt).

So, ich hoffe sehr, das mir jemand helfen kann!

Danke und viele Grüße!

Lokutos
30.04.2010, 13:37
wie rufst du den cron auf ?

müsste ja sowas wie domain.tld/cron.php?id=x sein oder ??

was kommt da für eine fehlermeldung?

Ibijrg
30.04.2010, 14:04
wie rufst du den cron auf ?

müsste ja sowas wie domain.tld/cron.php?id=x sein oder ??

was kommt da für eine fehlermeldung?

Ne, im Adminforce bei den Crons steht dieser Cron nicht drin :(
Wie der aufgerufen wird-keine Ahnung, ich weiß nur das er morgens um 6 läuft...
Und manuell habe ich eben dies in Browser eingegeben:
http://www.meine-domain.de/crons/refzahlungen.knt.php (http://www.meine-domain.de/crons/refzahlungen.knt.php%29krieg)

wobei dann diese Fehlermeldung kam:
Fatal error: Call to undefined function db_query() in /var/www/vhosts/pitufo-lose.de/httpdocs/crons/refzahlungen.knt.php on line 4

Lokutos
30.04.2010, 14:21
INSERT INTO `vms_crons` ( `id` ,
`cron` ,
`laufzeit` ,
`datei` ,
`bezeichnung` )
VALUES ( NULL , 'refzahlungen', '0', 'crons/refzahlungen.knt.php', 'Refzahlungen'

dan sollte er im admin drinne sein

Ibijrg
30.04.2010, 14:32
INSERT INTO `vms_crons` ( `id` ,
`cron` ,
`laufzeit` ,
`datei` ,
`bezeichnung` )
VALUES ( NULL , 'refzahlungen', '0', 'crons/refzahlungen.knt.php', 'Refzahlungen'dan sollte er im admin drinne sein


Jou, danke, jetzt isser drin...nachdem ich ihn dann anklicke kommt folgendes:
Fatal error: Call to undefined function bilanz() in /var/www/vhosts/pitufo-lose.de/httpdocs/crons/refzahlungen.knt.php on line 53

Dabei handelt es sich um
bilanz(0,$verdienst);
fast am Ende vom obigen Code von didith
Und Refvergütungen wurden nicht gemacht :(


EDIT:HABE DIESE ZEILE 53 JETZT ENTFERNT, DA ICH DIE BILANZ EH NICHT NUTZE UND SIEHE DA:ES LÄUFT!!!

Vielen Dank für Hilfe!!!

Lokutos
30.04.2010, 14:33
vor die zeile ein //

ich nehme mal an du hast die stg bilanz oder eine andere bilanzfunktion ein deinem system dran denken die einzubauen.

MFg Lokutos