Datenbankveränderung

Donni

Mitglied
Hi @all,

ich habe mal ein kleines Problem. Irgedwie ist bei mir im Formular was falsch denke ich. Ich habe ein Strikt um Punkte vergeben bzw. abziehen zu können gemacht. Einmal eine HTML datei mit den Formular und eine PHP für die änderung. Hier erstmal die Datein

HTML:
<form action=punkteaenderung.php method=post> 
Haus: <select name="haus" size="1">
<option name="gruppe1">Gruppe1/option>
<option value="gruppeb">Gruppe 2</option>
<option value="gruppec">Gruppe 3</option>
<option value="grupped">Gruppe 4</option>
</select><br>
Punkte: <input type=text name=stand><br>
Art: <select name="rechnung" size="1">
<option value="Plus">Plus</option>
<option value="Minus">Minus</option>
</select>
<br>
<input type=submit value="Berechnen"> 
</form>
PHP:
$conn = mysql_connect($host,$user,$sqlpw) or die("Keine Verbindung mit der Datenbank");   //mit MySQL verbinden
mysql_select_db($db,$conn);

$abfrage= ("SELECT Punkte FROM HP WHERE Haus='$haus'");
$erg = mysql_query($abfrage,$conn);

$points = mysql_fetch_array($erg);

echo "Punkte alt: ",$points["Punkte"],"<br>";

if($rechnung=='Plus'){
$stand=$points["Punkte"]+$neu;
echo "+ $neu <br>";
echo "Punkte neu: ",$stand;
$aendern = "UPDATE HP Set Punkte = '$stand' WHERE Haus = '$haus'";
$update = mysql_query($aendern);
}if ($rechnung=='Minus'){
$stand=$points["Punkte"]-$neu;
echo "- $neu <br>";
echo "Punkte neu: ",$stand;
$aendern = "UPDATE HP Set Punkte = '$stand' WHERE Haus = '$haus'";
$update = mysql_query($aendern);
}
mysql_close($conn);

Die Tabelle in der Datenbank sieht wie folgt aus:

Haus | Punkte
----------------------
gruppea | 0
gruppeb | 0
gruppec | 0
grupped | 0

Ich habe das gefühl das ich ein Fehler in der HTML datei habe bei den Häusern, weiss es aber nicht, weshalb ich euch frage. Ich hoffe mir kann einer helfen.

MfG
 
Hi,

ich würde erstmal damit anfangen meine HTML Attribute korrekt zu setzen wie z.B. aus
HTML:
<form action=punkteaenderung.php method=post>

das machen:

HTML:
<form action="punkteaenderung.php" method="post">
 
Nungut das stimmt schon, jedoch liegt darin nicht der Fehler den ich habe, das script funtioniert auch nach änderung im kompketten script nicht. Ich habe in der php datei die Werte $haus, $rechnung und $stand ausgeben lassen, nur bleiben diese leer. Woran kann es liegen das nichts übergeben wird?
 
Ok das funktioniert doch noch nicht so wie ich das möchte.

Mein Neues Problem besteht nun darin das ich keine Werte der Datenbank benutzen kann.

ich rufe das so ab
$abfrage= ("SELECT Punkte FROM HP WHERE Haus='$h'");
$erg = mysql_query($abfrage,$conn);

$points = mysql_fetch_array($erg);

wenn ich nun $points['Punkte'] abfrage und ausgebe kommt kein Wert dabei heraus.

Ebenso wird nichts in die Datenbank geschrieben. Ich habe ja nun den übergebenen Wert und daraus endsteht der Wert $stand der in die Datenbank geschrieben werden soll nur wird nichts übergeben.

Kann das sein das ich hier auch etwas anderes verwenden muss? Die übergebenen Variablen habe ich nun ja mit $_POST erweitert und das geht seitdem. Auf meinen alten Server lief das eigendlich so schonmal nur irgnedwie scheint ne andere PHP Version auf den neuen zu sein. Wäre schön wenn mir einer helfne kann.
 
Zurück