formmailer fehler wichtig

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

  • formmailer fehler wichtig

    hallo erstmal,

    bin ein neuling hier im forum und überhaupt was php angeht.

    habe mich die letzten tage über ein kontaktformular gestürzt.

    habe zur ausgabe folgenden code:

    PHP-Code:
        if (empty($aErrors)) { 
            
    $date date('d.m.Y - H:i'); 
            
    $sender $_POST['email']; 
            
    $header "From:" $sender
            
    $mailtext $_POST['name'] . " schrieb am " $date " in das
     Formular:\n\nNachricht:\n\n" 
    $_POST['text']; 
            
    $subject "Kontaktformular"
            
    $mailto "hummelchen1976@web.de"

            
    mail($mailto$subject$mailtext$header); 
        } 
    so weit so gut, das klappt auch

    aber ich möchte gerne noch radiobuttons dazu haben.

    wenn ich jetzt den befehl

    PHP-Code:
    $mailtext $_POST['name'] . " schrieb am " $date " in das
     Formular:\n\nNachricht:\n\n" 
    $_POST['text'] . $_POST['antwort']; 
    eingeben (radiobuttons nenne ich dort antwort) geht das auch,
    also hinter dem text wird gleich ohne . ohne , und ohne leer die
    antwort des angeklickten radiobuttons eingefügt.
    aber wenn ich den code so schreibe

    PHP-Code:
    $mailtext $_POST['name'] . " schrieb am " $date " in das 
    Formular:\n\nNachricht:\n\n" 
    $_POST['text'] .  
    " Anwort erbeten per:\n\n" $_POST['antwort']; 
    schickt er mir das forumular zwar mit der weiterleitung "danke für
    den versand", aber es kommt im postfach nichts an

    bei spams hab ich im postfach geguckt, und automatisches
    löschen von spam ist nicht eingestellt (im emailpostfach)

    bitte um hilfe
    Zuletzt geändert von hummelchen1976; 17.07.2006, 13:26.

  • #2
    Bitte umbrich Deinen Code.

    Zeichenketten werden in PHP mit dem Punkt verbunden:

    PHP-Code:
    " Anwort erbeten per:\n\n".$_POST['antwort']; 

    Kommentar


    • #3
      den code hatte ich als vorlage, habe den nur noch mit dem letzten teil [antwort] editiert.

      das ging ja bis dahin reibungslos. warum akzeptier er das nun nicht mehr.


      so hab das nochmal so gemacht wie du gesagt hast, jetz funktionierts, hab das ganze innerhalb
      von 5 minuten 2 mal ausgefüllt (das formular)

      nur das erste ist angekommen

      kann das sein daß da web.de probleme macht mit der übermittlung

      hab als form das angegeben

      PHP-Code:
          <form action="" method="post"
      im original ist da noch enctype="multipart/form-data" mit bei, hab das in meinem fall wechgelassen.
      kann sein daß er nicht alle formulare an web de übermittelt?
      Zuletzt geändert von hummelchen1976; 17.07.2006, 13:24.

      Kommentar


      • #4
        umbrich doch bitte Deinen Code (Return einfügen).

        Die mail-Funktion ist nicht optimal, besser ist die php-mailer
        Klasse - ob du als Anfänger damit klar kommst weiß ich nicht.

        Wenn die erste mail angekommen ist, dann müßte die zweite
        auch ankommen oder im spam-Ordner landen.

        Als enctype mußt "text/plain" für "nur Text" angeben.

        Kommentar


        • #5
          umbrich doch bitte Deinen Code (Return einfügen).

          Die mail-Funktion ist nicht optimal, besser ist die php-mailer
          Klasse - ob du als Anfänger damit klar kommst weiß ich nicht.
          wo soll ich denn return einfügen?

          welche mailfunktion ist nciht optimal, was ist eine php-mailer klasse?

          BIN DOCH ANFÄNGER

          kann damit leider nichts anfagen.

          ich finde nirgends einen thread der einem erklärt wie das mit php funktioniert.
          speziell damit man das als anfänger nachvollziehen kann.
          ich meine speziell mit dem kontaktformular
          Zuletzt geändert von hummelchen1976; 17.07.2006, 13:24.

          Kommentar


          • #6
            umbrechen bedeutet, daß man Returns einfügt in den
            Quelltext:


            hier ist ein Return nach dem das:

            blasjdasd das
            und hier gehts weiter


            hier ist ein Return nach dem hier:

            blasjdasd das und hier
            gehts weiter


            ein gutes Tutorial für Anfänger findest Du hier:

            http://tut.php-q.net/formulare.html

            Kommentar


            • #7
              ja was return und umbruch ist weiß ich ja aber ich
              kann doch nciht einfach so im quelltext bei php nen
              umbruch machen.

              ich kenn einige situationen bei html wenn man den
              einfügt dann bekommt man probleme, also hab ich die bei
              php weggelassen.

              für was sind denn umbrüche gut
              Zuletzt geändert von hummelchen1976; 17.07.2006, 13:23.

              Kommentar


              • #8
                Original geschrieben von hummelchen1976
                für was sind denn umbrüche gut
                Dafür, dass man hier nicht meterweit querscrollen muss ...
                Regeln lesen, dann posten.

                Und für deine bisherigen Beiträge in diesem Thread passe es bitte an.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  na gut hab das mal gemacht, ob wohl hier bei der texteingabe auch nach
                  einer bestimmten breite das ganze automatisch nach unten geht
                  und man nicht extra return drücken muß. kenn keine foren bis auf eueres
                  wo man das so machen muß, aber muß wohl so sein.

                  hab da was mit dem code falsch verstanden, dachte daß man da umbrüche
                  machen muß weil es sonst nicht geht. daß ich hier im text umbrüche
                  machen soll, damit es dann besser lesbar ist, sorry das konnte ich nicht so deuten. obwohl mir natürlich aufgefallen ist daß das bischen doof ist.

                  hab das mit den nur regeln überflogen.

                  nun gut hoffe so seit ihr mit mir besser zufrieden
                  Zuletzt geändert von hummelchen1976; 17.07.2006, 13:33.

                  Kommentar


                  • #10
                    jo - so isses besser.

                    wegen der phpmailer-Klasse.

                    die gibts auf:

                    http://phpmailer.sourceforge.net/

                    Du bindest die Klasse mit include ein und erzeugst
                    ein neues Objekt und weist diesm Objekt dann
                    Eigenschaften (Empfängeradresse etc.) zu.

                    Kommentar


                    • #11
                      erstens enctype=text/plain wäre für ein Formular falsch (ausser in einem bestimmten Fall). enctype sollte überhaupt weggelassen werden (ausser in zwei bestimmten Fällen).

                      zweitens liefert mail() ein boolean Resultat, das man abprüfen sollte. mail() ist für ein simples E-Mail, am Anfang, sicher richtig . Abgesehen vom fehlenden '.' war alles richtig (der fehlende punkt hatte mit email nichts , aber mit strings alles zu tun und stört egal was geskripted wird)

                      drittens wäre error_reporting(E_ALL) sinnvoll um zu sehen was mit dem mail los ist.

                      viertens, sobald es läuft, wird das Stichwort mail-Injection aktuell.

                      Kommentar

                      Lädt...
                      X