Funktion der Mailprüfung

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

  • Funktion der Mailprüfung

    Hallo!

    Ich habe in meinem Script das ich mir schreibe versucht die Mailadressenprüfung einzubauen, wie sie in den Codeschnipseln steht. Um auch die Domain zu prüfen.

    Wenn ich mein Scipt nun ausführe, erhalte ich aber leider folgende Fehlermeldung, wenn ich eine korrekte Mailadresse eingebe:
    Fatal error: Call to undefined function: getmxrr() in H:\web\Apache2\htdocs\saeingabe.php on line 96

    Ich vermute ja, dass das evtl. nur funktioniert, wenn das Script auf dem Server liegt?!

    Hier der Quellcode:

    PHP-Code:
    //Funktion der Mailprüfung
    function checkmail($email) {
        if (
    eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$"$email$check)) { 
            if(
    getmxrr(substr(strstr($check[0], '@'), 1), $validate_email_temp)) { 
                return 
    true;
                }
            if(
    checkdnsrr(substr(strstr($check[0], '@'), 1),"ANY")){
                return 
    true;
                }
            }
        return 
    false;
        }

    .
    .
    .

    //Prüfung der Mail
      
    $check=checkmail("$email");
      if (!
    $check) die("Die angegebene Mailadresse ist ungültig"); 
    Entschuldigt die Naivität der Frage, aber ich bin Quereinsteiger, den vieles leider noch ein Buch mit sieben Siegeln ist. Auch die Suche hat leider nicht weitergeholfen.

    Vielen Dank an Euch
    Jens
    EDIT:
    es ist noch niemand dran gestorben [PHP]-Tags zu benutzen!
    Zuletzt geändert von TobiaZ; 25.11.2003, 14:35.

  • #2
    ob quereinsteiger hin oder her "Call to undefined function: getmxrr() " ist doch quasi eindeutig ... du versuchst eine funktion zu nutzen, die es gar nicht gibt ...
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ... und diese funktion steht auf windows-systemen nicht zur verfügung, was man auch im manual nachlesen kann...
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        danke für die prompte antwort.

        bin wieder ein stück schlauer. werde es nun alles serverseitig testen.

        danke nochmal und grüße
        jens

        Kommentar


        • #5
          Ich trau mich kaum zu fragen, aber eine Frage quält mich noch:

          Ich habe eine Art Anzeige die man aufgibt, die freigeschalten werden soll.

          Ich habe das im Moment nu so lösen können, dass ich den betreffenden Eintrag per Suche finden lassen kann. Dann lasse ich mir die Einträge auflisten, die der Suche entsprechen. Dort kann ich dann klicken ob Freischalten oder Löschen.

          PHP-Code:
          while (list($saEINNR,$saDATUM,$saFIRMA,$saANSPRECH,$saCHIFFRE) = $db->data())
            {
                echo(
          "[<a href=\"saloeschen.php?loeschid=$saEINNR\">Löschen</a>]&nbsp;-&nbsp;");
              echo(
          "$saDATUM $saFIRMA $saANSPRECH $saCHIFFRE");
              echo(
          "&nbsp;-&nbsp;[<a href=\"safreischalt.php?freischaltid=$saEINNR\">Freischalten</a>]<br>"); 
          Wenn ich denn auf den Link klicke öffnet sich die entsprechende Datei und führt auch meinen Befehl aus. ("UPDATE TABELLE SET saFREIGABE='1' WHERE saEINNR=$freischaltid")

          Das kann zur Not so bleiben, aber könnt Ihr mir einen Ansatz geben, wie ich das umsetzen könnte ohne eine Extradatei zu öffnen? Es soll auf der selben Seite nur eine kurze Meldung erscheinen, das dann gelöscht oder freigeschaltet wurde. Ich habe leider keine Idee. Freue mich über jeden Ansatz, wie ich das anstellen könnte. Danke!
          EDIT:
          auch hier, ich versprech dir, du wirst nicht sterben!
          Zuletzt geändert von TobiaZ; 25.11.2003, 14:36.

          Kommentar


          • #6
            entschuldigt, wenn ich den thread noch einmal nach vorn hole, aber evtl. wurde er von den leuten, die evtl. eine lösung haben übersehen.

            also schaut euch doch einfach nochmal meinen letzten beitrag an. ich hoffe die frage ist so verständlich. wenn nicht einfach nochmal kurzen reply.

            gleich eine frage hinterher. soll ich einen neuen thread aufmachen, wenn sich wie hier eine neue frage auftut? ich frage das, um dem allgemeinen forenverhalten so schnell wie möglich gerecht zu werden. bitte nicht böse sein.

            danke und viele grüße
            jens

            Kommentar


            • #7
              Du kannst das so machen.

              datei.php?schalten=true&id=5

              und dann in dem script selber:

              PHP-Code:
              if(!empty($_POST['schalten']) && $_POST['schalten']) {
              // hier das freischalten
              echo 'wurde freigeschaltet!';

              Zum Forumverhalten:
              1. PHP-Tags benutzen
              2. Wenn die Frage nicht unmittelbar mit der hier zu tun hat, kannst du ruhig nen neuen auf machen, dann wirds nicht so durcheinander. wenn du allerdings 3 Threads unter den ersten 30 hast, werde ich mich mal melden

              Kommentar


              • #8
                Vielen Dank für den Blitzsupport.

                Hier mal ein PHP Test:

                PHP-Code:
                <?php
                  
                echo("Vielen Dank - ab jetzt wird es besser ;o)");
                ?>

                Kommentar


                • #9
                  Hallo nochmal!

                  Ich habe das ganze jetzt probiert.

                  Die Variable musste ich mir statt POST mit GET holen. Dann läuft die Sache.

                  Allerdings noch eine Frage:

                  PHP-Code:
                  if(!empty($_POST['schalten']) && $_POST['schalten']) { 
                  Hier wird zunächst geprüft ob die Variable nicht leer ist. Aber was passiert hinter dem und?

                  Wie kann ich die Variable dann zurücksetzen? Ich habe es mit unset probiert, aber durch das holen der Variable vom löschen wird sie automatisch wieder auf True gesetzt oder?

                  Jens

                  Kommentar


                  • #10
                    hinter dem und wird geguckt ob sie true ist.

                    Wie kann ich die Variable dann zurücksetzen? Ich habe es mit unset probiert, aber durch das holen der Variable vom löschen wird sie automatisch wieder auf True gesetzt oder?
                    warum willst du die zurücksetzen? in deinem scriot hat die entweder true oder sie existiert gar nicht.

                    Kommentar


                    • #11
                      Wenn ich das Script laufen lasse und ich habe einen Eintrag gesucht und z.b. gelöscht, dann kommt die Meldung "Eintrag wurde gelöscht". Wunderbar!

                      Gebe ich dann in mein Formularfeld eine neue Suche ein und Submitte diese, sehe ich unter meinen Suchergebnissen immer noch "Eintrag wurde gelöscht", weil die Variable anscheinend immer noch auf true steht.

                      Aber nach der erneuten Suchabfrage sollte der Hinweis verschwinden und "schalten" nicht mehr gesetzt sein. Deswegen wollte ich den Wert löschen, damit die Bedingung nicht mehr erfüllt wird.

                      Danke
                      Jens

                      Kommentar


                      • #12
                        wie sieht denn der form-tag der suche aus?

                        Kommentar


                        • #13
                          Hier mal der ganze Code. Sicherlich werden Euch bei dem Chaos die Augen übergehen, aber ich stehe noch am Anfang und gebe mein bestes.

                          PHP-Code:
                          <body>
                            Freischaltung der Anzeigen nach Überweisung bzw. löschen von Einträgen.
                          <form method="post" action="<?php echo($php_self); ?>"> 
                          Suchbegriff: <input name="suchbegriff" type="text" size="40" id="eingabe" value="<?php if (isset($_REQUEST['suchbegriff'])) echo htmlspecialchars($_REQUEST['suchbegriff']); ?>">
                          <input type="submit" name="Suchen" value="Suche starten">
                          </form>

                          <?php
                          include("samysql.php");
                          if ((isset(
                          $_REQUEST['suchbegriff'])) && ($_REQUEST['suchbegriff'] != ""))
                            {
                          $suchbegriff $_POST['suchbegriff'];
                              if (
                          strlen($suchbegriff=trim($suchbegriff)) <= 1)
                              die (
                          "Bitte mindestens 2 Zeichen eingeben!"); else
                             {
                          $db->query("SELECT * FROM Tabelle WHERE saFREIGABE LIKE '0' AND saFIRMA LIKE '%$suchbegriff%' OR saANSPRECH LIKE '%$suchbegriff%' ORDER BY saDATUM");

                            while (list(
                          $saEINNR,$saDATUM,$saFIRMA,$saANSPRECH,$saCHIFFRE) = $db->data())
                            {
                                echo(
                          "[<a href=\"safreigabe.php?schalten=true&loeschid=$saEINNR\">Löschen</a>]&nbsp;-&nbsp;");
                              echo(
                          "$saDATUM $saFIRMA $saANSPRECH $saCHIFFRE");
                              echo(
                          "&nbsp;-&nbsp;[<a href=\"safreischalt.php?freischaltid=$saEINNR\">Freischalten</a>]<br>");
                            }}}

                          if(!empty(
                          $_GET['schalten']) && $_GET['schalten']) 
                          {
                            
                          //Löschen
                            
                          $loeschid $_GET['loeschid'];
                            
                          $db->query("delete from Tabelle WHERE saEINNR=$loeschid");
                            echo 
                          '<br>Die Anzeige wurde gelöscht!';
                          }
                          ?>
                          </body>

                          Kommentar


                          • #14
                            $php_self soll $_SERVER['PHP_SELF'] sein?

                            BTW: wenn ich nach dem Form-Tag frage, dann meine ich den auch. wäre also nett, wenn du mir das reine HTML postest.

                            Kommentar


                            • #15
                              ja...


                              Ich habe das jetzt einmal geändert und siehe da, es funktioniert! Vielen Dank.

                              Kommentar

                              Lädt...
                              X