Problem mit der E-Mail Kontrolle
Malte Kiefer
- php
0 Dennis
Hi,
ich habe die E-Mail Kontrolle von SELFHTML genommen und so eingebunden
include ("../functionen/email.php");
if(check_email($email)) $fehler[] = "Bitte geben Sie eine gültige E-Mail Adresse an.";
Bekomme aber das im Browser wieder:
Notice: Undefined index: password2 in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 22
Notice: Undefined index: emailw in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 24
function check_email($email) { // RegEx begin $nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed $nqtext = "[^\\$nonascii\015\012"]"; $qchar = "\\[^$nonascii]"; $protocol = '(?:mailto:)'; $normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*'; $quotedstring = ""(?:$nqtext|$qchar)+""; $user_part = "(?:$normuser|$quotedstring)"; $dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\.'; $dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*'; $dom_tldpart = '[a-zA-Z]{2,5}'; $domain_part = "$dom_subpart$dom_mainpart$dom_tldpart"; $regex = "$protocol?$user_part@$domain_part"; // RegEx end return preg_match("/^$regex$/",$email); }
Fatal error: Call to undefined function: check_email() in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 33
Was mache ich falsch?
Hi Malte,
Hi,
ich habe die E-Mail Kontrolle von SELFHTML genommen und so eingebunden
include ("../functionen/email.php");
if(check_email($email)) $fehler[] = "Bitte geben Sie eine gültige E-Mail Adresse an.";
Was steht denn in deiner email.php? Bzw. was steht am Anfang und was am Ende dieser Datei? Hm?
> Notice: Undefined index: password2 in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 22
> Notice: Undefined index: emailw in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 24
Das sind Fehler in deinem Script (anmelden.php) bzw. eigentlich keine richtigen Fehler, trotzdem solltest du das korrigieren, da sonst im Bezug auf register\_globals Sicherheitslücken entstehen können.
> function check\_email($email) { // RegEx begin $nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed $nqtext = "[^\\\\$nonascii\015\012\"]"; $qchar = "\\\\[^$nonascii]"; $protocol = '(?:mailto:)'; $normuser = '[a-zA-Z0-9][a-zA-Z0-9\_.-]\*'; $quotedstring = "\"(?:$nqtext|$qchar)+\""; $user\_part = "(?:$normuser|$quotedstring)"; $dom\_mainpart = '[a-zA-Z0-9][a-zA-Z0-9.\_-]\*\\.'; $dom\_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9.\_-]\*\\.)\*'; $dom\_tldpart = '[a-zA-Z]{2,5}'; $domain\_part = "$dom\_subpart$dom\_mainpart$dom\_tldpart"; $regex = "$protocol?$user\_part\@$domain\_part"; // RegEx end return preg\_match("/^$regex$/",$email); }
3x darfst du überlegen und im PHP-Manual [include()](http://de.php.net/manual/de/function.include.php) nachlesen.
> Fatal error: Call to undefined function: check\_email() in D:\XAMPP\xampp\htdocs\cs\registration\anmelden.php on line 33
Die Meldung dürfte ja vom Sinn her klar sein.
MfG, Dennis.
--
Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)
[Crypt::PasswdMD5 jetzt auch in PHP](http://tutorial.riehle-web.com/scripts/?check#md5crypt)
Auf viele Fragen weiß auch [Wikipedia](http://de.wikipedia.org) eine Antwort.