Mysql berekening

Status
Niet open voor verdere reacties.

jens121

Gebruiker
Lid geworden
29 jan 2010
Berichten
23
PHP:
<form method="post" action="members.php">
    Koop stenen : 
    <input type="text" name="steen"/>
    <input type="submit" name="submit" value="koop" />
</form>
<form method="post" action="members.php">
    
    
</form>
<?
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        if (isset($_POST[submit])) {
            $steen = $_POST[steen];
            $prijssteen = 5;
            $goed = ($row[geld] - ($steen * $prijssteen));
        
            $sql = "UPDATE members SET geld='$goed' WHERE username='$_SESSION[username]'"; 
                  $result = mysql_query($sql); 

            
        } elseif (isset($_POST[submit2])) {
        $goed = ($row[geld] + 20);
        
            $sql = "UPDATE members SET geld='$goed' WHERE username='$_SESSION[username]'"; 
                  $result = mysql_query($sql); 

        }
    }
?>
Ik heb het volgende probleem = wanneer ik submit2 klik krijgt de username +20 geld erbij maar ik wil bij submit dat hij eerst de input (steen) leest (hoeveel steen hij koopt) endan dat maal 5 (prijs van steen) Ik heb dit geprobeerd maar het lukt niet met deze code , kan iemand mij helpen?
 
Laatst bewerkt door een moderator:
Paar dingen die niet kloppen:
  • "submit2" bestaat niet en kan dus nooit waar zijn. de onderliggende code wordt dus nooit uitgevoerd.
  • de juiste manier om naar een element in een array te verwijzen is $arraynaam["keynaam"], dus niet $_POST[steen], maar $_POST["steen"]
  • de $row array bestaat niet terwijl je er wel naar verwijst. Het is, in dit geval, handiger om direct in de sql te rekenen (update X set geld = geld + 20 where Y)
Een aantal van deze zaken kun je zien als je fouten en notices laat weergeven. Zo te zien heb je dat in de configuratie uitgezet, maar je kunt het ook handmatig voor dit document aanzetten door bovenaan de regels
PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
te zetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan