Formular

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

  • Formular

    HI!

    Ich habe ein kleines Problem und kann aber den Fehler nicht finden.
    Folgendes:

    Ich habe ein Formular in dem Daten eingegeben werden können.
    Die Daten werden dann mit:

    PHP-Code:
    <form name="form" method="post" action="index.php?ausw=absenden&reihe=neu&form=ok"
    übergeben. Wichtig hierbei ist nur form=ok (die anderen beziehen sich auf die seite, nicht auf das formular).

    in der abesenden.php, die dadurch aufgerufen wird, steht folgendes drin:

    PHP-Code:
    <?php

    $adresse
    ="Feedback"
    $absender="feedbackformular";
    $empfaenger="info@domain.de";


    $ip=$REMOTE_ADDR;
    $hua=$HTTP_USER_AGENT;

    //Script - Felder checken
    if($form="ok") {
       switch(
    $form="ok") {
          case 
    'go':

        if (empty(
    $name) || empty($message) || empty($email))
        {
     include(
    "falsch.php");
     exit;
    }

    $header="From:$absender<mailer@$adresse>\n";
     
    mail("$empfaenger","$subject",
    "$name schrieb:
    $message

    --------------------
    Strasse: 
    $strasse
    Ort: 
    $ort
    Tel.: 
    $tel
    Fax.: 
    $fax
    E-Mail: 
    $email
    --------------------
    IP : 
    $ip
    Browser: 
    $hua
    "
    ,"$header");

                    }
              include(
    "jep.php");
              exit;
    }

    ?>
    Die Werte von form usw... werden alle korrekt übergeben und es werd auch ein Fehler gemeldet, wenn nicht alle Felder ausgefüllt sind.
    Das Problem ist nun aber folgendes: Es wird zwar die jepseite (Bestätigung) aufgerufen, aber keine Mail versand.
    Wo liegt da der Fehler ?

    Gruß Elch5

  • #2
    warum hast du $header in mail gequoted und hast du überhaupt nen mail server um mails zu verschicken?
    SQL Injection kitteh is...

    Kommentar


    • #3
      if($form="ok") {
      switch($form="ok") {
      was soll das machen???
      und dan case 'go' ????

      1. if($form == 'ok')
      2. switch ($form = 'ok') // was soll das bewirken?
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        lol, stimmt, kein sinn
        SQL Injection kitteh is...

        Kommentar


        • #5
          HI!

          Äh, ja da habt ihr recht, es gibt keinen sinn. Weiß gar nicht warum ich das eingepflanzt habe. Komisch.
          Aber wie bringe ich jetzt es dazu, dass die Sachen verschickt werden ?

          Gruß

          Elch5

          Kommentar


          • #6
            1. wo testest du das Script?
            2. Hat der entsprechende Server mail() aktiviert
            3. Nimm die "" vom $header;
            SQL Injection kitteh is...

            Kommentar


            • #7
              @Seikilos tolle Posts ohne Inhalt...

              @Elch5 Also erstmal benutze die global arrays: $_GET, $_POST, $_SERVER, etc.

              PHP-Code:
              if($_GET['form'] == "ok") {
                  if (empty(
              $_POST['name']) || empty($_POST['message)'] || empty($_POST['email']))
                  {
               include(
              "falsch.php");
               exit;
              } else{

              $header="From:$absender<mailer@$adresse>\n";
               
              mail("$empfaenger","$subject",
              // auch hier $_POST array benutzen

              "$name schrieb:
              $message

              --------------------
              Strasse: 
              $strasse
              Ort: 
              $ort
              Tel.: 
              $tel
              Fax.: 
              $fax
              E-Mail: 
              $email
              --------------------
              IP : 
              $ip
              Browser: 
              $hua
              "
              ,"$header");

                        include(
              "jep.php");
                        exit;
                  }
              }

              ?> 
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                dem muss ich widersprechen.
                Denn ich finde, dass deine tipps ihn nichts wirkliches bringen, wenn er sagt, dass er die bestätigung bekommt, so hackts an der mail:

                Probier folgendes:

                PHP-Code:
                $stat=mail("$empfaenger","$subject",
                // auch hier $_POST array benutzen

                "$name schrieb:
                $message

                --------------------
                Strasse: 
                $strasse
                Ort: 
                $ort
                Tel.: 
                $tel
                Fax.: 
                $fax
                E-Mail: 
                $email
                --------------------
                IP : 
                $ip
                Browser: 
                $hua
                "
                ,"$header");

                //dann : 
                if ($stat==true){
                echo 
                "Mail erfolgreich verschickt<br>";
                } else { echo 
                "nicht verschickt<br> "; } 
                SQL Injection kitteh is...

                Kommentar


                • #9
                  Tja das is falsch, denn die Bestätigung wird in dem Ursprungscode immer ausgegeben, denn
                  if ($form='ok') // immer wahr
                  dann kommt switch($form='ok')
                  hier ist das Mail drin aber das wird nicht ausgeführt weil die ganze switch müll ist..
                  und dann nach der }
                  wird die jep.php aufgerufen.
                  So siehts aus und
                  @Seikilos wenn mail nicht installiert oder nicht ausführbar ist, dann wird ein Fehler geworfen, wenn aber der code syntaktisch richtig ist semantisch aber nicht dann nicht.
                  btw ob $header in " steht oder nicht tut da nichts zur sache, noch nicht...
                  etc. pp.
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    das mit der bestätitung ist mir auch klar, und das wenn mail nicht existiert, muss nix heißen, vielleicht sind die error msgs aus
                    SQL Injection kitteh is...

                    Kommentar


                    • #11
                      Denn ich finde, dass deine tipps ihn nichts wirkliches bringen, wenn er sagt, dass er die bestätigung bekommt, so hackts an der mail:
                      Wenn man nichts weiss einfach mal die Klappe halten...
                      ( wie ein weiser Mensch hier in seinem Footer stehen hat )
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        ok
                        SQL Injection kitteh is...

                        Kommentar


                        • #13
                          Dankeschön

                          Hi!

                          Ich habe eine andere Lösung gefunden und jetzt funktioniert es auch.

                          Aber trotzdem Danke!

                          Schönen Abend noch

                          Elch5

                          Kommentar


                          • #14
                            Teilst du sie uns mit?
                            Immerhin haben hier leute zeit investiert um dir zu helfen.
                            Aber natürlich nur, wenns keine umstände macht
                            SQL Injection kitteh is...

                            Kommentar


                            • #15
                              Jep, könnte ich schon machen, falls es euch interessiert.
                              Aber es eine ist komplett andere Programmierung.

                              Schönen Abend

                              Elch5

                              Kommentar

                              Lädt...
                              X