Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Update Probleme, Erledigt (https://www.gegen-bilderklau.net/thread.php?threadid=165777)


Geschrieben von kjomi am 11.12.2009 um 19:11:

  Update Probleme, Erledigt

Ich bin momentan dabei einen Hof aufzubauen, doch das Script zum Kauf vom Futter funktioniert nicht richtig.
Ich habe zwei Codes, einmal futterkauf und buyfutter (Formular und Aktion).

futterkauf.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php

include("datenbank.php");
$id "$_GET[id]";

$Ergebnis mysql_query"SELECT * FROM user WHERE Username='$Username' AND Geld > 0");
if (@mysql_num_rows($Ergebnis) == 0) {
echo "Du besitzt kein Geld!";
}

else {
$Data mysql_fetch_array$Ergebnis );

echo "

Willst du das Futter wirklich kaufen? 
<br><form action="buyfutter.php?id=$Data[ID]" method="post">
<input type="text" name="Anzahl" value="Wie viel Futter willst du kaufen?">
<input type="submit" value="Ja">
</form> 
"; }
?>

buyfutter.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
<?php
$Futterpreis="5";
$Anzahl $_POST["Anzahl"];
$id $_GET["id"];
include("datenbank.php");


$Ergebnis mysql_query"SELECT * FROM user where Username='$Username'");
if (@mysql_num_rows($Ergebnis) == 0)
{
echo "Interner Fehler.";
}
else
{
$aendern_Geld "UPDATE user SET Geld = '$Geld' - '$Futterpreis' * '$Anzahl' WHERE Username = '$Username'";
$update_Geld mysql_query($aendern_Geld);

$aendern_Futter "UPDATE user SET Futter = '$Futter' + '$Anzahl' WHERE Username = '$Username'";
$update_Futter mysql_query($aendern_Futter);

echo"Das gewünschte Futter wurde dir gutgeschrieben.";
}
?>

Es wird ausgegeben "Das gewünschte Futter wurde dir gutgeschrieben." und danach habe ich auch das gewünschte Futter. Doch das Geld danach ist immer im Minusbereich. Z.B. wenn ich 1000v€ habe und dann 5 mal Futter kaufen will, habe ich im Endeffekt -25v€.

Kann mir vielleicht jemand helfen?

lg



Geschrieben von kjomi am 11.12.2009 um 21:05:

 

Nein, das ist nicht das Problem. Das Geld wird nicht vom Geldzustand vorher abgezogen, sondern von 0.



Geschrieben von Stelo am 12.12.2009 um 11:57:

 

php:
1:
$aendern_Geld "UPDATE user SET Geld = '$Geld' - '$Futterpreis' * '$Anzahl' WHERE Username = '$Username'";

So weit ich das sehe, hast du $Geld doch nie definiert. Du meinst mit "$Geld" doch sicher die Spalte "Geld" in der Tabelle der DB, oder? Augenzwinkern

Dann nimm einfach die Hochkommas und das Dollarzeichen weg, dann müsste es funktionieren, denke ich. smile

Und damit wir, falls das nicht funktionieren sollte, und wir den Fehler erkennen können, kannst du ja mal hinter mysql_query() noch "OR die(mysql_error());" einfügen! Augenzwinkern



Geschrieben von kjomi am 12.12.2009 um 12:31:

 

Ich habe jetzt das '$' weggelassen und es funktioniert. Danke Zunge raus


Forensoftware: Burning Board, entwickelt von WoltLab GmbH