SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.08.2007, 17:34:46
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
Emailformular Eingaben überprüfen

Hey ich habe ein emailformular und möchte natürlich die eingaben überprüfen lassen bevor die email abgesendet wird
dazu habe ich preg_match genommen

PHP-Code:
$pattern['email'] = "/[a-z0-9_-]+@[a-z0-9-]+\.[a-z]$/i";

    
if (isset(
$_POST['sender']) and isset($_POST['subject']) and isset($_POST['text']))
    {
    if(
preg_match($pattern['email'], $sender))
        {
        
$send mail($empfaenger$betreff$nachricht$header);
        }
    else
        {
        echo 
"Fehlerhafte Absenderesse";
         }
    } 
nur leider akzeptiert der ne email in der form
vorname_name@domain.de
oder
vorname-nachname@domain.de nicht
was muss ich an meinem pattern ändern, damit es funkt
danke schonmal für euere hilfe

mfg Julius
Mit Zitat antworten
  #2  
Alt 23.08.2007, 19:17:02
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Emailformular Eingaben überprüfen

Zitat:
Zitat von JuliusCaesar Beitrag anzeigen
was muss ich an meinem pattern ändern, damit es funkt
Laß es! Um alle möglichen Formen, wie eine Email aussehen darf incl. der Puny-Code ("Umlautdomains") Umsetzung, wird der Patternstring sehr lang. In lesbarer Form dargestellt, dürften so ca. 50 oder mehr Zeilen werden. Und selbst dann kann die Emailadresse falsch sein! zB. a@bc.de

Schick dem User einfach eine Email mit einem Bestätigungslink (Email Challange). Dann isses in seinem Interesse, dort keinen Unfug reinzutippern.

Geändert von meikel (†) (23.08.2007 um 19:18:03 Uhr)
Mit Zitat antworten
  #3  
Alt 23.08.2007, 21:51:14
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
AW: Emailformular Eingaben überprüfen

hey
Zitat:
Laß es! Um alle möglichen Formen, wie eine Email aussehen darf incl. der Puny-Code ("Umlautdomains") Umsetzung, wird der Patternstring sehr lang. In lesbarer Form dargestellt, dürften so ca. 50 oder mehr Zeilen werden. Und selbst dann kann die Emailadresse falsch sein! zB. a@bc.de
eigentlich hatte ich vor nur ganz "normale" emails zu akzeptieren

vor dem @ dürfen alle buchstaben, zahlen, sowie _ und - stehen
und hinter dem @ einfach nur nen string mit buchstaben (a-z) und einen '.'

Damit hätte ich denke ich 90% der emails abgedeckt,auch a@bc.de
(so hatte ich das auch geplant, nur irgendwie funkt das net so)


Zitat:
Schick dem User einfach eine Email mit einem Bestätigungslink (Email Challange). Dann isses in seinem Interesse, dort keinen Unfug reinzutippern.
wie genau soll ich das denn machen, ich habe noch nie mails mit nem Bestätigungslink verschickt....
Mit Zitat antworten
  #4  
Alt 23.08.2007, 22:44:57
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Emailformular Eingaben überprüfen

Zitat:
Zitat von JuliusCaesar Beitrag anzeigen
eigentlich hatte ich vor nur ganz "normale" emails zu akzeptieren
Was 'normal' ist, steht in den RFCs.

Zitat:
vor dem @ dürfen alle buchstaben, zahlen, sowie _ und - stehen
und hinter dem @ einfach nur nen string mit buchstaben (a-z) und einen '.'
Schon falsch.

15.11. Wie kann ich feststellen, ob eine Mailadresse äußerlich gültig ist?
http://www.php-faq.de/q/q-mail-adresse-gueltig.html

Zitat:
wie genau soll ich das denn machen, ich habe noch nie mails mit nem Bestätigungslink verschickt....
15.9. Wie kann ich die Gültigkeit einer Mailadresse testen?
http://www.php-faq.de/q/q-mail-adresse-testen.html

Zitat:
Zitat von FAQ
Die einzige Methode, zuverlässig zu testen, ob eine Mail zustellbar ist, ist sie zuzustellen.
Mit Zitat antworten
  #5  
Alt 25.08.2007, 00:06:42
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
AW: Emailformular Eingaben überprüfen

hey danke erstmal für die links, ich habe mir mal zeit genommen sie durch zu arbeiten
wenn ich diesen Artikel richtig verstehe brauche ich lediglich
mithilfe dieses scripts
PHP-Code:
  $addr "user@host.doma.in";
  list(
$user$host) = explode("@"$addr);
  if (
checkdnsrr($host"MX") or checkdnsrr($host"A")) {
    print 
"Mail ist vielleicht zustellbar.<BR>\n";
  } else {
    print 
"Mail ist sicher nicht zustellbar.<BR>\n";
  } 
