Hello Pizza,
das habe ich mir schon fast gedacht...
Es gibt eben immer noch ein "Anders"
<form method="post" action="index.php?content=send_mail">
echo "<pre>\r\n";
echo htmlspecialchars(print_r($_GET,1));
echo "</pre>\r\n";
Was hat jetzt die POST-Methode der Datenübertragung mit den angezeigten GET-Variablen zu tun?
Richtig! Gar nichts.
Schreibe stattdessen
echo "<pre>\r\n";
echo htmlspecialchars(print_r($_POST,1));
echo "</pre>\r\n";
und Du wirst die Post-Parameter zu Gesicht bekommen. Und diese Methode ist dann auch brauchbar, bei PHP-Standardeinstellungen einige Hundert Kilobytes Daten zu übermitteln.
Aber
<p><label>Name:<br><input type="text" name="Name" value="<?php echo $_GET['Name']; ?>"></label</p>
ist immer noch eine tödliche Sicherheitslücke für Cross-Site-Scripting, auch wenn Du $_GET gegen $_POST austauschst. Bitte lies Dir hierzu den Artikel
http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
durch, der Dir zeigen soll, dass man aus fremden Quellen erhaltene Daten nicht einfach ungeprüft und unbehandelt wieder ausgeben darf.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg