mein Verständnisproblem bezieht sich auf die injection welche ich nicht auffinden konnte.
Mir ist nicht ganz klar wie du die "auffinden" willst. Um zu sehen ob ein Code für SQL-Injection anfällig ist, reicht es idR wenn man mal ein ' in das entsprechende Eingabefeld eingibt und sich dann den daraus entstehenden Query anschaut - aber mit prepared Statements bist du da auf der sichern Seite.
Da ich das alte Script abgespeichert habe, werde ich zu einem späteren Zeitpunkt nochmal darauf zurückkommen und mich versuchen
Als Tipp am Rande: um auf alte Versionsstände zurückgreifen zu können ist eine Versionsverwaltung wie git ganz hilfreich - nur als Hinweis für die Zukunft.
Funktioniert das so wie ich es beim zweiten echo versucht habe?
Oder müsste ich den Text in eine $text Variable umwandeln und erst dann mit htmlspecialchars($text) behandeln?
Jein. Klar kannst du den kompletten String durch htmlspecialchars() jagen - bei den festen Texten ist es aber unnötig. Ich weiß nicht was du mit "$text Variable" meinst, aber wie schon gesagt, das Umkopieren von Werten aus $_POST (bzw. auch $_GET) ist und war schon immer völlig überflüssig:
- Der Text in "die" war nur ein 0815-placeholder damit etwas da steht.
Ich versuche noch eine Weiterleitung zum footer, wo sich das Newsletter-Formular befindet wird zu bauen.
Der jetzige Text ist noch schlechter, in der Ausgabe die beim Browser landet steht kein Link.
Und wenn die Fehlermeldungen am Ende der Seite stehen, kannst du als Ziel des Formulars auch eine ID als Ziel angeben (action="#newsletter" und id="newsletter" für das Formular) - ich würde vom Formular im Footer aber eher auf eine extra Seite verweisen welche Fehlermeldungen bzw. Erfolgsmeldung ausgibt (das Formular im Footer verweist also auf die extra Seite, das (bei Fehlern nochmal ausgegebene) Formular auf der Extraseite verweist auf sich selbst.
- Danke, für die Info. Ich wüsste jetzt nur nicht was ich damit machen soll
Das kommt darauf an was du nach dem INSERT überhaupt vorhast. Der while-Block sieht mir auch eher danach aus als wäre er blind irgendwo zusammenkopiert - eine while-Schleife ist nämlich völlig überflüssig wenn es nur einen anzuzeigenden Datensatz gibt … Vielleicht lernst du erstmal weiter Grundlagen …