Sponsor-Board.de

Normale Version: Deprecated: Function ereg() is deprecated
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes SponsorBoard,

seit dem PHP-Update auf meinem Server, kommt beim versenden vom Kontaktformular folgender Fehler:

Deprecated: Function ereg() is deprecated

Habe nun herausgefunden, das die Variable "ereg" wohl veraltet ist, und durch einen andere ersetzt werden muss.

Habe "ereg" schon durch "preg_match" ersetzt, was aber leider keine Abhilfe schaffte.

Hat jemand ne Idee, wie das ganze aussehen muss, damit der Fehler verschwindet?

Hier mal der ganze Code:

PHP-Code:
if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$",$email)) $err.="<li><b>Bitte geben Sie eine richtige eMail-Adresse an.</b></li>"


Liebe Grüße

mach einfach ein error_reporting(0) in dein Script, das stellt alle Meldungen ab. Ist die wohl einfachste und schnellste möglichkeit, diesem Problem entgegenzuwirken, wenn das mit preg_match nicht geklappt hat



Auch nett, dass php.net die Funktion als Alternative vorschlägt, die aber nicht funktioniert.
preg_match('/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$/', $email);

ungetestet, müsste aber funktionieren!

bei preg_match dürfte auch keine deprecated - Meldung kommen.
Ich habe eben mal deinen Code getestet.... eine Fehlermeldung kommt nicht, allerdings wird das Formular nicht versendet, und es erscheint nach dem Absenden immer "Bitte geben Sie eine richtige eMail-Adresse an.".

Wie genau funktioniert das denn mit error_reporting(0)?

pitnl schrieb:
Wie genau funktioniert das denn mit error_reporting(0)?

Du schreibst es ganz an den Anfang deines Skriptes, dann werden alle Fehler unterdrückt. Ist aber natürlich die unsauberere Variante.

Referenz-URLs