Hallo noch einmal,
und dann zu der Frage, wie kann man einen vorhandenen Datensatz bearbeiten.
Ich habe das Adressbuch-Beispiel von Axel Pratzner genommen und nachgestellt. Siehe http://www.php-kurs.com/adress…ammieren-mit-geodaten.htm Funktioniert gut - bis auf den Geolink, da wird nichts angezeigt. Sei's drum.
Ich habe das Formular zum Anlegen eines neuen Datensatzes der Übersicht halber ein wenig verkürzt und will es zum Bearbeiten eines vorhandenen Datensatzes umfunktionieren. Oben drüber lasse ich mir die vorhanden Werte anzeigen.
Aber dann bekomme ich auch wieder diese Fehlermeldung:
Notice: Undefined index: aktion in C:\xampplite\htdocs\adressbuch\adresse-bearbeiten.php on line 62
Was tun?
Meine Grundidee war, die ausgelesenen Werte als Vorgabewert in das Formular zu setzen in der Art ... value="'.$vorname.'" ... etc. und Änderungen durch den User dann mit einem zusammengebastelteten UPDATE 'adressbuch" SET ... String wieder zurückzuschreiben.
Ist das der richtige Weg?
Grüße
Reg123
<?php
$id = $_GET['id'];
$sql = " SELECT * FROM adressbuch WHERE id='$id' ";
require_once ('konfiguration.php');
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
$nachname = $zeile['nachname'];
$vorname = $zeile['vorname'];
$telefon = $zeile['telefon'];
$email = $zeile['email'];
}
mysql_free_result( $db_erg );
echo '<table border="1">';
echo '<tr>';
echo '<td>';
echo "Name:";
echo '</td>';
echo '<td>';
echo $nachname;
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td>';
echo "Vorname:";
echo '</td>';
echo '<td>';
echo $vorname;
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td>';
echo "Telefon:";
echo '</td>';
echo '<td>';
echo $telefon;
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td>';
echo "E-Mail:";
echo '</td>';
echo '<td>';
echo $email;
echo '</td>';
echo '</tr>';
echo "</table>";
if ( $_GET['aktion'] == "speichern" )
{
$nachname = $_GET['nachname'];
$vorname = $_GET['vorname'];
$telefon = $_GET['telefon'];
$email = $_GET['email'];
$sql = "INSERT INTO adressbuch SET ";
$sql .= " nachname = '$nachname', ";
$sql .= " vorname = '$vorname', ";
$sql .= " telefon = '$telefon', ";
$sql .= " email = '$email', ";
// Zur Kontrolle lassen wir uns den zusammengebauten SQLBefehl
// auf dem Bildschirm anzeigen
echo "<hr />";
echo "SQL: $sql";
echo "<hr />";
require_once ('konfiguration.php');
$db_erg = mysql_query($sql)
or die("Anfrage fehlgeschlagen: " . mysql_error());
echo '<h1>Adresse wurde speichert</h1>';
echo '<a href="auflistung.php">Auflistung anzeigen</a>';
exit;
}
?>
<form name="" action="" method="GET" enctype="text/html">
<p>Nachname:<br />
<input type="text" name="nachname" value="'.$nachname.'" size="60" />
</p>
<p>Vorname:<br />
<input type="text" name="vorname" value="" size="60" />
</p>
<p>Telefon:<br />
<input type="text" name="telefon" value="" size="25" />
</p>
<p>EMail:<br />
<input type="text" name="email" value="" size="60" />
</p>
<input type="hidden" name="aktion" value="speichern" />
<input type="Submit" name="" value="speichern" />
</form> ';
Alles anzeigen