ok so wie es aussieht macht er das ganze
übern Bettellink, stellt sich die Frage warum wird der bei mir im system gezählt, also im admin bei der Aktivrally mit klamm id?
Druckbare Version
ok so wie es aussieht macht er das ganze
übern Bettellink, stellt sich die Frage warum wird der bei mir im system gezählt, also im admin bei der Aktivrally mit klamm id?
In der Standard betteln.php wird afaik nicht geprüft, ob die übergebene Klamm/User ID existiert/angemeldet ist.
Insofern ist der aufruf bspw. auch mit ID=1 erfolgreich, und wird auch in alle dort stehenden Rallyes gezählt.
Was ihm aber ja nichts bringt, da er ja die Klammlose dafür nicht kassieren kann, nur blöd natürlich, dass du es manuell löschen musst.
Ich würde das DB schonend so lösen:
(content/betteln.php)
Dann würden Rallyes, Bilanz etc nur ausgeführt, wenn der User in der DB existiert, der Rest läuft ganz normal ab.PHP-Code:
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'");
if(mysql_affected_rows()==1){//neu
refumsatz ($bettelsumme,$_GET['ref']);
aktivralley ($bettelsumme,$_GET['ref']);
bilanz(0,$bettelsumme);
}//neu
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>';
Besser wär natürlich, auch Reload nur bei "richtigen" Usern zu machen, aber erstmal sollte das reichen.
Seh ich auch so, ich behelf mir hiermit:
Das am Anfang jeder Datei und man sollte raus finden können was der angegebene User gerade so versucht. Das hilft ganz gut. Nur das Log könnte schon mal etwas größer werden ;-)PHP-Code:
<?php
if($_SESSION['uid']==xxxx or $_COOKIE['uid']==xxxx)
{ $user = $_SESSION['uid']; } else { $user = $_COOKIE['uid']; }
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$datum2 = date("H:i-d.m.Y",$timestamp);
$_POST['passwort'] = "passwort"; // brauch ich nicht um den user zu sperren also weg damit
$file = '/var/www/htdocs/log/log'.$user.'.'.$datum.'.log';
$fp = @fopen($file, 'a');
$wr = @fputs($fp, $datum2."\n");
$wr = @fputs($fp, 'User: '.$user."\n");
$wr = @fputs($fp, "\$_GET:\n");
if(is_array($_GET)) {
foreach($_GET as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_POST)) {
$wr = @fputs($fp, "\$_POST:\n");
foreach($_POST as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_SESSION)) {
$wr = @fputs($fp, "\$_SESSION:\n");
foreach($_SESSION as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_GLOBALS)) {
$wr = @fputs($fp, "\$_GLOBALS:\n");
foreach($_GLOBALS as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_COOKIE)) {
$wr = @fputs($fp, "\$_COOKIE:\n");
foreach($_COOKIE as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_FILES)) {
$wr = @fputs($fp, "\$_FILES:\n");
foreach($_FILES as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_ENV)) {
$wr = @fputs($fp, "\$_ENV:\n");
foreach($_ENV as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
if(is_array($_REQUEST)) {
$wr = @fputs($fp, "\$_REQUEST:\n");
foreach($_REQUEST as $key => $val) {
$wr .= @fputs($fp, $key.' = '.$val."\n");
}
}
$wr .= @fputs($fp, "-------------------------------------------------\n");
fclose($fp);
?>
Wichtig: Nicht für den Dauerhaften Betrieb geeignet da es doch ein paar System Rescourcen verschlingt.
Ja danke euch hat mich auf jedenfall weiter gebtracht:yes: