Einzelnen Beitrag anzeigen
Alt 12.12.2017, 06:39   #1
NorbertK
MOF User
MOF User
Standard Probleme mit MySQL-Update

Hallo allerseits,

ich habe ein kleineres Problem:
In einer Anwendung habe ich ein PHP-Script, das mir Daten aus einer MySQL-Datenbank anzeigt. Um die Daten editieren zu können, gebe ich sie in <Input>-tags aus.

Das PHP-Script enthält einige Zeilen, die später (in einem weiteren Schritt) als Gesamtes upgedatet werden können und ein einzelnes Feld (das aus Gründen eines möglichen Funktionsaufrufs) separat mit einem Update-Button versehen ist. So viel zu Theorie; nun zum Code:
Am Anfang der Datei habe ich folgende Zeilen eingefügt:
PHP-Code:

<?php
    $id 
$ticket->id;
    if (isset(
$_POST['change_email'])) {
    
$email $_POST['email'];
    echo 
"email: ".$email;
    
$update mysql_query("UPDATE tickets SET email=".$email."WHERE ID=".$id);
}
?>
und in der Eingabezeile habe ich es zunächst mit diesem Code versucht:
PHP-Code:

<td class="mainTable"><input type="text" name="email" id="email" size="25" value="<?php echo htmlspecialchars($ticket->email); ?>" />&nbsp;<input type="submit" name="change_email" value="" class="inputsubmitemail">&nbsp;[<a href="open.php?email=<?php echo htmlspecialchars($ticket->email); ?>"><?php echo LANG_NEW_TICKET?></a>]</td>
Dabei passierte beim Klicken auf den Button jedoch gar nichts.
Daher habe ich aus der Spalte ein Formular gemacht:
PHP-Code:

<td class="mainTable"><form method="post" name="changeemail" id="changeemail"><input type="text" name="email" id="email" size="25" value="<?php echo htmlspecialchars($ticket->email); ?>" />&nbsp;<input type="submit" name="change_email" value="" class="inputsubmitemail">&nbsp;[<a href="open.php?email=<?php echo htmlspecialchars($ticket->email); ?>"><?php echo LANG_NEW_TICKET?></a>]</form></td>
Nun habe ich folgenden Effekt:
Ich öffne das Script im Browser.
PHP-Code:

echo "email: ".$email
gibt noch nichts aus.
Jetzt ändere ich das Feld email z.B. von dummy@dummyadresse.de in test@testadresse.de und klicke auf den Button change_email.
PHP-Code:

echo "email: ".$email
gibt jetzt email: test@testadresse.de aus,
die Seite wird im Browser kurz neu geladen,
PHP-Code:

echo "email: ".$email
gibt immer noch email: test@testadresse.de aus und im Feld email (sowie in der MySQL-Datenbank) steht immer noch dummy@dummyadresse.de.

Daher stellen sich mir folgende Fragen:
1.) Was mache ich da falsch?
2.) Wenn ich das erste Problem gelöst habe: Kann ich um die gesamte Tabelle ein weiteres Formular changeall legen oder beißt sich das mit dem Formular changeemail?

Tausend Dank für Eure Hilfe!

__________________

Freundliche Grüße aus Bagband im wunderschönen Ostfriesland

Norbert
NorbertK ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten