Hallo zusammen,
ich habe mir folgendes Formular gebastelt, mit dem man Namen und Telefonnummern in eine Datenbank schreiben soll.
Das Eintragen und Löschen klappt, nur das Ändern leider nicht.
Wenn man einen Eintrag ändern will, bekommt man immer die Fehlermeldung:
Notice: Undefined index: 10 (Zehnter Eintrag, der z.B. geändert werden soll).
ich habe mir folgendes Formular gebastelt, mit dem man Namen und Telefonnummern in eine Datenbank schreiben soll.
Das Eintragen und Löschen klappt, nur das Ändern leider nicht.
Wenn man einen Eintrag ändern will, bekommt man immer die Fehlermeldung:
Notice: Undefined index: 10 (Zehnter Eintrag, der z.B. geändert werden soll).
HTML:
...
<script type="text/javascript">
function send(action,id) {
if(action==0) {
if (confirm("Neuen Namen eintragen?"))
document.form.action.value = "insert";
else
return;
}
else if(action==1)
document.form.action.value = "update";
else if(action==2) {
if (confirm("Name mit id " + id + " löschen?"))
document.form.action.value = "delete";
else
return;
}
document.form.id.value = id;
document.form.submit();
}
</script>
<body>
<?php
/* Datenbank-Verbindungsdaten */
$mysql_connect = mysql_connect($host, $user, $password);
$mysql_select_db = mysql_select_db($database);
if (!$mysql_connect) {
?>
<p style="color:#f00;">Die Verbindung zur Datenbank konnte nicht hergestellt werden!</p>
<?php
exit();
}
?>
<?php
/* Aktionen */
if(isset($_POST["action"])) {
/* Neuer Eintrag */
if($_POST["action"]=="insert") {
$select = "INSERT INTO names (name, phone) VALUES ('" . $_POST["name"][0] . "', '" . $_POST["phone"][0] . "')";
mysql_query($select);
header("Location: input.php"); /* Browser umleiten */
}
/* Eintrag ändern */
else if($_POST["action"]=="update") {
$id = $_POST["id"];
$select = "UPDATE names SET name = '" . $_POST["name"][$id] . "', phone = '" . $_POST["phone"][$id] . "' WHERE id = '$id'";
mysql_query($select);
}
/* Eintrag löschen */
else if($_POST["action"]=="delete") {
$select = "DELETE FROM names WHERE id = '" . $_POST["id"] . "'";
mysql_query($select);
}
}
?>
<!-- Formular -->
<form name='form' action='index.php' method='post'>
<input name='action' type='hidden'>
<input name='id' type='hidden'>
<table border="1">
<tr>
<td>id</td>
<td>Name</td>
<td>Telefonnummer</td>
</tr>
<tr> <!-- Neuer Eintrag -->
<td><em>wird automatisch vergeben</em></td>
<td><input name='name[0]' size='50'></td>
<td><input name='phone[0]' size='50'></td>
<td><a href='javascript:send(0,0);'>eintragen</a></td>
</tr>
<?php
$select = "SELECT id, name, phone FROM names ORDER BY id";
$result = mysql_query($select);
if (!$result) {die('Fehler: ' . mysql_error());}
while ($dataset = mysql_fetch_assoc($result)) {
?>
<tr> <!-- Einträge anzeigen -->
<td><?php echo $dataset['id']; ?></td>
<td><input name='name[$id]' value='<?php echo $dataset['name']; ?>' size='50'></td>
<td><input name='phone[$id]' value='<?php echo $dataset['phone']; ?>' size='50'></td>
<td><a href='javascript:send(1,<?php echo $dataset['id']; ?>);'>ändern</a> | <a href='javascript:send(2,<?php echo $dataset['id']; ?>);'>löschen</a></td>
</tr>
<?php
}
?>
</table>
</form>
</body>
</html>
Zuletzt bearbeitet: