Datensatz in DB ändern

Subwoover

Erfahrenes Mitglied
Jo ich hab ein Formular, das eingentlich zum ändern bon Datensätzen dienen soll, jedoch ändert sich NICHTS! warum???

PHP:
<html>
<head><title>hi</title></head>
<body>
<form action="<?$PHP_SELF?>" method="post" name="submit">
<input type="text" name="name">
<input type="text" name="pw">
<input type="text" name="id">
<input type="submit">
</form>




<?
    $connect = mysql_connect("localhost","es","es11");
    mysql_select_db("es",$connect);
        $sql = "UPDATE login SET username='$name',password='$pw' WHERE id=$id";


    if (!empty($submit)) {

    $result = mysql_query($sql);

    echo "Thank you! Information updated.\n";

}
?>

</body>
</html>

Könnte mir da wer helfen? Wäre wirklich dringend, dass ich das hinbekomme :)
 
Du musst $PHP_SELF auch "ausgeben" .... so:

PHP:
<form action="<? echo $PHP_SELF; ?>" method="post" name="submit">


Dunsti
 
Einfacher geht´s per
PHP:
<form action="<?=$PHP_SELF?>" method="post" name="submit">
;)

Außerdem solltest du bei deinem Query auch $id in einfache Anführungszeichen setzen.
 
Hmmm ändert alles nichts... keine Chance er änder leider gar nichts!

Kann das mal wer ausprobieren bitte?
Vielleicht gehts ja wirklich nicht, oder nur bei mir nicht?
 
probiers mal so:

PHP:
<html>
<head><title>hi</title></head>
<body>
<?
if (isset($submit)) {
  $connect = mysql_connect("localhost","es","es11");
  mysql_select_db("es",$connect);
  $sql = "UPDATE login SET username='$name',password='$pw' WHERE id='$id'";
  if (mysql_query($sql)) {
    echo "Thank you! Information updated.\n";
  } else {
    echo mysql_errno() . " - " . mysql_error();
  }
} else {
?>
<form action="<? echo $PHP_SELF; ?>" method="post">
<input type="text" name="name">
<input type="text" name="pw">
<input type="text" name="id">
<input type="submit" name="submit">
</form>
<?
}
?>

</body>
</html>

is jetzt net getestet, sollte aber so funktionieren


Dunsti
 
Joooo funktioniert ;)
Nur wie kann ich das ganze jez noch folgendermaßen verschönern:

Indem ich bei dem Formular statt dem feld für die ID einfach ein menü mache in dem die aktuellen username-werte aus der db eingetragen werden?
also der admin (user) in einem dropdwonmenü den user den er ändern will aussuchen kann???
 
na komm .... so schwierig ist das doch net ...... :rolleyes:

PHP:
<html>
<head><title>hi</title></head>
<body>
<?
if (isset($submit)) {
  $connect = mysql_connect("localhost","es","es11");
  mysql_select_db("es",$connect);
  $sql = "UPDATE login SET username='$name',password='$pw' WHERE id='$id'";
  if (mysql_query($sql)) {
    echo "Thank you! Information updated.\n";
  } else {
    echo mysql_errno() . " - " . mysql_error();
  }
} else {
?>
<form action="<? echo $PHP_SELF; ?>" method="post">
<select name="id">
<?
$result=mysql_query("SELECT id, username FROM login");
while ($row=mysql_fetch_array($result)) {
   echo "<option value=\"$row['id']\">$row['username']</option>";
} ?>
</select>
<input type="text" name="pw">
<input type="submit" name="submit">
</form>
<?
}
?>

</body>
</html>

aber Achtung: wenn Du auf Submit klickst, und hast kein PW eingegeben, wird von dem gewählten User das PW gelöscht !!!

is wieder net getestet ... müsste aber funzen ;)


Dunsti
 
Zurück