Fehler um Sonderzeichen zu verhindern

Nein da ist $_POST schon richtig wenn da post bei method drin steht.
Du solltest aber die werte am besten ihrer natur gemäß filtern anstatt bestimmte Zeichen zu entfernen.

Beispiel:

PHP:
    $ID= intval($_POST["ID"]); // intval() für zahlenwerte
    $PLZ = (preg_match('^[0-9]{5}$', $_POST["PLZ"]) ? $_POST["PLZ"] : ''); // RegEx für PLZ

und setze mal um den gesammten code falls du nicht etwas in der art bereits hast vom einlesen bis zum speichern,
folgende if anweisung:
PHP:
if($_POST['speichern'] == 'speichern')
{
// [Dein Code hier...]
}
Um zu prüfen ob das Formular abgeschickt wurde auf den von tombe genannten Punkt
tombe hat gesagt.:
Wird er vermutlich immer ausgeführt und nicht nur dann wenn das Formular abgeschickt wurde?
einzugehen.


ACHJA, und demnächst benutz die Edit oder auch Bearbeiten funktion des Forums... Doppelposts sind ******e ;D
 
@H4ckHunt3r

Danke, jetzt "funktioniert" es ohne das mir Fehler angezeigt werden.

Jedoch werden die Zeichen nicht verhindert, sondern "geändert". Wenn ich z.B: <table> eingebe, kommt >table> raus.
Wie kann ich denn sagen, das die nicht mal eingegeben werden dürfen!? bzw. gar nicht erst gespeichert werden
 
um das komplette <table> und andere Tags zu entfernen wie von mir schon erwähnt:
http://de2.php.net/manual/de/function.strip-tags.php

am sonsten um auch das <table> einfach als text auszugeben:
http://de2.php.net/manual/de/function.htmlentities.php

oder über str_replace die '<' und '>' Zeichen durch nichts ersetzen:
PHP:
$string = str_replace('<', '', $string);
$string = str_replace('>', '', $string);

geht übrigens auch via RegEx:
PHP:
$string = preg_replace('/(<|>)/', '', $string);
so irgendwie dürfte das dan aussehen^^
 
Zuletzt bearbeitet:
Zurück