POST variable incorrect

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin van oosterhout

kevin van oosterhout

10/04/2012 18:08:46
Quote Anchor link
hoi,

ik ben bezig met een spel from scratch. maar ik ben op een probleem gestuit met een loterij script: als ik 1 lot wil kopen koop ik bijvoorbeeld 800 loten. hopelijk kan iemand mij helpen,

inhoud variablen:
$user->loten: aantal loten opgehaald uit de database van de gebruiker,
$user->contantq: het geld dat de gebruiker heeft, de q is omdat de andere inhoud heeft die de money_format functie gebruikt,
$user->usr: de gebruikersnaam van de ingelogde gebruiker,

als je nog iets moet weten vraag het gewoon

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
if(!isset($_POST['tickets'])) {
    }
else{
        $toek = $_POST['tickets'] += $user->loten;  
    if ($user->loten >= 1000) {
        $errorlot = "Je kunt geen loten meer kopen want je hebt er al:" . $user->loten .".";
    }
else{
    if ($toek >= 1000) {
        $errorlot = "Je kunt niet meer zoveel loten kopen, want je hebt al:" . $user->loten .", En je mag er maar 1000.";
    }
else{
    if($_POST['tickets'] == ''){
        $errorlot = "Je moet een aantal loten invullen!";
    }
else{
    $kosten = $_POST['tickets'] * '1000';
    if($kosten > $user->contantq){
        $errorlot = "Je hebt niet genoeg geld!";
    }
else{
        mysql_query("UPDATE `users` SET `loten`=`loten`+'".$_POST['tickets']."' WHERE `usr`='" . $user->usr . "'");
        mysql_query("UPDATE `loterij` SET `verkocht`=`verkocht`+'".$_POST['tickets']."'");
        }}}}}

?>

<h1 id="pagename">Welkom In Het Casino</h1>
<h2 align="center">Loterij</h2>
<p align="center" id="gold">Je kunt hier de tickets voor de loterij kopen. Bij de loterij kun je veel geld winnen. Het bedrag word hoger als er meer mensen inschrijven!</p>
<?php
$query
= mysql_query("SELECT * FROM `loterij`");
$fetch = mysql_fetch_object($query);
?>

<?php
if(isset($errorlot)){
    echo($errorlot);
}

echo $_POST['tickets'];
?>


<p align="center" id="gold">Er zijn:<?php echo ($fetch->verkocht); ?> Tickets verkocht</p>
<p align="center" id="gold">Je hebt:<?php echo ($user->loten); ?> Tickets gekocht</p>
<p align="center" id="gold">Ieder ticket kost: &euro; 1.000,00</p>
<center>
    <form action="#" method="post">
        <label for="tickets"><p id="gold">Aantal Tickets:</p></label><input type="text" name="tickets" />
        <input type="submit" value="Koop" />
    </form>
    <table>
        <tr><td><p align="center" id="gold">Prijs</p></td><td><p align="center" id="gold">Persoon</p></td></tr>
        <tr><td><p align="center" id="gold"><?php echo ($fetch->prijs1v); ?></p></td><td><p align="center" id="gold"><?php echo ($fetch->
prijs1n); ?>
</p></td></tr>
        <tr><td><p align="center" id="gold"><?php echo ($fetch->prijs2v); ?></p></td><td><p align="center" id="gold"><?php echo ($fetch->
prijs2n); ?>
</p></td></tr>
        <tr><td><p align="center" id="gold"><?php echo ($fetch->prijs3v); ?></p></td><td><p align="center" id="gold"><?php echo ($fetch->
prijs3n); ?>
</p></td></tr>
    </table>
</center>    
Gewijzigd op 10/04/2012 18:09:53 door Kevin van oosterhout
 
PHP hulp

PHP hulp

01/10/2022 19:17:33
 
M grootveld

M grootveld

10/04/2012 18:09:56
Quote Anchor link
Dit is onleesbaar :O

Edit: Sorry, laat maar, de site deed even raar.
Gewijzigd op 10/04/2012 18:10:25 door M grootveld
 
Kevin van oosterhout

kevin van oosterhout

10/04/2012 18:10:48
Quote Anchor link
niet meer, ik zag het al
 
- SanThe -

- SanThe -

10/04/2012 19:06:03
Quote Anchor link
Leuke regel:
$toek = $_POST['tickets'] += $user->loten;

Hierdoor krijgen $toek en $_POST['tickets'] beiden de waarde van $_POST['tickets'] + $user->loten.
Gewijzigd op 10/04/2012 19:06:25 door - SanThe -
 
Tom Swinkels

Tom Swinkels

10/04/2012 19:10:44
Quote Anchor link
Hej Kevin!

Ik heb je script even nog wat aangepast, hopelijk werkt hij nu wel.
-Je gebruikt quotes op de verkeerde momenten.
-Verder kun je bij het oproepen van een variable beter de short tag van php gebruiken
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?.

Gr Tom.


