Jambo!
so hab das nun mal so gemacht. Aber nun meine Frage noch die finde ich die ID raus, dass die dann auch die richtige übergeben wird? Wisst Ihr was ich meine?
Eine ID solltest Du in der Datenbank finden; hat Auge ja schon geschrieben.
Hier mal die edit_daten.php
Das ist dasjenige Formular, in dem man die neuen Daten eingeben soll, richtig? Das heißt, es wurde bereits in einem anderen Formular der betreffende Datensatz ausgewählt und dessen ID (wie von Auge beschrieben) an dieses übergeben.
<?php
//Konfigurations Datei einbinden
include "config.php";
if(!empty($_POST))
{
$sql = "INSERT UPDATE name
Hier stimmt was nicht: Verwende entweder "INSERT", um einen neuen Eintrag hinzuzufügen, oder "UPDATE", um einen vorhandenen zu bearbeiten, aber nicht beide zusammen. Im vorliegenden Fall ist "UPDATE" die richtige Wahl, denn das "INSERT"-Formular hast Du ja schon.
(
name,)
VALUES
(
'" . addslashes($_POST["name"]) . "',
)
";
mysql_query($sql) OR die(mysql_error());header("Location: http://www.meineseiteimnetz.de");
exit;
}
?>
Sorry, aber es wird ein bißchen aufwendiger. ;-)
Als erstes mußt Du checken, wo der Benutzer herkommt; es gibt 3 Möglichkeiten:
0. Er hat direkt dieses Formular angefordert, und $_POST ist leer.
1. Er kommt vom Auswahlformular, und $_POST enthält die ID des Datensatzes, der geändert werden soll.
2. Er hat dieses Formular bereits ausgefüllt, und $_POST enthält die ganzen neuen Daten, die gespeichert werden sollen.
Entsprechend die Reaktion:
0. Eine Meldung ausgeben, daß erst in dem anderen Formular ein Eintrag ausgewählt werden muß (am besten mit Link), oder gleich eine Umleitung.
1. Mittels "SELECT" den gewählten Eintrag aus der Datenbank holen und das Formular anzeigen; dabei alle Felder mit den entsprechenden Daten vorbelegen (so wie bei dem Namen unten). Hierbei nicht die ID vergessen, die muß auch wieder mitgegeben werden!
2. Mittels "UPDATE" die neuen Daten speichern und eine Juhuu-es-hat-geklappt-Meldung ausgeben (oder eine Fehlermeldung, wenn's mal nicht klappt).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Namen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Stil5 {font-size: 14px; font-weight: bold; }
-->
</style>
</head><body>
<form name="form1" method="post" action="edit_daten.php">
<table width="80%" border="0">
<tr>
<td width="23%" height="29"><span class="Stil5">Name:</span></td>
<td width="77%"><input name="name" type="text" id="name" value="<?php echo $_data['name'] ?>" size="30"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Submit" value="eintragen"></td>
</tr>
</table>
</form>
</body>
</html>
Ist an der Vorgehensweise noch was unklar? Oder hängt es an SQL oder PHP?
Viele Grüße vom Længlich