Checken von Formulareingaben

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

  • #16
    Hallo ich schon wieder

    Jetz habe ich das mit dem Mail in eine andere Seite ausgelagert. Aber irgendwie komme ich nicht zu Rande. Problem an der Sache: Der User muß eine Mailadresse eintragen die als Zieladresse für die Mail dient. Macht er das, wird die Mail ordnungsgemäß versendet. Läßt er das Feld leer dann solte eigentlich eine Fehlermeldung erscheinen. Stattdessen bekommen ich die PHP Meldung, daß kein Empfänger eingetragen ist ( No recipient ... )

    Wie kann ich das umgehen und es so machen, daß meine Fehlermeldung erscheint ?!?!?!?

    Hier noch kurz der Code :

    ----------------------------------------------------------
    <title>Mail</title>
    </head>
    <body BACKGROUND="../frame_back__down.jpg">
    <?

    // Datenbank verbinden

    include ("../open.inc.php");
    include ("../function.inc.php");

    // Datenbank abfragen
    $result = mysql_query("SELECT * FROM juh_jobs WHERE id='$id'");

    // Datensätze holen $PHP_SELF
    while ($row = mysql_fetch_array($result)) {

    $id=$row['id'];
    $ort=$row['jort'];
    $ansprechpartner=$row['jansprechpartner'];
    $email=$row['jemail'];
    $fachbereich=$row['jfachbereich'];
    $jobbeschreibung=$row['jbeschreibung'];
    $standort=$row['jstandort'];


    }


    // **************** Abfrage Formular ******************

    if(isset($sendemail)) {

    // *************** Mailverarbeitung ****************

    $test = mail("$sendemail",
    "$jansprechpartner hat eine Nachricht für Sie",
    "+++++++++INFO MAIL+++++++++++++++


    Sie haben eine Nachricht aus der Jobinfo des Regionalverbandes
    der Johanniter Oberschwaben-Bodensee erhalten. Näheres entnehmen
    Sie bitte aus beigefügter Nachricht.

    -----------------------------------------------
    Nachricht von $sendemail ( $jansprechpartner )

    $sendmessage
    -----------------------------------------------
    Hier das Jobangebot:

    Ausschreibender Standort : $jstandort
    Ansprechpartner : $jansprechpartner
    Emailadresse : $jemail

    Wo wird die Stelle angeboten : $jort
    Welcher Bereich : $jfachbereich

    Tätigkeitsbeschreibung :

    $jbeschreibung

    ----------------------------------------------

    Diese Nachricht wurde automatisch erstellt.
    Sie können diese Nachricht auch im Internet
    anschauen unter http://www.johanniter-oberschwaben-bodensee.de/jobs","From: $jemail <$jemail>");


    echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 NOF=LY>
    <TR VALIGN=TOP ALIGN=LEFT>
    <TD WIDTH=35 HEIGHT=60><IMG SRC=\"../clearpixel.gif\" WIDTH=35 HEIGHT=1 BORDER=0></TD>
    <TD></TD>
    </TR>
    <TR VALIGN=TOP ALIGN=LEFT>
    <TD></TD>


    <TD WIDTH=418>
    <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\">
    <TR>
    <TD WIDTH=418>
    <P><FONT SIZE=\"-1\" FACE=\"Verdana,Tahoma,Arial,Helvetica,sans-serif\">
    Ihre Email wurde an $sendemail erfolgreich verschickt</P>
    </TD>
    <TD WIDTH=0>
    <P><FONT SIZE=\"-1\" FACE=\"Verdana,Tahoma,Arial,Helvetica,sans-serif\"></P>
    </TD>
    </TR>
    ";

    }
    else {

    // ************** Fehlermeldung ***********************************++

    echo "Fehler";


    }
    ?>
    ----------------------------------------------------------

    Jemand ne Idee ???

    Danke

    Kommentar


    • #17
      So wie der Code da oben steht müsste das eigentlich funktionieren.
      Wenns das nicht tut weiß ich nicht warum.
      Das else kannst du dir allerdings sparen.
      Wenn if(isset($sendemail)) false ist ( also Feld nicht ausgefüllt, bzw. $sendmail kein Wert zugeordnet )
      wird das Script ohnehin hinter der if-Abfrage fortgesetzt.
      Das else brauchst du nur wenn du mehrere if-Abfragen verschachtelst.

      Also wie gesagt, das da oben müsste eigentlich funtionieren.
      Das einzige was sein könnte ist daß du irgendwo bereits $sendemail einen Wert zugeordnet hast.
      [font=comic sans ms]ups, never mind,
      it´s just me[/font]

      Kommentar


      • #18
        Habs mal etwas abgeändert.
        Hier:
        Das muß jedenfalls funktionieren, vorrausgesetzt der Variable $sendemail wird irgendwo ein Wert zugeordnet.
        Ich kann da drin nämlich keinen Wert für $sendemail entdecken, und auch kein Eingabefeld.
        Ich geh mal davon aus daß nach wie vor ein Eingabefeld geprüft werden soll ?
        Wenn dies bereits in open.inc.php oder function.inc.php geschehen ist, wie übergibst du dann die Daten an dieses Script hier ?? Per POST, GET oder wie ?
        PS: Wenn du $sendemail in einer Session registrierst, mußt du natürlich in diesem Script hier die Session wieder starten damit du die Variable hast.



        Hier versuchs mal:

        <html>
        <head>
        <title>Mail</title>
        </head>
        <body BACKGROUND="../frame_back__down.jpg">

        <?php

        /**** !! DATENBANK CONNECT HIER !! ****/


        include ("../open.inc.php");
        include ("../function.inc.php");

        // Datenbank abfragen
        $query = "SELECT * FROM juh_jobs WHERE id=$id";
        if(!$result = @mysql_query($query) die("Fehler beim auslesen der Daten !");
        // Datensätze holen $PHP_SELF
        while ($row = mysql_fetch_array($result)) {
        $id=$row['id'];
        $ort=$row['jort'];
        $ansprechpartner=$row['jansprechpartner'];
        $email=$row['jemail'];
        $fachbereich=$row['jfachbereich'];
        $jobbeschreibung=$row['jbeschreibung'];
        $standort=$row['jstandort'];
        } // ende while

        /**** Feld ausgefüllt ? ****/
        if(!isset($sendemail)) die("Fehler! Email-Feld ist nicht ausgefüllt !");

        /**** Feld ist ok --> jetzt Mail versenden ****/
        $mailbody = "$jansprechpartner hat eine Nachricht für Sie<br/>
        +++++++++INFO MAIL+++++++++++++++

        Sie haben eine Nachricht aus der Jobinfo des Regionalverbandes
        der Johanniter Oberschwaben-Bodensee erhalten. Näheres entnehmen
        Sie bitte aus beigefügter Nachricht.
        -----------------------------------------------
        Nachricht von $sendemail ( $jansprechpartner )

        $sendmessage
        -----------------------------------------------
        Hier das Jobangebot:

        Ausschreibender Standort : $jstandort
        Ansprechpartner : $jansprechpartner
        Emailadresse : $jemail

        Wo wird die Stelle angeboten : $jort
        Welcher Bereich : $jfachbereich

        Tätigkeitsbeschreibung :

        $jbeschreibung

        ----------------------------------------------
        Diese Nachricht wurde automatisch erstellt.
        Sie können diese Nachricht auch im Internet
        anschauen unter http://www.johanniter-oberschwaben-bodensee.de/jobs";

        /**** hier wird jetzt die Mail versandt ****/
        if(!$senden = mail("$sendemail","$mailbody","From: $jemail") die("Fehler! Email konnte nicht gesendet werden !)";

        echo ("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 NOF=LY>
        <TR VALIGN=TOP ALIGN=LEFT>
        <TD WIDTH=35 HEIGHT=60><IMG SRC=\"../clearpixel.gif\" WIDTH=35 HEIGHT=1 BORDER=0></TD>
        <TD></TD>
        </TR>
        <TR VALIGN=TOP ALIGN=LEFT>
        <TD></TD>
        <TD WIDTH=418>
        <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=\"100%\">
        <TR>
        <TD WIDTH=418>
        <P><FONT SIZE=\"-1\" FACE=\"Verdana,Tahoma,Arial,Helvetica,sans-serif\">
        Ihre Email wurde an $sendemail erfolgreich verschickt</P>
        </TD>
        <TD WIDTH=0>
        <P><FONT SIZE=\"-1\" FACE=\"Verdana,Tahoma,Arial,Helvetica,sans-serif\"></P>
        </TD>
        </TR>
        )";
        /**** PS: Dieses HTML da oben hab ich unverändert übernommen !
        Ich war das nicht, ich schwöre ich wars nicht :lol ;-) ****/

        ?>

        </body>
        </html>
        [font=comic sans ms]ups, never mind,
        it´s just me[/font]

        Kommentar


        • #19
          Guten Morgen,

          erstmal danke für den unmißverständlichen Hinweis daß ich ein HTML und PHP Idiot bin.

          Zum Glück fallen jeden morgen immer wieder HTML- und PHP-Götter einfach so vom Himmel und zum Glück gibt es fast keine Anfänger mehr. Was würden wir und was würden solche Foren ohne Genies tun. Ich bin echt froh !

          Um den Erwartungen zu entsprechen : Das Ding läuft noch nicht. Ich lassen mir nach dem Absenden die Variable $sendemail ausgeben. Diese ist dann auch mit einem Wert belegt. Das versenden klappt auch gut. Nur eben, wenn dieses Feld nicht ausgefüllt wird - dann sollte eigentlich ne Fehlermeldung kommen - funzt es nicht.

          Danke schon mal ....

          Kommentar


          • #20
            Guten Morgen.
            Na entschuldige bitte.
            Ich wusste nicht daß du einen nicht ernst gemeinten Kommentar so ernst nimmst.
            Ich wollte ja bloß helfen.

            Die reine Prüfung ob ein Feld eausgefüllt ist:
            <?php
            if($sendemail = "") {
            echo "Feld nicht ausgefüllt";
            die; ( oder exit; ) ( oder flush() )
            } // ende if
            else {
            */ hier was geschen soll wenn ausgefüllt*/
            } // ende else
            ?>

            ( nochmal, man kann sich das else manchmal sparen. kommt aufs script an )

            Alternativ hierzu die Prüfung ob der Variable $sendmail ein Wert zugeordnet ist:
            <?php
            if(!isset($sendemail)) {
            echo "Variable hat keinen Wert, bzw. Feld nicht ausgefüllt";
            } // ende if

            echo "Variable Sendemail hat den Wert: $sendemail";
            ?>

            Mehr ist es nicht.
            Wenn das in deinem Script nicht funktioniert, dann brauche ich die Scripte ( inclusive der Includes ).
            Die könnte ich mir am Wochenende ansehen und das Ganze versuchen hinzubiegen wenn du möchtest.
            Nochmal, mein Kiommentar da oben war nicht ernst oder böse gemeint. Sorry wenn du das so aufgefasst hast.
            Und ich bin auch kein Profi.

            [font=comic sans ms]ups, never mind,
            it´s just me[/font]

            Kommentar


            • #21
              Original geschrieben von Raphael 69
              Wenn if(isset($sendemail)) false ist ( also Feld nicht ausgefüllt, bzw. $sendmail kein Wert zugeordnet )
              wird das Script ohnehin hinter der if-Abfrage fortgesetzt.
              Jetzt mal aufklären, warum das mit isset nicht funktioniert: isset prüft nur nach, ob die Variable definiert ist. Wenn es sich dabei um ein Formularfeld handelt, ist sie natürlich definiert, es ist ihr also ein Wert zugeordnet - auch wenn es sich dabei um einen Leerstring handelt. Ergo muss nicht geprüft werden, ob ein Wert existiert, sondern ob dieser gültig ist.

              Nochmal ein Hinweis auf unsere Code-Schnipsel: Der Schnipsel eMail-Adresse checken zeigt, wie man nicht nur prüft, ob ein Wert gegeben ist, sondern auch ob es sich um eine gültige eMail-Adresse handelt.
              Brainbug zeigt sogar noch, wie man prüft, ob der in der Adresse angegebene Server erreichbar ist: eMail-Check mit PHP
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar


              • #22
                Hallo zusammen,

                nu bin ich wieder online.

                @ rapahel

                Auch sorry, aber ich hab manchmal echt schon Bamel in solchen Foren irgendwelche Dummi-Fragen zu stellen. Mann kommt sich da manchmal vor wie ein Hase unter lauter (PHP)-Wölfen.

                Aber nu is wieder gut

                @ titus
                Danke für den Tip. Jetzt funktioniert es. Email wird gecheckt und entsprechende Meldungen erscheinen auch.

                DANKESCHÖÖÖÖÖÖÖÖÖÖN

                Kommentar


                • #23
                  @Titus: if($sendemail = "") So stehts doch da oben.


                  [font=comic sans ms]ups, never mind,
                  it´s just me[/font]

                  Kommentar


                  • #24
                    jo, aber manch einer möcht halt wissen, warum das so ist.
                    Ich wollt dir ja gar nicht widersprechen, sondern deinen Beitrag nur ergänzen.
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar

                    Lädt...
                    X