Ist mir fasst Peinlich ! DB eintrag ändern !

DJmension

Mitglied
die änderung der Daten via Formular fgunktioniert nicht , ich bin voll am durchdrehen weil ich den Fehler nicht finden kann. Was mache ich falsch ?


Formular
Code:
<form action="action_aendern.php" method="POST">
<input type="hidden" name="id" value="<?= $_GET['id'];?>">

<td align="center"><input class="input" type="text" name="Level" size="5" value="<?= $_GET['Level'];?>"</td>
<td align="center"><input class="input" type="text" name="Name" size="15" value="<?= $_GET['Name'];?>"</td>

<td align="center"><input class="input" type="text" name="IDnum" size="12" value="<?= $_GET['IDnum'];?>"</td>
<td align="center"><input class="input" type="text" name="Beute" size="13" value="<?= $_GET['Beute'];?>"</td>
<? 
echo '<td align="center"><select class="input" size="1" name="erwischt">';
include("dbconnect.php");
$query = "SELECT username FROM login_s20";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

while($row = mysql_fetch_assoc($result)){ 
$selected = '';
if( $row['username'] == $_GET['erwischt'] )
$selected = 'selected';
echo '<option '.$selected.' value="'.$row['username'].'">'.$row['username'].'</option>'; 
} 
  
echo '</select></td>';
?>

<td align="center"><input class="input" type="text" name="Energie" size="10" value="<?= $_GET['Energie'];?>"</td>
<td class="uhr" align="center"><input class="input" type="text" name="Datum" size="10" value="<?= $_GET['Datum'];?>" <br> <input class="input" type="radio" value="<?=date("d.m.Y")?>" name="Datum">Atuelles Datum</td>
<td class="uhr" align="center"><input class="input" type="text" name="Zeit" size="5" value="<?= $_GET['Zeit'];?>" <br> <input class="input" type="radio" value="<?=date("H:i")?>" name="Zeit">Atuelle Urzeit</td>
<td align="center"><p align="center"><input class="input" type="submit" value="Ändern"></p></td>
</tr>
</form>

action

Code:
<?
include("dbconnect.php");

$id = $_POST["id"];

$Level = $_POST["Level"];
$Name = $_POST["Name"];
$IDnum = $_POST["IDnum"];
$Beute = $_POST["Beute"];
$erwischt = $_POST["erwischt"];
$Energie = $_POST["L.-Energie"];
$Datum = $_POST["Datum"];
$Zeit = $_POST["Zeit"];

$aendern = "UPDATE goldie_s20 SET Level = '$Level', Name = '$Name', IDnum = '$IDnum', Beute = '$Beute', erwischt = '$erwischt', L.-Energie = '$Energie', Datum = '$Datum', Zeit = '$Zeit' WHERE id = '$id'";
$update = mysql_query($aendern);
mysql_close($connect);


?>

ich kann eingeben was ich will nichts passiert, Datenbanknamen stimmen alle die User drehen durch , es wär echt klasse wenn einer schnell antworten könnte hoffentlich ist einer da der sich auskennt.
 
Zuletzt bearbeitet:
also ich würds erstmal anders schreiben:

PHP:
<?
include("dbconnect.php");

$id = $_POST['id'];

$Level = $_POST['Level'];
$Name = $_POST['Name'];
$IDnum = $_POST['IDnum'];
$Beute = $_POST['Beute'];
$erwischt = $_POST['erwischt'];
$Energie = $_POST['L.-Energie'];
$Datum = $_POST['Datum'];
$Zeit = $_POST['Zeit'];

$aendern = "UPDATE 
goldie_s20 
SET 
Level = '".$Level."', 
Name = '".$Name."', 
IDnum = '".$IDnum."', 
Beute = '".$Beute."', 
erwischt = '".$erwischt."', 
L.-Energie = '".$Energie."', 
Datum = '".$Datum."', 
Zeit = '".$Zeit."' 
WHERE 
id = '".$id."' ";

$update = mysql_query($aendern);
mysql_close($connect);


?>

Vielleicht klappts ja so.
 
Als erstes bietet sich da immer mysql_error() an...das ist weitaus schneller als Foren-User :)

Aufs Erste fällt mir nur L.-Energie auf...schreibe das mal so im Query:
Code:
`L.-Energie`

Alles, was nicht Buchstabe, Ziffer, _ oder $ ist in Namen, gilt als Sonderzeichen.
Enthalten Namen ein Solches, müssen sie maskiert werden.
 
Zurück