Toon posts:

Referer Script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraagje. Ik heb een script gemaakt waarvan de bedoeling is dat als iemand een lid aanbrengt via ze eigen referer code hij dan hier 10 cent aan verdiend en dit verdeeld in 6 lagen. Alleen ik stuit op de volgende probleem hij geeft de inkomsten als iemand een nieuw lid binnenhaald niet weer. Ik heb alles nagecheckt en kan zo een twee geen fout vinden of waar het aan zou kunnen liggen. Het gaat om de volgende script.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
if ( !empty($_POST["ref"]) )
{
    $ref = htmlspecialchars(trim(rtrim($_POST["ref"])));

    $get_user_ref = "SELECT gebruikersnaam FROM leden WHERE gebruikersnaam = '" . $ref ."' ";
    $user_ref = mysql_query($get_user_ref) or die (mysql_error());
    if (mysql_num_rows($user_ref))
    {
        $reff = mysql_fetch_assoc($user_ref);

        $sql = "insert into reffers (id, reffer, nieuw_lid, datum) values ('', '" . $reff["gebruikersnaam"] . "', '" . $gebruikersnaam . "', '" . $time . "')";
        if(!$result = mysql_query($sql)) die(mysql_error()); 

// laag 1

        $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
        if(!$result = mysql_query($sql)) die(mysql_error());

// laag 2

        $sql = "SELECT reffer FROM reffers WHERE nieuw_lid = '" . $reff["gebruikersnaam"] . "' ";
        $query = mysql_query($sql);
        if ( mysql_num_rows($query) )
        {
            $reff = mysql_fetch_assoc($query);

            $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
            if(!$result = mysql_query($sql)) die(mysql_error());

// laag 3

            $sql = "SELECT reffer FROM reffers WHERE nieuw_lid = '" . $reff["gebruikersnaam"] . "' ";
            $query = mysql_query($sql);
            if ( mysql_num_rows($query) )
            {
                $reff = mysql_fetch_assoc($query);

                $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
                if(!$result = mysql_query($sql)) die(mysql_error());

// laag 4

                $sql = "SELECT reffer FROM reffers WHERE nieuw_lid = '" . $reff["gebruikersnaam"] . "' ";
                $query = mysql_query($sql);
                if ( mysql_num_rows($query) )
                {
                    $reff = mysql_fetch_assoc($query);

                    $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
                    if(!$result = mysql_query($sql)) die(mysql_error());

// laag 5

                    $sql = "SELECT reffer FROM reffers WHERE nieuw_lid = '" . $reff["gebruikersnaam"] . "' ";
                    $query = mysql_query($sql);
                    if ( mysql_num_rows($query) )
                    {
                        $reff = mysql_fetch_assoc($query);

                        $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
                        if(!$result = mysql_query($sql)) die(mysql_error());

// laag 6

                        $sql = "SELECT reffer FROM reffers WHERE nieuw_lid = '" . $reff["gebruikersnaam"] . "' ";
                        $query = mysql_query($sql);
                        if ( mysql_num_rows($query) )
                        {
                            $reff = mysql_fetch_assoc($query);

                            $sql = "UPDATE leden SET verdient_cent = verdient_cent + 10 AND totaal_reffert = totaal_reffert + 1 WHERE gebruikersnaam = '" . $reff["gebruikersnaam"] . "' ";
                            if(!$result = mysql_query($sql)) die(mysql_error());
                        }
                    }
                }
            }
        }
    }
}

[ Voor 11% gewijzigd door Kees op 17-02-2005 20:35 . Reden: sub vervangen door php ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ik heb op basis van je post geen idee wat er precies wel en/of niet werkt. Ik ga ook geen ~80 regels code voor je doorspitten, debuggen mag je zelf doen. Ik kan je wel vertellen dat je veel te omslachtig werkt. Al die lagen had je maar één keer hoeven programmeren in een simpel for-loopje. Eveneens geven constructies als die op regel 3 me het idee dat je niet echt weet wat je aan het doen bent. htmlspecialchars maakt je string wel enigszins veiliger om in de database te zetten, maar ook meteen een stuk groter. Neem dan liever addslashes of mysql_real_escape_string. Verder: trim(rtrim($iets)) is behoorlijk zinloos. Vertaling: "strip eerst achter aan de string spaties weg, en dan nog eens aan beide kanten". rtrim is hier dus niet nodig, en ik vraag me af waarom je het toegevoegd hebt.

Conclusie: kijk eens goed wat je aan het doen bent, en zet de boel eens in een fatsoenlijke programmeerconstructie (met een loop), en als je er dan nog niet uitkomt, post dan een duidelijke vraag. (Want wat werkt er nou precies niet :?)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

net zoals boven mij al is gezegd, wat gaat er specifiek fout? Je zegt dat je de inkomsten niet goed getoond worden. Het script doet alleen maar updates. Enige wat ik zo in de gouwigheid kan opmerken:
- is $gerbruikersnaam wel gevuld
- kan je wel een lege string in het ID veld proppen in je reffers tabel??