prüfen, ob die mail zugestellt wird, falls die nicht zugestellt wird, kann ich doch mein script abbrechen oder?
Mit Zitat antworten
  #6  
Alt 25.08.2007, 07:33:37
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Emailformular Eingaben überprüfen

Zitat:
Zitat von JuliusCaesar Beitrag anzeigen
... falls die nicht zugestellt wird, kann ich doch mein script abbrechen oder?
Ja, denn wenn der Hostname entweder falsch ist oder der Host keinen MX Eintrag hat, ist die Emailadresse falsch. Es bleibt das "Restrisiko", daß der Hostname korrekt ist, aber der Username falsch ist. Und das klärt man so, daß man dem User eine Mail mit einem Link "Hier gehts weiter" schickt, um den Account bzw. die Email zu verifizieren.

1. Du trägst den User in die Datenbank ein. In der Tabelle gibt es zwei zusätzliche Spalten:
eine vom Typ ENUM: die wird default auf NO/0/falsch oder sonstwas gesetzt
eine vom Typ varchar(32) - dort kommt der "Aktivierungsschlüssel" rein.

2. den Schlüssel kannste zB. mit der md5() Funktion basteln. Er muß einmalig sein und
möglichst nicht 'knackbar'.

3. Du generierst eine Email, in der der "Freischaltlink" enthalten ist.

4. natürlich muß es auch ein dazu passendes Script geben:
dieses Script sucht in der Tabelle den Aktivierungsschlüssel und setzt das ENUM Flag
von falsch auf wahr:
Code:
UPDATE tabelle SET valid = 1 WHERE key = '$key'
So oder so ähnlich...

Beachte dabei die sogenannten "Umlautdomains"! Da mußt Du den Hostnamen in den Puny-Code konvertieren.

Geändert von meikel (†) (25.08.2007 um 07:35:52 Uhr)
Mit Zitat antworten
  #7  
Alt 27.08.2007, 02:44:45
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
AW: Emailformular Eingaben überprüfen

abend
ist es möglich ne aussage darüber zu treffen, bei wieivelen usern, das script abgebrochen wird, trotz richtiger email Adresse (weil der host keinen mx eintrag hat)?
weil so ganz ausführlich mit aktivierungslink und db wollte ich es eigentlich net machen,
mir würde theoretisch checkdnsrr reichen.....
Mit Zitat antworten
  #8  
Alt 27.08.2007, 11:25:24
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Emailformular Eingaben überprüfen

Zitat:
Zitat von JuliusCaesar Beitrag anzeigen
ist es möglich ne aussage darüber zu treffen, bei wieivelen usern, das script abgebrochen wird, trotz richtiger email Adresse (weil der host keinen mx eintrag hat)?
Wenn die Domain keinen MX Eintrag hat, dann gilt der A Record als Briefkasten.

Zitat:
mir würde theoretisch checkdnsrr reichen.....
Das ist schön bequem. Bin mal gespannt, wie lange es dauert, bis root@localhost, user@example.com usw. dort angegeben werden.
Mit Zitat antworten
  #9  
Alt 28.08.2007, 01:15:44
JuliusCaesar JuliusCaesar ist offline
Junior Member
 
Registriert seit: Jul 2007
Beiträge: 225
AW: Emailformular Eingaben überprüfen

was ist den ein A rekord?
aber auch wenn der provider einen A record hätte würde die email zugestellt, oder wa smuss man sich darunter vorstellen
Wikipedia ist in diesem fall nicht sehr hilfreich

Zitat:
Das ist schön bequem. Bin mal gespannt, wie lange es dauert, bis root@localhost, user@example.com usw. dort angegeben werden.
naja es soll ja einfach nur ne bestätigung sein, dass die emailadresse exisitert für ein einfaches emailformular welches auf meiner hp liegt (ich benutzte für die hp keine db) ;)

ich denke/hoffe, dass checkdnsrr in 80% der fälle hilft, die übrigen 20% müssen entweder vernünftige emailadresse nehmen oder von woanders die mail schicken
aber ich denke ich werde noch einen ensprechenden hinweis auf der hp platzieren ;)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formularfelder überprüfen mit Regex Socrates PHP Grundlagen 4 14.01.2007 21:58:31
Überprüfen ob der Eintrag schon vorhanden ist vivanity MySQLi/PDO/(MySQL) 2 02.07.2006 17:21:06
Überprüfen ob Webseite vorhanden ChrisE PHP Grundlagen 1 26.06.2006 20:25:54
Eingabedaten überprüfen Afrika MySQLi/PDO/(MySQL) 11 22.02.2005 16:08:46
array überprüfen schrempman PHP für Fortgeschrittene und Experten 1 13.01.2003 19:10:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:26:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt