MS-Office-Forum

MS-Office-Forum (https://www.ms-office-forum.net/forum/index.php)
-   Web-Programmierung (https://www.ms-office-forum.net/forum/forumdisplay.php?f=34)
-   -   Probleme mit MySQL-Update (https://www.ms-office-forum.net/forum/showthread.php?t=348025)

NorbertK 12.12.2017 06:39

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!

JackCimberly 05.04.2018 08:54

mysql_query ist veraltet, nutze doch bitte mysqli.

Außerdem wird bei Dir mysql_query nicht ausgeführt, sondern einer Variable zugewiesen - mehr nicht. Keine Auswertung der Aktualisierung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.