Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Link Eintragung in Formularfelder verhindern





Frage

Moin! Ich habe das Problem, daß immer wieder in Formularfelder Emailadressen, Internet-Adressen und/oder Telefonnummern eingetragen werden, wo sie nicht rein sollen. Wie kann ich verhindern, daß solche Informationen das Formular eingetragen werden, oder das es vor dem Speichern in die Datenbank einfach gelöscht wird? Danke für Eure Hilfe. Gruß Tom

Antwort 1 von sebi2006

Hi,
zuerst einmal die Frage, was soll eigendlich in dem Feld eingetragen werden?

Für die E-Mailadresse könnte man es so machen:

<?php
$wort = "test@beispiel.de";
if (preg_match("/@/i", "$wort")) {
   $wort="";
}
?> 

Das i hinter dem / bedeutet keine Unterscheidung der Groß- und Kleinschreibung, es wird nach dem @ in der Variable $wert gesucht, wenn eins vorhanden ist wird der Wert auf nichts gesetzt.

Bei der Telefonnummer ist das ganze folgendermaßen zu lösen:

<?php
$tel="01234/56789";
$zahlen = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
$only = str_replace($zahlen, "", "$tel");

?>

Hier wird in der Variable $tel nach Zahlen gesucht, wenn welche vorhanden sind werden diese herausgelöscht.
ACHTUNG: Alle Zahlen werden gelöscht, deshalb die Frage nach dem eigendlichen Inhalt des Feldes.

Und zuletzt zur Homepage:

<?php
$wort1 = "http://www.test.de/";
if (preg_match("/http/i", "$wort1")) {
   $wort1="";
}
elseif (preg_match("/www/i", "$wort1")) {
   $wort1="";
}
?>


Hier wird zuerst nach http gesucht, wenn dies fehlt nach www, falls die Domain beides nicht endhält könnte man auch folgendes machen:

<?php
$wert="http://www.test.de/";
$endungen = array("de", "com", "net", "info"); // etc.
$only = str_replace($endungen, "", "$wert");
$only="";
?>

Hier wird durch ein Array geguckt, ob die jeweilige Endung in der Domain vorhanden ist, wenn ja wird $only auf nichts gesetzt.

PS: Wäre natürlich die einfachste Möglichkeit die mir einfällt, aber alle Endungen auflisten?

Ich hoffe das ganze war umfangreich genug, ansonsten einfach nochmal nachfragen.

Antwort 2 von DJTomPW

Moin Sebi2006!

Danke für Deine Antwort.

Das hilft mir sehr weiter. Hätte ich eigentlich auch selbst drauf kommen müssen, aber man wird langsam betriebsblind. Danke.

In dem Feld sollen Firmen Stellenangebote eintragen können. Es gibt extra Felder für Telefonnummer, URL etc. Aber immer gibt es Leute, die das nicht lesen können oder wollen und alles auf einmal in das Feld Stellenbeschreibung hineinschreiben. Dann muß ich per Hand die Daten immer wieder umschaufeln, das möchte ich gern ändern.

Mit Deiner Antwort komme ich schon ein bißchen weiter, obwohl bei Deiner Variante dann immer die gesamte Eingabe gelöscht wird. Vielen Dank.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: