• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

das script rechnet falsch

Status
Für weitere Antworten geschlossen.
I

incendium

Guest
wieso funktioniert dieses cript nicht. ich hab in der tabelle, für metall 2000 gesetzt. jetzt wenn ich die $rohstoffe(500) abziehe, kommt immer null heraus. wieso kommt nicht 1500 heraus?!?

PHP:
<?php
session_start();
?>

<?php

if(!isset($_SESSION["username"]))
   {
   echo "Sie haben keine Berechtigung diese Seite zu sehen, da sie nicht eingeloggt sind.";
   exit;
   }
else{
mysql_connect('localhost','Kevin','++++');
mysql_select_db('homepage');
$rohstoffe = 500;
$abfrage = "SELECT * FROM login";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$metallmine = $row->metallmine;
$user = $row->username;
$metall = $row->metall;
if(($rohstoffe = $metall) OR ($rohstoffe < $metall ) )
{
$metall = $metall - $rohstoffe;
$metallmine ++;
$sql = "UPDATE login SET metallmine = '".$metallmine."' WHERE username = '".$_SESSION['username']."'"; 
$sqla = "UPDATE login SET metall = '".$metall."' WHERE username = '".$_SESSION['username']."'"; 
$update = mysql_query($sql);
$updateb = mysql_query($sqla);
if ((mysql_query($sql)) AND (mysql_query($sqla))) { echo 'Die Metallmine wurde ausgebaut.'; echo "  <a href=\"start.php\">WEITER</a> "; } 
     
}
else{
echo " Sie haben nicht genug Rohstoffe!";}
}

?>
 
glaube ich nicht, aer ich kanns ma versuchen. kann wir noch jemand helfen?!?
Das ist ein üblicher Anfängerfehler.
"=" ist der Zuweisungsoperator. "==" ist der Vergleichsoperator.
Beispiel:
PHP:
$Var1 = 2;
$Var2 = 5;

if($Var1 = $Var2) { //$Var1 ist jetzt 5, da $Var1 der Wert von $Var2 zugewiesen wurde.
 
    //...

}
  
if($Var1 == $Var2) { //Vergleicht, ob $Var1 gleich $Var2 ist.

    //...

}
 
Hallo,

um das ganze noch ein wenig zu vervollständigen, dahinter steckt, dass
PHP:
$a = $b
ansich eine Funktion ist, nämlich = ($a, $b), die den Rückgabewert $b hat. Somit ist das ganze eine gültige Abfrage, die z.B. gerne bei MySQL und mysql_fetch_row eingesetzt wird.

PHP:
while ($row = mysql_fetch_row(...))
Sobald mysql_fetch_row false liefert wird abgebrochen.

Noch ein Bsp. mit Zahlen:
PHP:
<?php

        $a = $b = 3;
        $c = 0;

        if ($a = $c) {
                echo "This will never be executed\n";
        } else {
                echo "This always\n";
        }

        if ($a = $b) {
                echo "This will always be executed\n";
        } else {
                echo "This never\n";
        }
?>
N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben