EKKi: Newsupdatefunktion (php und html)

Beitrag lesen

Mahlzeit,

echo ("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
     <html>
      <head>
       <title>News editieren</title>
      </head>
      <body>
      News editieren:
      <form action="editNews.php" method="post">
       <textarea name="feldZumNewsEditieren" cols="90" rows="10">");

//neueste News in die Textarea schreiben
       getLatestNews();

Hier liest du den aktuell in der Datenbank vorhandenen Wert aus und gibst ihn (anscheinend? Was macht die Funktion eigentlich genau?) als Wert der Textarea aus. Das ist der Wert, wie er VOR der Änderung im gerade abgeschickten HTML-Formular aussieht.

echo   ("</textarea>
       <br>
       <input type="hidden" name="verstecktesEditierenDerNews" value="ok">
       <input type=submit value=abschicken>
      </form>");

$feldZumNewsEditieren = $_POST['feldZumNewsEditieren'];

Hier holst du dir den Wert des gerade abgeschickten HTML-Formulars und füllst ihn in die Variable $feldZumNewsEditieren. Das ist der Wert, wie er nach eventuellen Benutzereingaben/-änderungen aussieht.

//die News anhand der passenden id mit veraenderten "News"-Wert in die Datenbank schreiben
      updateNews(getLatestNewsId(), $feldZumNewsEditieren);

Hier schreibt du den geänderten Wert in die Datenbank.

echo  ("</body>
     </html>");

dank der Funktion getLatestNews() wird mir die letzte News auch wirklich in der Textarea angezeigt;
wenn ich nun also das Formular unverändert abschicke, sollte die News genau das gleiche enthalten wie vorher - zumindest nach meiner Theorie;

Kann sie doch gar nicht! Das, was du in den HTML-Output schreibst, ist der Wert, wie er VOR Verarbeitung der Benutzereingaben in der Datenbank steht. Ich wiederhole gerne nochmal: mach dich mit dem EVA-Prinzip vertraut ... alles andere ist nur unübersichtlicher Frickelkram. :-)

-----8<-----8<-----8<-----

<?php

// EINGABE
$feldZumNewsEditieren = $_POST['feldZumNewsEditieren'];

// VERARBEITUNG
updateNews(getLatestNewsId(), $feldZumNewsEditieren);

// AUSGABE
?>
<html>
[...]
<form>
<textarea><?php getLatestNews(); ?></textarea>
[...]
</form>
[...]
</html>

----->8----->8----->8-----

Mal im Ernst: ist das nicht wesentlich übersichtlicher?

MfG,
EKKi