Probleme mit der referral Punktevergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit der referral Punktevergabe

    Hallo, ich habe Probleme mit einem Script und hoffe hier die Lösung zu finden
    Bei dem Script handelt es um ein Bonus System.
    Man bekommt für bestimmte Aktionen Punkte.
    Das mit den Punkten geht soweit leider hapert es bei der Punkte Weitergabe an die Reffs.
    Im Ideal Fall sollte es so gehen

    User A wirbt User B und User B wirbt User C

    Wenn jetzt User C an einer Aktion für 100 Punkte teilnimmt
    müsste User B 20 Prozent erhalten und user A 10 leider klappt es nicht...

    Hier mal der Code

    Gutschrift.php
    PHP-Code:
    <?php

    include ("../config.php");
    include (
    "checkuser.php");
    include(
    "header.php");

    $zweck $_POST["zweck"];

    session_start ();
    if (!isset (
    $_SESSION["user_id2"]))
    {
    }else{
    if (
    $zweck == '')
    {
    echo 
    "<h3>Punktegutschrift</h3><table width='500' height='100' border='0'><form name='punktegut' method='POST' action='gutschrift.php'>
    <tr><td>User-ID:</td><td width='25'></td><td><input name='uid' type='text'></td></tr>
    <tr><td>Aktion:</td><td width='25'></td><td><select style='width: 400px; height: 25px' size=1 name='aid'><option value='0' selected>Bitte wählen"
    ;

    $abfrage="SELECT * FROM net_bonus ORDER BY id";
    $ergebnis mysql_query($abfrage) or die (mysql_error());
    while(
    $row mysql_fetch_object($ergebnis))
    {
    $id $row->id;
    $name $row->name;
    $punkte $row->punkte;
    echo 
    "<option value='$id'>$name ($punkte $wahru)";
    }

    echo 
    "<option value='Rally'>Rally-$wahru<option value='sonst'>Sonstige $wahru</select></td></tr>
    <tr><td>Punkteanzahl:</td><td width='25'></td><td><input name='points' type='text'> 
    $wahru</td></tr>
    </table><br><input name='zweck' type='hidden' value='2'><input name='submit' type='submit' value='Punkte gutschreiben'></form>"
    ;
    }


    if (
    $zweck == '2')
    {
    $uid $_POST["uid"];
    $aid $_POST["aid"];
    $betrag $_POST["points"];

    if (
    $uid != '' && $aid != '' && $betrag != '')
    {
        
    $selectAktion mysql_query('SELECT * FROM net_bonus WHERE id='.$aid);
        
    $aktion mysql_fetch_array($selectAktion);

        
    mysql_query('UPDATE net_bonus_teilnahmen SET erfolgreich="1" WHERE aktion='.$aktion['kampagnenID']) or die(mysql_error());

        
    $query "UPDATE user1 SET punkte = (punkte+$betrag), punkteVor = (punkteVor-$betrag), teilnahmen = (teilnahmen+1) , lastaction = '$betrag' , pra1 = (pra1+$betrag) , vari5 = (vari5+$betrag) WHERE id = '$uid' ";
        
    $ok=mysql_query($query) or die (mysql_error());
        
    $anfrage="insert into net_gutschrift (id, uid, aid, punkte) VALUES ('','$uid','$aid','$betrag')";
        
    mysql_query($anfrage) or die (mysql_error());
        echo 
    "Der User-ID <b>$uid</b> wurden <b>$betrag</b> $wahru gutgeschrieben.";

        include (
    "refgutschrift.php");

        
    $abfrage="SELECT * FROM net_bonus WHERE id = '".$aid."' ";
        
    $ergebnis mysql_query($abfrage) or die (mysql_error());
        while(
    $row mysql_fetch_object($ergebnis))
        {
        
    $aktname $row->name;
        }

        
    $abfrage="SELECT * FROM user1 WHERE id = $uid";
        
    $ergebnis mysql_query($abfrage) or die (mysql_error());
        while(
    $row mysql_fetch_object($ergebnis))
        {
        
    $usermail $row->mail;
        
    $punkte $row->punkte;
        
    $username $row->username;
        }

        
    $betreff "Bonusaktion $aktname wurde gutgeschrieben";

        
    $mailtext "

    Hallo 
    $username,

    Dir wurde soeben die Bonusaktion 
    $aktname gutgeschrieben, Du hast dafür $betrag $wahru erhalten.

    Dein neuer Kontostand beträgt 
    $punkte $wahru


    Viel Spass weiterhin auf Freesy.de

    ******************************************************************
    Du erhälst diese E-Mail als Mitglied von
    Freesy.de, es handelt sich dabei nicht um Werbung
    sondern um eine Kontoinformation.
    ******************************************************************"
    ;

        
    mail ($usermail,$betreff,$mailtext"From: Freesy.de <info@freesy.de>");

    }else{
    echo 
    "Es wurden nicht alle Felder ausgefüllt!<br><b> Es wurden KEINE Punkte gutgeschrieben!</b> (".$uid.', '.$aid.', '.$points.')';
    }



    }


    }
    include(
    "footer.php");
    ?>

  • #2
    und hier die refgutschrift.php

    PHP-Code:
    <?php /*
    $abfrage='SELECT * FROM user1 WHERE username = \''.$username.'\' ';
    $ergebnis = mysql_query($abfrage) or die (mysql_error());
    while($row = mysql_fetch_object($ergebnis))
    {
    $ref1 = $row->ref;
    $ref2 = $row->ref2;
    $ref3 = $row->ref3;
    }


    # Ebene 1
    $refverd = (0.01*$refver);
    $refverdienst = ($betrag*$refverd);
    mysql_query("update user1 set punkte = (punkte+$refverdienst) , verd = (verd+$refverdienst) where username = '$ref1' ") or die (mysql_error());

    # Ebene 2
    $refverd2 = (0.01*$refver2);
    $refverdienst2e = ($betrag*$refverd2);
    mysql_query("update user1 set punkte = (punkte+$refverdienst2e) , verd = (verd+$refverdienst2e) where username = '$ref2'") or die (mysql_error());


    # Ebene 3
    $refverd3 = (0.01*$refver3);
    $refverdienst3e = ($betrag*$refverd3);
    mysql_query("update user1 set punkte = (punkte+$refverdienst3e) , verd = (verd+$refverdienst3e) where username = '$ref3'") or die (mysql_error());


    mysql_query("update user1 set werberverd = (werberverd+$refverdienst) , werberverd2 = (werberverd2+$refverdienst2e) , werberverd3 = (werberverd3+$refverdienst3e) where username = '$username' ") or die (mysql_error());

    */
    echo 'Wenn diese seite aufgerufen wird, bitte bei Admin melden, Wenn das der Admin sieht, bitte beim Programmierer melden';
    ?>

    Kommentar


    • #3
      Ich habe die Foren grade gelesen und gemerkt ich habe was Falsch gemacht
      Ich habe den Code nicht runter gebrochen ich hoffe ihr drückt einmal ein auge zu aber nur eins sonnst könnt ihr den code ja gar nicht mehr sehen

      Kommentar


      • #4
        Nicht nur das. Keine saubere Einrückung. Nicht Einhaltung des EVA-Prinzips (nicht Datenbankabfragen mit HTML-Ausgaben vermischen). Verwendung der veraltete mysql-Extension. Verwendung von SELECT *. Außerdem voll mit Sicherheitslücken, weil du kein SQL-Escaping machst. Der komplette Code gehört IMHO von Grund auf neu überarbeitet, bevor man auch nur irgendwas daran weiterprogrammiert.

        Kommentar

        Lädt...
        X