AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] checkdnsrr() schlägt fehl :-/
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] checkdnsrr() schlägt fehl :-/

Ein Thema von glkgereon · begonnen am 20. Sep 2006 · letzter Beitrag vom 20. Sep 2006
Antwort Antwort
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

[PHP] checkdnsrr() schlägt fehl :-/

  Alt 20. Sep 2006, 10:14
Hi,

ich versuche für eine Online-Anmeldung einen EMail-Filter zu bauen.
also filter ist eigentlich nicht ganz korrekt, er soll nur gucken ob die email korrekt ist, also syntax und domain überprüfen.

dazu analysiere ich erstmal via regex die adresse und gucke dann ob checkdnsrr was findet....

das gante sieht dann so aus:

Code:
function valid_email($email) {
    $email_regex = '/(.+)@(.+)\.(.+)/';
    preg_match($email_regex,$email,$matches);
    //DNS checken
    //print_r($matches);
    return checkdnsrr($matches[2].'.'.$matches[3]);
  }
aber selbst wenn ich eine richtige email-adresse eingebe (zB glkgereon at web dot de (natürlich mit @ und . )) gibt er false zurück.

print_r schreibt folgendes:
Zitat:
Array (
[0] => ...
[1] => glkgereon
[2] => web
[3] => de
)
irgendwer eine idee?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [PHP] checkdnsrr() schlägt fehl :-/

  Alt 20. Sep 2006, 10:30
Ja, ich hab ne Idee: Vergiss es!

Hier mal ein Zitat aus dem "Add note"-Formular bei php.net:
Zitat:
(And if you're posting an example of validating email addresses, please don't bother. Your example is almost certainly wrong for some small subset of cases. See this information from O'Reilly Mastering Regular Expressions book for the gory details.)
Gut genug?

Weiters, hast du error_reporting auf E_ALL gestellt, und display_errors in deiner php.ini auf 1? Wenn ja, dann wirst du ziemlich sicher eine Fehlermeldung finden. Mein Tipp ist gethostbyname zu verwenden. Wenn es den Host gibt, dann gibts ne IP, wenn nicht dann kriegst du den Hostname.

Greetz
alcaeus

PS: Zur E-Mail, dir ist schon klar dass ich hinter dem @ theoretisch auch eine IP-Adresse schreiben kann? Und dass aber trotzdem nicht alle Zeichen gueltig sind? Jag mal die E-Mail-Adresse foo@foo@bar.com durch deine Regexp, und guck mal was passiert
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

Re: [PHP] checkdnsrr() schlägt fehl :-/

  Alt 20. Sep 2006, 16:30
die funktion checkdnsrr ist auf windowscomputern nicht verfügbar!

http://uk.php.net/manual/en/function.checkdnsrr.php

Zitat:
Note: This function is not implemented on Windows platforms.
vieleicht ist das dein problem.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: [PHP] checkdnsrr() schlägt fehl :-/

  Alt 20. Sep 2006, 16:57
nein, es ist schon ein linux-server

und da wäre ja auch ne fehlermeldung gekommen.

ich hab es nu so gelöst, wobei das problem mit mehreren @ und . wohl immer noch besteht?!

Code:
function valid_email($email) {
    $email_regex = '/(.+)@(.+)\\.(.+)/';
    $ip_regex = '/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)/';
    preg_match($email_regex,$email,$matches);
    return (preg_match($ip_regex,gethostbyname($matches[2].'.'.$matches[3]),$matches)!==false);
  }
wenn noch einer ne idee hat...immer willkommen^^
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: [PHP] checkdnsrr() schlägt fehl :-/

  Alt 20. Sep 2006, 17:16
Zitat von glkgereon:
ich hab es nu so gelöst, wobei das problem mit mehreren @ und . wohl immer noch besteht?!

[...]

wenn noch einer ne idee hat...immer willkommen^^
Ja, hoer auf mit "." zu matchen, und gib an welche Zeichen erlaubt sind.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz