UPDATE übernimmt Daten nicht

e-arty

Mitglied
Guten Morgen alles zusammen.

Komm einfach nicht weiter. Die Daten werden beim Befehl UPDATE nicht in die Datenbank geschrieben. Vielleicht sieht einer von euch den Fehler. Vielen Dank.

PHP:
<html>
<title>Benutzer bearbeiten</title>
<head>
<script language="javascript">
<!---
function closepopup()
{
opener.location.reload();
window.close();
}
//-->
</script> 
</head>
<?php
require ("database.php");
$userneu = $_REQUEST['Username'];
$passneu = md5 ($_REQUEST['Kennwort']);
$nnameneu = $_REQUEST['Nachname'];
$vnameneu = $_REQUEST['Vorname'];
$sql = mysql_query("SELECT * FROM Verwaltung WHERE Id = '$id'");
$sql2 = "UPDATE Verwaltung SET Username='" . $userneu. "', Kennwort='" . $passneu . "', Nachname='" . $nnameneu . "', Vorname='" . $vnameneu . "'WHERE Id = '$id'";
while ($row = mysql_fetch_array($sql))
{
   $pass = $row["Kennwort"];
   $user = $row["Username"]; 
   $nname = $row["Nachname"]; 
   $vname = $row["Vorname"];
}
if($_REQUEST['sure']) 
{
mysql_query($sql2);
echo "<span style=\"color:green;\">Benutzer erfolgreich bearbeitet.</span>";
echo '<a href="*" onClick="closepopup()"><p>Schliessen</a>';
exit;
}
if($_REQUEST['none']) 
{
echo "<span style=\"color:green;\">Benutzer nicht bearbeitet.</span>";
echo '<a href="Schliessen" onClick="closepopup()"><p>Schliessen</a>';
exit;
}
?>
<p>
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post"> 
<font face="Arial" size="2" color="#0064C8">Soll der Benutzer <?php echo $vname?> <?php echo $nname?> mit der Id: <?php echo $id?> wirklich bearbeitet werden?</font><br><br>
<table bgcolor="#f0f0f0" border="1" cellspacing="1" cellpadding="3" rules="groups" > 
<tr>
<td>Username: </td>
<td><input type="text" name="Username" value="<?php echo $nname?>" size="20"></td>
</tr>
<tr> 
<td>Neues Kennwort:</td> 
<td><input type="password" name="Kennwort" size="20"></td>
</tr>
<tr> 
<td>Nachname:</td> 
<td><input type="text" name="Nachname" value="<?php echo $nname?>" size="20"></td>
</tr>
<tr> 
<td>Vorname:</td> 
<td><input type="text" name="Vorname" value="<?php echo $vname?>" size="20"></td>
</tr>
</table>
<p>
<p>
<input type="submit" name="sure" value="Bearbeiten">
<input type="submit" name="none" value="Verwerfen">
</form>
<a href="Schliessen" onClick="closepopup()"><p>Schliessen</a>
</html>
 
Die id wird wohl nicht gefunden, weil du sie nicht übergibst.

Hier mal ein schönes Query:
PHP:
$sql2 = "UPDATE `Verwaltung` SET `Username`='".$_REQUEST['Username']."', `Kennwort`='".md5 ($_REQUEST['Kennwort'])."', `Nachname`='".$_REQUEST['Nachname']."', `Vorname`='".$_REQUEST['Vorname']."' WHERE `Id` = '".$id."'";
// und wo kommt $id her?
 
Da dies ein Popup ist, wird die ID aus der vorherigen Seite übergeben (per Javascript). Die ID wird mir auch hier richtig angezeigt:

PHP:
<font face="Arial" size="2" color="#0064C8">Soll der Benutzer <?php echo $vname?> <?php echo $nname?> mit der Id: <?php echo $id?> wirklich bearbeitet werden?</font>
 
Hmm, wenn ich die WHERE-Bedingung weglasse, funktioniert es, nur aktualisiert er mir dann alle Daten.
PHP:
$sql2 = "UPDATE `Verwaltung` SET `Username`='".$_REQUEST['Username']."', `Kennwort`='".md5 ($_REQUEST['Kennwort'])."', `Nachname`='".$_REQUEST['Nachname']."', `Vorname`='".$_REQUEST['Vorname']."' ";

Dann wird die ID wohl doch nicht richtig weitergegeben.
 
Hiermit wird die ID an das Popup übergeben.
PHP:
<script language='javascript'>
<!--
 function aenderer(id)
 { 
  window.open('aenduser.php?id='+id,'aenderer','width=600,height=350'); 
 }
//-->
</script>
<input type="submit" name="aend" value="Ändern" onClick="aenderer(<?php echo $id?>)">

Nur frag ich mich warum sie mir hier ausgegeben wird und beim Update nicht

PHP:
<font face="Arial" size="2" color="#0064C8">Soll der Benutzer <?php echo $vname?> <?php echo $nname?> mit der Id: <?php echo $id?> wirklich bearbeitet werden?</font>
 
Dann klcikst du ja sicher nochmal auf ja oder nein oder sowas, wenn du diese Frage stellst. Und wenn du dann auf nen Link klickst, dann musst du die ID mit übergeben!
 
na wenn du es per lLink vershickst einfach url.php?id=$id
oder eben im form tag wenn du es per Formular abschickst!
 
Zurück