zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Explode Fehler

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 11.05.2010, 15:07
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard Explode Fehler

Hi, ich hab mich mal an explode gewagt, aber dieses Script wirft keinen Fehler, sondern immer nur false aus. Könnt ihr mir bitte sagen warum? Hier Mal der relevante ausschnitt:

PHP-Code:
 $emailSplitted explode("@"$email);
        
$emailHintereTeil $emailSplitted[1];
        
$hostAllein explode("."$emailHintereTeil);
        
$hostprüfung getmxrr($hostAllein[1], &$mxhosts);
        
        if(
preg_match($regExp$email2) and ($hostprüfung == true) ){
            return 
true;
        }
        else{
            return 
false;
        } 
Ich habs auch auf nem Server und local getestet, doch es geht ned
LG rs-web
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 11.05.2010, 15:21
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

Wo definierst du denn deiner Meinung nach $regExp?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 11.05.2010, 15:23
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Achso sorry, hier der Rest:
PHP-Code:
$email2 $email;
        
$vordereTeil "[a-zA-Z\d][\w\.-]*[a-zA-Z\d]";
        
$hintereTeil "[a-zA-Z\d][\w\.-]*\.[a-zA-Z]{2,4}";
        
$regExp "/^".$vordereTeil."@".$hintereTeil."$/"
Hab ich wohl vergessen zu kopieren.

Und nur pregmatch geht schon.
LG rs-web

EDIT:

Also so:
PHP-Code:
function checkEmail($email){
        
$email2 $email;
        
$vordereTeil "[a-zA-Z\d][\w\.-]*[a-zA-Z\d]";
        
$hintereTeil "[a-zA-Z\d][\w\.-]*\.[a-zA-Z]{2,4}";
        
$regExp "/^".$vordereTeil."@".$hintereTeil."$/";

        
//Erst wird geprüft, ob es eine korrekt geschriebene E-Mail ist
        
$emailSplitted explode("@"$email);
        
$emailHintereTeil $emailSplitted[1];
        
$hostAllein explode("."$emailHintereTeil);
        
$hostprüfung getmxrr($hostAllein[1], &$mxhosts);
        
        if(
preg_match($regExp$email2) and ($hostprüfung == true) ){
            return 
true;
        }
        else{
            return 
false;
        }                      
                              

Mit Zitat antworten
  #4 (permalink)  
Alt 11.05.2010, 15:41
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

Hast du dir $hostAllein, $hostprüfung und $mxhosts einfach mal ausgeben lassen? Sicher, dass du $hostAllein[1] (test.de = de) meinst? Was kommt denn überhaupt für eine eMail-Adresse rein? Hast du dir die Notes im Manual duchgelesen?

Geändert von chorn (11.05.2010 um 15:44 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 11.05.2010, 16:10
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi, also emails werden z.B so sein: maxmustermann@web.de
Ich habe die Funktion so umgeschrieben, dass dann auch web angesprochen wird. Leider gibt es im Manual kein Bsp. wie der Domainname lauten muss. Aber ich glaube es geht wegen dem getmxrr nicht. Hier Mal umgeschrieben:
PHP-Code:
<?php function checkEmail($email){
        
$email2 $email;
        
$vordereTeil "[a-zA-Z\d][\w\.-]*[a-zA-Z\d]";
        
$hintereTeil "[a-zA-Z\d][\w\.-]*\.[a-zA-Z]{2,4}";
        
$regExp "/^".$vordereTeil."@".$hintereTeil."$/";

        
//Erst wird geprüft, ob es eine korrekt geschriebene E-Mail ist
        
$emailSplitted explode("@"$email);
        
$emailHintereTeil $emailSplitted[1];
        
$hostAllein explode("."$emailHintereTeil);
        
        
$hostprüfung getmxrr($hostAllein[0], &$mxhosts);
        
        if(
preg_match($regExp$email2) and ($hostprüfung == true) ){
            return 
true;
        }
        else{
            return 
false;
        }                      
                              
}
?>
LG rs-web
Mit Zitat antworten
  #6 (permalink)  
Alt 11.05.2010, 16:29
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

Wo sind die Debuginformationen?
Mit Zitat antworten
  #7 (permalink)  
Alt 11.05.2010, 16:48
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Also ich denke, du meinst was die einzlnen Variablen beinhalten:
$emailHintereTeil = web.de
$hostAllein = web

Leider hab ich keinen plan, wie ich $mxhosts ausgeben soll. Ich habe es Mal
PHP-Code:
return $mxhosts;
$istEsEineEmail2 checkEmail($_POST['email']); 
doch print_r $istEsEineEmail2;
sowie
echo $ $istEsEineEmail2;

blieben leer.
Ich denke es muss print_r heißen, weils ein Array sein soll.
LG rs-web
Mit Zitat antworten
  #8 (permalink)  
Alt 11.05.2010, 16:55
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

Ja genau, sowas macht die Sache doch schon verständlicher. Hast du dir im Manual mal die Kommentare angesehen? Oder dich darüber erkundigt wie ein Domainname/Hostname aussieht? Dann sollte auch klarwerden, warum das nicht klappt ("web" allein ist ja nun kein Domainname).

Hostname ? Wikipedia

Sollte dir einen Anhaltspunkt liefern. Du solltest die Funktion auch mal alleinstehend testen, bevor du anfängst, schon veränderte Werte zu übergeben.
Mit Zitat antworten
  #9 (permalink)  
Alt 11.05.2010, 17:17
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Geduld
Also heist das, dass ich mir das 2te explore eig. sparen kann. Ich werd mich dann melden, wenns klappt, bzw. nicht
LG rs-web
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 11.05.2010, 18:16
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Ok, ich habs ein bisschen anders gelöst. Ich habe die Syntak in einer anderen Funktion prüfen lassen und so sieht die neue aus:

PHP-Code:
function checkEmail($email){
        
$emailSplitted explode("@"$email);
        
$emailHintereTeil $emailSplitted[1];
        
$MXCheck getmxrr$emailSplitted[1], &$mxhosts);
        if(!empty(
$MXCheck)) {
        return 
true;
        }
        else{
            return 
false;
        }

Ich habs auch ausprobiert, aber passt die Funktion so?!
LG rs-web
Mit Zitat antworten
Sponsored Links
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Redesign für Steiner Cycling Team pkipper Site- und Layoutcheck 11 09.02.2011 12:25
Fehler: character ";" not allowed in attribute specification list Schaum Javascript & Ajax 2 20.01.2011 13:54
Fehler bzw. Warnungen für eine Lightbox empfei (X)HTML 3 24.10.2009 14:27
PHP: ereg_replace verursacht fehler nach Umstellung auf UTF-8 braindead Serveradministration und serverseitige Scripte 5 02.07.2007 10:28
Kleiner Fehler bei Opera und IE -> Bitte Hilfe! ONeill CSS 10 11.08.2006 13:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:25 Uhr.