Ankündigung

Einklappen
Keine Ankündigung bisher.

Mail adresse überprüfen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mail adresse überprüfen?


    Hi, hab da mal zwei kleine PHP-scripts geschrieben, Und ich wollte nun before die Mail an meine Adresse geht dem Benutzer der das Formular ausgefüllt hat eine bestätigung an seine Mail Adresse schicken. Und wenn beim versenden der Mail zum Benutzer eine Fehler auftritt, sprich die Mail nicht gesendet werden kann soll auch an mich keine Mail gehen und der Benutzter soll auf Irgend eine Internet Seite verlinkt werden.
    Jetzt gebe ich noch mal den Quellcode dazu (meine Daten habe ich natürlich rausgenommen). :wink:


    PHP-Code:
    <?php
    <?php
    #wohin soll die mail gehen
    $strEmpfaenger 'meine@email';
    #welche Adresse soll alls absender dienen?
    $strFrom '"ADOL-C Registration" <meine@email>';
    #welcher Betreff soll in der Mail stehen?
    $strSubject 'ADOL-C User Registration';
    #welche seite soll danach angezeigt werden?
    $strReturnhtml 'http://www.google.de/';
    ### ende konfiguration ###
    if($_POST)
    {
    include 
    'functions.php';
     
    $strMailtext "";
        
    #Vergleiche

    #Firstname
    if(strlen(trim($_POST["firstname"]))==0)
    {
    die(
    "Bitte geben sie Ihren Vornamen an");
    exit;
    }
    #Surname
    if(strlen(trim($_POST["surname"]))==0)
    {
    die(
    "Bitte geben sie ihren Nachnamen an");
    exit;
    }
    #EMAIL
    if(mailcheck($_POST["email"])!=0)
    {
    die(
    "Fehlerhafte Email Adresse");
    exit;
    }

     
    $strMailtext2 'Many thanks for your registration.'."\n"."\n".'You are informed about updates and news of ADOL-C as of now.';
     
    $strHEADERS "From: ".trim($strFrom);
     
    $strHEADERS .= "MIME-Version: 1.0\n";
     
    $strHEADERS .= "Content-Type: text/plain; charset=\"iso-8859-15\"\n";
     
    $strHEADERS .= "Content-Transfer-Encoding: quoted-printable\n";
     
    $strHEADERS .= "X-MAILER: APACHE - PHP4\n";

     
    $strEmpf2 $_POST["email"];
     
    $strSubj2 'Thanks for Registration';
     
    $strFrom2 'MIR';
     
    $strReturnhtml2 'http://www.delphi-source.de/';

     while(list(
    $strName,$value) = each($_POST))
     {
      if(
    is_array($value))
      {
       foreach(
    $value as $value_array)
       {
        
    $strMailtext .= $value_array."\n";
       }
      }
      else
      {
       
    $strMailtext .= $value."\n";
      }
     }

    if(
    get_magic_quotes_gpc())
     {
      
    $strMailtext stripslashes($strMailtext);
      
    $strMailtext2 stripslashes($strMailtext2);
     }

    if(
    senduser($strempf2 $strSubj2 $strMailtext2 $strFrom2)==false){
    //if(sendadolc=true){header('LOCAL: $strReturnhtml');}
    //else{die('Zur Zeit kann keine Registrierung erfolgen');}
    }else{die('Bitte Geben Sie eine Gueltige EMail adresse an.');}


    }


    ?>
    <html>

    <head>
    <meta http-equiv="Content-Language" content="de">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Unbekannt</title>
    </head>

    <body>

    <form method="POST" action="index5.php">

            <table border="0" width="100%" id="table6">
                    <tr>
                            <td>
                            <table border="0" width="100%" id="table7">
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]First Name:[/b]</td>
                                            <td>
                                            <input type="text" name="firstname" size="30" tabindex="1" maxlength="50"><sup><font color="#FF0000">*</font></sup></td>
                                    </tr>
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]Surname:[/b]</td>
                                            <td>
                                            <input type="text" name="surname" size="30" tabindex="2" maxlength="50"><font color="#FF0000"><sup>*</sup></font></td>
                                    </tr>
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]EMAIL:[/b]</td>
                                            <td>
                                            <input type="text" name="email" size="30" tabindex="3" maxlength="60"><font color="#FF0000"><sup>*</sup></font></td>
                                    </tr>
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]WWW:[/b]</td>
                                            <td>
                                            <input type="text" name="www" size="30" tabindex="4" maxlength="60"></td>
                                    </tr>
                            </table>
                            </td>
                    </tr>
                    <tr>
                            <td>
                            <table border="0" width="100%" id="table8">
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]Street:[/b]</td>
                                            <td width="96">
                                            <input type="text" name="street" size="30" tabindex="5" maxlength="70"></td>
                                            <td width="107">
                                            <p align="right">[b]Housenumber[/b]</td>
                                            <td>
                                            <input type="text" name="housenumber" size="10" tabindex="6" maxlength="10"></td>
                                    </tr>
                                    <tr>
                                            <td width="190">
                                            <p align="right">[b]City:[/b]</td>
                                            <td width="96">
                                            <input type="text" name="town" size="30" tabindex="7" maxlength="60"></td>
                                            <td width="107">
                                            <p align="right">[b]Zip:[/b]</td>
                                            <td>
                                            <input type="text" name="postcode" size="10" tabindex="8" maxlength="10"></td>
                                    </tr>
                            </table>
                            </td>
                    </tr>
                    <tr>
                            <td>
                            <table border="0" width="100%" id="table9">
                                    <tr>
                                            <td width="188">
                                            <p align="right">[b]Region:[/b]</td>
                                            <td>
                                            <input type="text" name="region" size="30" tabindex="9" maxlength="60"></td>
                                    </tr>
                                    <tr>
                                            <td width="188">
                                            <p align="right">[b]Country:[/b]</td>
                                            <td>
                                            <input type="text" name="country" size="30" tabindex="10" maxlength="60"></td>
                                    </tr>
                            </table>
                            </td>
                    </tr>
                    <tr>
                            <td>
                            <table border="0" width="100%" id="table10">
                                    <tr>
                                            <td width="411">[b]Institution:[/b]</td>
                                            <td>[b]Area of Application:[/b]</td>
                                    </tr>
                                    <tr>
                                            <td width="411">
                                            
                                            <input type="hidden" name="1" value="-1"><textarea rows="4" name="institution" cols="30" tabindex="11"></textarea></td>
                                            <td>
                                            
                                            <input type="hidden" name="2" value="-2"><textarea rows="4" name="areaofapplication" cols="30" tabindex="12"></textarea></td>
                                    </tr>
                            </table>
                            </td>
                    </tr>
            </table>
            

    <input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
    </form>

    </body>

    </html>
    ?>
    So das war die hauptseite, der Rote Text war ein versuch von mir hat aber nicht funktioniert nun folgt noch die functions.

    PHP-Code:
    <?php
    <?php
    function sendadolc ($strEmpfaenger3$strSubject3$strMailtext3$strHeaders3)
    {
    mail($strEmpfaenger3$strSubject3$strMailtext3"From: ".$strHEADERS3);
    }
    function 
    senduser ($strempf4 $strSubj4 $strMailtext4 $strFrom4)
    {
     return 
    mail($strEmpf4$strSubj4$strMailtext4"From: ".$strFrom4);
    }

        function 
    mailcheck ($addr)
        {
        
    #ist laenge=0
        
    $len=strlen(trim($addr));
        if(
    $len==0) return 1;

        
    #ist kein at zeichen da
        
    $tmp=strpos($addr,"@");
        if(!
    $tmp) return 2;

        
    #gibt mehr wie ein at zeichen
        
    $tmp2=strrpos($addr,"@");
        if(
    $tmp!=$tmp2) return 2;

        
    #steht vor dem etwas
        
    if($tmp<1) return 2;

        
    #kein punkt nach dem at
        
    $tmp2=strpos($addr,".",$tmp+1);
        if(!
    $tmp2) return 2;

        
    #steht zwischen at und punkt etwas
        
    if($tmp2-$tmp<2) return 2;

        
    #
        
    while($tmp=strpos($addr,".",$tmp2+1))
        {
            if(
    $tmp-$tmp2<2) return 2;
            
    $tmp2=$tmp;
        }
        
    #Die letzten zwei zeichen
        
    if($tmp2>$len-2) return 2;

        
    #OK
        
    return 0;
        }
    ?>
    ?>

  • #2
    wennde den kram in die php-tags packst, liests vielleicht auch jemand..
    "die Mitte des Textes kann ja theor. mitten in einem Text liegen"

    :arrow: [url]http://www.jagr.de/[/url]

    Kommentar


    • #3
      PHP-Code:
      <?php
      function check_email($email)
      {
          
      $nonascii      "\x80-\xff";
          
      $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";

          return 
      preg_match("/^$regex$/",$email);
      }
      ?>

      Kommentar


      • #4
        Ich nicht ganz so versiert in PHP, kööntest Du mir Dein Scipt etwas erklären.
        Das Script soll statt meiner functions eingestzt werden oder wie kann ich das verstehen.

        Muss ich nach meinem Hauptscript die Zeile mit function in
        PHP-Code:
        <?php
        function check_email($addr)
        ..


        ?>
        ändern?
        Bitte helft mir ich kenn mich fast 0% mit PHP aus.

        Kommentar


        • #5
          Kopier einfach meine Funktion in dein Script, und rufe sie so auf:

          PHP-Code:
          <?php
          $mail_is_valid 
          check_email($email);
          ?>
          Wobei $email deine E-Mail Variable ist.
          In $mail_is_valid hast du nun entweder 0 (also nichts, empty) oder eine 1 stehen (0 = FALSE, 1 = TRUE (wahr)), bei 1 ist die Mail also gültig, bei 0 nicht.
          ->
          PHP-Code:
          <?php
          if(check_email($email) == TRUE) {
               
          mach_irgend_was();
          }
          ?>

          Kommentar


          • #6
            Habe Dein Script mal bei mir eingebunden aber es funktioniert nichts.
            Normalerweise sollte ja eine Internetseite nach dem submit angezeigt werden, aber es passiert nichts.

            PHP-Code:
            <?php
            #wohin soll die mail gehen
            $strEmpfaenger 'meine@email';
            #welche Adresse soll alls absender dienen?
            $strFrom 'unbekannt" <meine@email>';
            #welcher Betreff soll in der Mail stehen?
            $strSubject 'unbekannt';
            #welche seite soll danach angezeigt werden?
            $strReturnhtml 'http://www.google.de/';
            ### ende konfiguration ###



            if($_POST)
            {
            include 
            'functions.php';

            function 
            check_email($email)
            {
               
            $nonascii      "\x80-\xff";
               
            $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";

               return 
            preg_match("/^$regex$/",$email);
            }
             
            $strMailtext "";
                
            #Vergleiche

            #Firstname
            if(strlen(trim($_POST["firstname"]))==0)
            {
            die(
            "Bitte geben sie Ihren Vornamen an");
            exit;
            }
            #Surname
            if(strlen(trim($_POST["surname"]))==0)
            {
            die(
            "Bitte geben sie ihren Nachnamen an");
            exit;
            }
            #EMAIL
            if(mailcheck($_POST["email"])!=0)
            {
            die(
            "Fehlerhafte Email Adresse");
            exit;
            }
                
             
            $strMailtext2 'Many thanks for your registration.'."\n"."\n".'You are informed about updates and news of ADOL-C as of now.';
             
            $strHEADERS "From: ".trim($strFrom);
             
            $strHEADERS .= "MIME-Version: 1.0\n";
             
            $strHEADERS .= "Content-Type: text/plain; charset=\"iso-8859-15\"\n";
             
            $strHEADERS .= "Content-Transfer-Encoding: quoted-printable\n";
             
            $strHEADERS .= "X-MAILER: APACHE - PHP4\n";

             
            $strEmpf2 $_POST["email"];
             
            $strSubj2 'Thanks for Registration';
             
            $strFrom2 'ADOL-C Registration Formular';
             
            $strReturnhtml2 'http://www.delphi-source.de/';

             while(list(
            $strName,$value) = each($_POST))
             {
              if(
            is_array($value))
              {
               foreach(
            $value as $value_array)
               {
                
            $strMailtext .= $value_array."\n";
               }
              }
              else
              {
               
            $strMailtext .= $value."\n";
              }
             }

             if(
            get_magic_quotes_gpc())
             {
              
            $strMailtext stripslashes($strMailtext);
              
            $strMailtext2 stripslashes($strMailtext2);
             }

            if(
            check_email($email) == TRUE) {
                 
            header('LOCATION: $strReturnhtml') ;
            }else{
            header('LOCATION: $strReturnhtml2');}


            }


            ?>
            <html>
            .....
            </HTML>

            Kommentar


            • #7
              PHP-Code:
              <?php
              if(mailcheck($_POST["email"])!=0
              ?>
              wie wärs wenn du auch die richtige function ansprichst?
              PHP-Code:
              <?php
              if(check_mail($_POST["email"]))
              ?>
              und dieses die in einem Formular ist nicht gerade benutzerfreundlich
              Such mal nach Affenformular, entweder bei google oder hier in der boardsuche.
              Dann lesen <- verstehen <- umsetzten

              greez search
              schlimmer gehts nimmer.... dümmer immer!
              [url=http://www.in-dvd.net][img]http://in-dvd.net/images/go_indvd.gif[/img][/url]

              Kommentar

              Lädt...
              X