<?php
if(!isset($_POST['tickets']))
{

    //??
}
else
{
    $toek = $_POST['tickets'] + $user->loten;

    if ($user->loten >= 1000)
    {

        $errorlot = "Je kunt geen loten meer kopen want je hebt er al:" . $user->loten .".";
    }

    else
    {
        if ($toek >= 1000)
        {

            $errorlot = "Je kunt niet meer zoveel loten kopen, want je hebt al:" . $user->loten .", En je mag er maar 1000.";
        }

        else
        {
            if($_POST['tickets'] == '')
            {

                $errorlot = "Je moet een aantal loten invullen!";
            }

            else
            {
                $kosten = $_POST['tickets'] * '1000';
                if($kosten > $user->contantq)
                {

                    $errorlot = "Je hebt niet genoeg geld!";
                }

                else
                {
                    mysql_query("UPDATE users SET loten = loten+" . mysql_real_escape_string($_POST['tickets']) . " WHERE usr = " . $user->usr);
                    mysql_query("UPDATE loterij SET verkocht = verkocht+" . mysql_real_escape_string($_POST['tickets']));
                }
            }
        }
    }    
}

?>

<h1 id="pagename">Welkom In Het Casino</h1>
<h2 align="center">Loterij</h2>
<p align="center" id="gold">Je kunt hier de tickets voor de loterij kopen. Bij de loterij kun je veel geld winnen. Het bedrag word hoger als er meer mensen inschrijven!</p>
<?php
$query
= mysql_query("SELECT * FROM loterij");
$fetch = mysql_fetch_object($query);
?>

<?php
if(isset($errorlot))
{

    echo($errorlot);
}

echo $_POST['tickets'];
?>


<p align="center" id="gold">Er zijn:<?=$fetch->verkocht;?> Tickets verkocht</p>
<p align="center" id="gold">Je hebt:<?=$user->loten;?> Tickets gekocht</p>
<p align="center" id="gold">Ieder ticket kost: &euro; 1.000,00</p>
<center>
    <form action="#" method="post">
        <label for="tickets"><p id="gold">Aantal Tickets:</p></label><input type="text" name="tickets" />
        <input type="submit" value="Koop" />
    </form>
    <table>
        <tr><td><p align="center" id="gold">Prijs</p></td><td><p align="center" id="gold">Persoon</p></td></tr>
        <tr><td><p align="center" id="gold"><?=$fetch->prijs1v;?></p></td><td><p align="center" id="gold"><?=$fetch->prijs1n;?></p></td></tr>
        <tr><td><p align="center" id="gold"><?=$fetch->prijs2v;?></p></td><td><p align="center" id="gold"><?=$fetch->prijs2n;?></p></td></tr>
        <tr><td><p align="center" id="gold"><?=$fetch->prijs3v;?></p></td><td><p align="center" id="gold"><?=$fetch->prijs3n;?></p></td></tr>
    </table>
</center>    
 
Jeroen VD

Jeroen VD

10/04/2012 19:17:47
Quote Anchor link
zullen we het standaard rijtje maar weer eens opdreunen?

- juiste quotes gebruiken
- foutafhandeling toepassen
- voor zover ik weet is <center> weg
- geen asterix (*) voor selecteren
- hoezo vermenigvuldig jij met een string (regel 33)
- wtf is de bedoeling van regel 1
- sinds wanneer is de shorttag beter? phphulp herkent m niet als php
- verder had santhe ook nog een opmerking, kijk daar eens naar!
 
Kevin van oosterhout

kevin van oosterhout

10/04/2012 19:33:05
Quote Anchor link
oeps de is was mijn foutje, over het hoofd gezien.
@jeroen vd: centertags zijn tijdelijk voor het overzicht.

ik gebruik al een tijd geen shorttags meer.

-wtf is de bedoeling van regel 1: die weet ik niet

- juiste quotes gebruiken
- foutafhandeling toepassen

- hoezo vermenigvuldig jij met een string (regel 33): het moet 1000 keer de post zijn aangezien het de prijs is.

ben nog maar een beginner maar alles komt spelenderwijs.

het werkt nu, ik ga nu de rest bouwen. heel erg bedankt iedereen. tips zijn altijd welkom.
Gewijzigd op 10/04/2012 19:36:08 door kevin van oosterhout
 
Jeroen VD

Jeroen VD

10/04/2012 19:40:03
Quote Anchor link
- juiste quotes gebruiken
http://www.phphulp.nl/php/tutorial/php-algemeen/correct-quoten/772/
- foutafhandeling toepassen
http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/correcte-foutenafhandeling/2043/
- voor zover ik weet is <center> weg
- geen asterix (*) voor selecteren
http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/geheugenefficint-programmeren/2044/
- hoezo vermenigvuldig jij met een string (regel 33)
je hebt quotes om 1000 heenstaan, hiermee bedoel je dat je een waarde met tekst wil vermenigvuldigen. dat is gewoonweg niet goed. ik zeg toch ook niet 6 = 3 * auto?
- wtf is de bedoeling van regel 1
weghalen dus
- sinds wanneer is de shorttag beter? phphulp herkent m niet als php
- verder had santhe ook nog een opmerking, kijk daar eens naar!

beter goed leren, dan straks slechte dingen afleren dat het werkt betekent nog niet dat het goed is.
 
Kevin van oosterhout

kevin van oosterhout

10/04/2012 19:42:11
Quote Anchor link
inderdaad daar moet ik je gelijk in geven
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.