php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2004, 12:23  
Gast
 
Beiträge: n/a
Standard [Erledigt] Mail Validierung

hallo alle zusammen,
ich habe hier folgendes Problem. Ich habe ein Formular mit den Feldern "Datum, Name, Mailadresse, etc."

Momentan überprüfe ich, ob einfach in den jeweiligen Feldern überhaupt etwas steht, so:

Code:
function check_error()
{
	global $HTTP_POST_VARS;

	$error_count=0;
	$error[0]=false;	
	
	if(!$HTTP_POST_VARS[datum] || !$HTTP_POST_VARS[name] || !$HTTP_POST_VARS[mail] || !$HTTP_POST_VARS[erfahrung] || !$HTTP_POST_VARS[stelle] || !$HTTP_POST_VARS[firma] || !$HTTP_POST_VARS[headline] || !$HTTP_POST_VARS[text])
	{
		$error[0]=true;
		$error_count++;
		$error[$error_count]='[img]pics/blind.gif[/img]<span class="warning">Bitte f&uuml;lle alle Felder aus. Danke.</span>
';
	}
Aufgerufen wird das Ganze dann über:

Code:
<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
Jetzt wollte ich aber, dass man einmal in dem Feld "Mail" auch überprüft, ob die Mailadresse zumindest korrekt eingegeben ist. Und zwar mit:

Code:
if(!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z0-9-]{2,4})$"))
Meine Frage nun:

Wo muss ich das im Script einfügen, damit die mailadresse validiert wird? Könnte mir einer von Euch bei diesem Problem behilflich sein?

Vielen Dank und macht es gut...
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2004, 12:31  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 224
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Hi Floyd,

PHP-Code:
if(!$HTTP_POST_VARS[datum] || !$HTTP_POST_VARS[name] || !$HTTP_POST_VARS[mail] || !$HTTP_POST_VARS[erfahrung] || !$HTTP_POST_VARS[stelle] || !$HTTP_POST_VARS[firma] || !$HTTP_POST_VARS[headline] || !$HTTP_POST_VARS[text] || !ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z0-9-]{2,4})$")) { ... 
Wenn du dir Schreibarbeit sparen willst, kannst du übrigens auch statt $HTTP_POST_VARS[...] auch $_POST[..] schreiben.

Gruß,

Dirk
DirkHo ist offline  
Alt 04.11.2004, 12:39  
Gast
 
Beiträge: n/a
Standard

Hi Dirk,
danke dir für deine Hilfe. Irgendwie hat das nicht funktioniert. Ich glaube ich habe noch folgendes Problem:

in der if anweisung steht ja unter anderem als drittes:

$HTTP_POST_VARS[mail]

da wird ja überprüft, ob das Feld "Mail" leer ist.

wenn ich am ende dann das !ereg reinschreibe passiert da irgendwie gar nichts.

muss ich da einfach das !ereg anstelle des $HTTP_POST_VARS[mail] setzen?

Danke für deine Hilfe.
 
Alt 04.11.2004, 12:47  
Gast
 
Beiträge: n/a
Standard

sorry, das war mein Fehler. das funktioniert natürlich alles so dirk

Wenn ich aber jetzt auf den button "senden" klicke, dann erscheint folgende Fehlermeldung:

Warning: Wrong parameter count for ereg() in D:\aa2004\technik\eingabe.php on line 20

Erkennst du da spontan wo der Fehler liegt?

Weiterhin sind nach dem Klick auf den Button "senden" alle Felder, die man vorher eingetragen hat wieder leer.

Kann man das irgendwie so hinbekommen, dass die Einträge erhalten bleiben, damit man nicht nochmal alles eintippen muss?

sorry für die Verwirrungen.
 
Alt 04.11.2004, 13:29  
Gast
 
Beiträge: n/a
Standard

dass der zweite parameter string Zeichenkette fehlt?
 
Alt 04.11.2004, 13:31  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 224
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Hi Floyd,

versuch's mal mit der Funktion: !eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $_POST['mail'])

Ich kenne mich damit nicht so gut aus und hab's mir auch nur irgendwo rauskopiert, aber mit der Funktion klappt's bei mir.

Damit die <input>-Felder nicht leer sind, machst du einfach noch einen value in das Feld mit dem Inhalt des jeweiligen Feldnamens.

Das kann dann z.B. so aussehen: <input type="text" name="mail" value="<?php print $_POST[mail]; ?>">, dann wird es nach dem ersten Absenden bzw. bei Fehlern wieder in die Formularfelder geladen.

Gruß,

Dirk
DirkHo ist offline  
Alt 04.11.2004, 13:50  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kannst ja auch mal hier reinschauen
http://test.php-help.info/email-1/
imported_Ben ist offline  
Alt 04.11.2004, 20:11  
Erfahrener Benutzer
 
Registriert seit: 26.09.2004
Beiträge: 430
toscho
Standard

Seit es Umlautdomains gibt, ist eine E-Mail-Adresse im Prinzip nicht mehr über einen einfachen Stringtest zu validieren, oder übersehe ich da was?

Gruß
Thomas
toscho ist offline  
Alt 05.11.2004, 10:48  
Gast
 
Beiträge: n/a
Standard

wieso? du lässt halt in den domains auch noch äöü zu, und dann hat sich's doch auch schon.
 
Alt 05.11.2004, 13:35  
Erfahrener Benutzer
 
Registriert seit: 26.09.2004
Beiträge: 430
toscho
Standard

Es gibt deutlich mehr erlaubte Zeichen als nur die deutschen Umlaute.
toscho ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dateien aus verzeichnis einzeln als mail attachment versenden mathes PHP Tipps 2008 5 17.07.2008 19:45
mail() an web und gmx kampfnickel PHP Tipps 2008 12 23.09.2007 00:03
Unterschied zwischen mail() und popen(/usr/sbin/sendmail)... DonTermi PHP Tipps 2007 8 27.03.2007 13:25
Funktion Mail() verwenden bendigo PHP Tipps 2006 2 05.05.2006 11:44
mail() und boundary Problem Gef PHP Tipps 2006 4 02.03.2006 00:47
Mail mit mail() kommt nicht an center PHP Tipps 2005-2 5 18.08.2005 13:02
Mail adresse überprüfen? PHP Tipps 2005-2 6 16.06.2005 11:53
Mit der PHP mail() Funktion eine HTMl mail verschicken? PHP Tipps 2005 6 09.05.2005 07:13
[Erledigt] php mail() header &amp;amp;amp;amp;amp; Spam Problem PHP-Fortgeschrittene 4 04.05.2005 12:31
[Erledigt] Error Mail() function PHP Tipps 2005 3 14.04.2005 03:32
mail() Funktion - Liefert TRUE jedoch .... PHP Tipps 2005 21 23.02.2005 11:54
Mail versenden - Fehler 553 Anuschka PHP Tipps 2004-2 7 13.12.2004 19:54
mehrere Atachement mit HTML Mime mail class??? 18inch PHP Tipps 2004-2 1 28.11.2004 23:58
[Erledigt] mail() - mail header PHP-Fortgeschrittene 2 28.09.2004 15:35
Mail Validierung PHP Tipps 2004 7 12.07.2004 23:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php email validieren, php email validierung, php email validation, email validierung php, email validation php, php mail validieren, email validieren php, php mail validierung, php mail validation, email validierung umlaute, php validierung email, validierung email javascript umlaute, mail validation php, validierung email php, php email validation äöü, auf emaileingabe validieren php, email php validierung, php einfach email validierung, javascript email-validierung umlaute, e-mail validierung mit umlauten

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.