Malte Kiefer: Problem mit der E-Mail Kontrolle

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?

  1. 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.