Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[REGEX] nach Email (ungefähr) überprüfen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[REGEX] nach Email (ungefähr) überprüfen


 
Lengen1971
23-03-2007, 13:23 
 
Hallo Leuz,

nach einer Stunde hin und her testen geb ich jetzt auf, kann mir einer sagen, warum jede Email als falsch durchgeht?

$email=$_POST['eMail'];
echo $email; //gibt adresse korrekt aus
if (preg_match("/^[\\w\\-\\.]+@[\\w\\-\\.]+\.[^\\d\\.]{2,3}$/",$email,$matches)==0)
{
$error.="Ihre E-Mail-Adresse scheint falsch zu sein!";
$error_code=2;
}


Die Variable kommt von Flash.

Merci.
Gruß
Michael

 
jahlives
23-03-2007, 14:19 
 
Ich habe den REgExp mal ausprobiert und bei mir gehen gar die unmöglichsten Emails als true durch z.B. susi@susi.chfsdfsdfs wird als korrekt gematched.
Passe den REgExp mal so an dass du den ersten Punkt escapest. Sonst heisst der nämlich jedes Zeichen und das schliesst Zahlen und Punkte mit ein und den Punkt nach ^\d brauchst du gaz sicher nicht.

/^[\w\-\.]+@[\w\-\.]+\.[^\d]{2,3}$/

Gruss

tobi

 
MelloPie
23-03-2007, 14:29 
 
[^\d\.]{2,3}
hier darf es keinen . geben und was ist mit den TLD museum info aero oder so???

 
Lengen1971
23-03-2007, 14:40 
 
Vielen Dank für die schnellen Antworten.

Ich dachte [^\d\.] bedeutet keine Ziffer und kein Punkt. Probier ich gleich aus...

Bis gleich...

Hm, wird nichts gematched:
"/^[\\w\\-\\.]+@[\\w\\-\\.]+\\.[^\\d]{2,4}$/"

Is da noch ein Fehler drin? Kann das mit der POST-Variable zu tun haben?

Ja, das hängt mit der POST-var zusammen. Wenn ich direkt:
$email="test@home.de";

schreibe, dann geht´s. Was kann den an der POST-Var evtl. anders sein?

Gruß
michel

 
jahlives
23-03-2007, 14:51 
 
Dann liegts wohl an deiner Var. Teste den RegExp mal http://regexp-evaluator.de/evaluator/bc0c418682a1261daa28900fd337de17/#ergebnis

Gruss

tobi

 
Lengen1971
23-03-2007, 15:06 
 
Yo, danke. praktische Seite. Aber ich keine mein übergebene VAR ja nicht testen, wie soll ich die da reinkriegen? Hmm, sind da irgendwelche unsichtbaren Zeichen mitdran, wenn´s über POST bzw. von Flash kommt?

Gruß
Michel

 
penizillin
23-03-2007, 15:52 
 
mach doch einfach eine testausgabe.

 
Lengen1971
23-03-2007, 16:06 
 
Hoi,

yo, hab ich gemacht, wird die Email einwandfrei ausgeben.

Allerdings weiß ich zumindet jetzt, warum´s nicht geht, vom Flash 8 kommt nicht nur der Text auf dem Textfeld, sondern dieser schön verpackt in HTML-Code. Weiß der Geier warum, das war beim MX nicht so. Logisch, dass dann net geht.

Ist also ein Flash-Problem und hier nicht relevant.

Danke für die Hilfe
Gruß
Michael

 
jahlives
23-03-2007, 16:09 
 
...vom Flash 8 kommt nicht nur der Text auf dem Textfeld, sondern dieser schön verpackt in HTML-Code

kennst du strip_tags() ?

Gruss

tobi

 
Lengen1971
23-03-2007, 16:13 
 
Yo, kenn ich. Aber das wird die letzte Instanz werden. Vorher möcht ich wissen, warum sich das Flash 8 so komisch verhält; das ist ja ein Unding.

Danke
Gruß
Michel

 
jahlives
23-03-2007, 16:22 
 
Wer benutzt denn schon Fläsh ? ;)

 
tontechniker
23-03-2007, 16:23 
 
kann es sein das du das Ergebnis als XML geliefert bekommst? Ansonsten liegt der Fehler wohl im Flash Code.

 
Lengen1971
23-03-2007, 16:26 
 
Hm, XML kenn ich nicht. Das Ergebnis ist schon HTML. MIttendrin mal der eingegebene Text. In Flash hab ich nie was anderes gemacht, hab schon etliche Male mit PHP kommuniziert. Seit kurzem mit Flash 8, da geht´s nicht mehr.

Spaßhalber hab ich die fla runterkopiert nach MX2004, von dort nach MX und schon geht´s. haha. Das ist aber keine Lösung die mich befriedigt.

Gruß
michel


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:36 Uhr.