php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.06.2005, 13:36  
Gast
 
Beiträge: n/a
Standard 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;
    }
?>
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.06.2005, 13:38  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

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

http://www.jagr.de/
Orolhawion ist offline  
Alt 15.06.2005, 14:09  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

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);
}
?>
Chr!s ist offline  
Alt 15.06.2005, 14:20  
Gast
 
Beiträge: n/a
Standard

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.
 
Alt 15.06.2005, 16:35  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

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();
}
?>
Chr!s ist offline  
Alt 16.06.2005, 10:21  
Gast
 
Beiträge: n/a
Standard

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>
 
Alt 16.06.2005, 11:53  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

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!
search 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
mail() und boundary Problem Gef PHP Tipps 2006 4 02.03.2006 00:47
php mail() nur mit return adresse dsmcg PHP Tipps 2007 6 23.11.2005 11:24
Mail mit mail() kommt nicht an center PHP Tipps 2005-2 5 18.08.2005 13:02
mail() verschickt noch lange nicht jede mail janni PHP Tipps 2005-2 4 17.06.2005 14:05
[Erledigt] php mail() header &amp;amp;amp;amp;amp; Spam Problem PHP-Fortgeschrittene 4 04.05.2005 12:31
Mail Adresse aus einer Datenbank auslesen? Stemmi Datenbanken 6 23.04.2005 23:24
[Erledigt] Error Mail() function PHP Tipps 2005 3 14.04.2005 03:32
Mail versenden - Fehler 553 Anuschka PHP Tipps 2004-2 7 13.12.2004 19:54
[Erledigt] mail() - mail header PHP-Fortgeschrittene 2 28.09.2004 15:35
T-Online vs Mail() PHP Tipps 2004 4 13.08.2004 15:11
Adresse beim Suchmaschineneintrag ändern? Beitragsarchiv 6 02.08.2004 22:49
mail() sendet nicht PHP Tipps 2004 3 25.06.2004 13:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2005-2/24854-mail-adresse-ueberpruefen.html, php email prüfen, email überprüfen php, php email überprüfung, mailadresse prüfen php, php email überprüfen, php mailadresse überprüfen, delphi email adresse überprüfen, php affenformular nach email adresse prüfen, formular email prüfen, php mail adresse prüfen, php mailadress überprüfung, google php script email adressen überprüfen, email prüfen php script, mail adresse im formular prüfen, email testen php, php mail adresse, php script email adresse überprüfen, php script mail adresse prüfen, textfeld auf emailadresse prüfen

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 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.