+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Formular lässt sich nicht abschicken!

  1. #1
    ECHT_nordisch
    Guest

    Formular lässt sich nicht abschicken!

    Hallo,

    ich experimentiere schon fast den ganzen morgen mit diesem Formmailer herum. Anfangs klappte auch alles ganz gut, aber jetzt lässt sich das Formular nicht mehr abschicken, denn ich erhalte immer diese Fehlermeldung:


    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w****/ordnername/kontakt/formmailer.php:2) in /www/htdocs/w****/ordnername/kontakt/formmailer.php on line 203
    Allerdings kann ich den Fehler nicht finden, oder übersehe ich einfach was?

    PHP-Code:
    <style type="text/css">
    body {
     background-color: #FFFFFF;
    }
    .font-big {
     font-family:Verdana, sans-serif;
     font-size:16px; font-weight:bold;
     color:#FFFFFF;
    }
    .font-small {
     font-family:Verdana, sans-serif;
     font-size:10px; font-weight:normal;
     color:#000000;
    }
    .table {
     background-color:#FFFFFF;
     width:90%;
    }
    .head {
     background-color:#83ADDD;
    }
    .main {
     background-color:#ECECEC;
     font-family:Verdana, sans-serif;
     font-size:12px; font-weight:normal;
     color:#000000;
    }
    .foot {
     background-color:#83ADDD;
    }
    .align {
     text-align:left;
    }
    .textarea {
     background-color:#ECECEC;
     color:#000000;
     font-family : Verdana, Helvetica, sans-serif;
     font-size: 12px;
     font-weight: bold;
     border : 1px solid #808080;
    }
    .input {
     background-color:#ECECEC;
     color:#000000;
     font-family : Verdana, Helvetica, sans-serif;
     border : 1px solid #808080;
     font-size: 12px;
    }
    .select {
     background-color:#ECECEC;
     color:#000000;
     font-family : Verdana, Helvetica, sans-serif;
     font-size: 12px;
    }
    .button {
     width: 130px;
    }
    </style>


    <script language="JavaScript" type="text/javascript">
    <!--
    function VerifyEmailAddress(EmailAddress) {
     if (window.RegExp) {
      var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
      var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$";
      var reg1 = new RegExp(reg1str);
      var reg2 = new RegExp(reg2str);
      if (!reg1.test(EmailAddress) && reg2.test(EmailAddress)) {
       return true
      }else {
       return false
      }
     }else {
      if (EmailAddress.indexOf("@") >= 0) {
       return true
      }else {
       return false
      }
     }
    }
    function rest(a,b,c,d) {
     var keyCode = d.keyCode ? d.keyCode : d.which ? d.which : d.charCode;
     if (keyCode == 38 || keyCode == 40)
      return;
     r = (b - a.value.length);
     if (r < 0)
      r = 0;
     if ( (e = document.getElementById(c)) != null)
      e.innerHTML = r;
     if (a.value.length > b) {
      a.value = a.value.substr(0,b);
     }
    }
    function check_form(f) {
     if (f.elements['unternehmen_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Unternehmen)");
      f.elements['unternehmen_'].focus();
      return false;
     }
     if (f.elements['ansprechpartner_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Ansprechpartner)");
      f.elements['ansprechpartner_'].focus();
      return false;
     }
     if (f.elements['strasse_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Straße)");
      f.elements['strasse_'].focus();
      return false;
     }
     if (f.elements['adresse_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Plz  Ort)");
      f.elements['adresse_'].focus();
      return false;
     }
     if (f.elements['telefon_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Telefon)");
      f.elements['telefon_'].focus();
      return false;
     }
     if (f.elements['absender_mail'].value=='') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(E-Mail)");
      f.elements['absender_mail'].focus();
      return false;
     }else {
      if (!VerifyEmailAddress(f.elements['absender_mail'].value)) {
       alert("Bitte geben Sie eine gültige E-Mail Adresse ein!");
       f.elements['absender_mail'].focus();
       return false;
      }
     }
     if (f.elements['webseite_'].value == '') {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(Webseite)");
      f.elements['webseite_'].focus();
      return false;
     }
     if (!f.elements['absender_AGB'].checked) {
      alert("Bitte alle Pflichtfelder ausfüllen! \n(AGB)");
      return false;
     }
     if (navigator.appName=="Microsoft Internet Explorer") {
      for (i=0;i<f.length;i++) {
       var e=f.elements[i];
       if (e.type == 'submit' || e.type == 'reset')
        e.disabled=true;
      }
     }
     return true;
    }
    //-->
    </script>



    <?php

    ### Konfiguration ###

    # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

    # An welche Adresse sollen die Mails gesendet werden?
    $strEmpfaenger 't.luttmann@erfolgsfaktor.mobi';

    # Welche Adresse soll als Absender angegeben werden?
    # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
    $strFrom       '"ANMELDUNG" <noreply@erfolgsfaktor.mobi>';

    # Welchen Betreff sollen die Mails erhalten?
    $strSubject    'ANMELDUNG GRATIS ANALYSE';

    # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
    # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
    $strReturnhtml 'danke.html';

    # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
    $strDelimiter  ":\t";

    ### Ende Konfiguration ###

    if($_POST)
    {
     
    $strMailtext "";

     while(list(
    $strName,$value) = each($_POST))
     {
      if(
    is_array($value))
      {
       foreach(
    $value as $value_array)
       {
        
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
       }
      }
      else
      {
       
    $strMailtext .= $strName.$strDelimiter.$value."\n";
      }
     }

     if(
    get_magic_quotes_gpc())
     {
      
    $strMailtext stripslashes($strMailtext);
     }

     
    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom)
      or die(
    "Die Mail konnte nicht versendet werden.");
     
    header("Location: $strReturnhtml");
     exit;
    }

    ?>

    <form action="<?php print $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post" onsubmit="return check_form(this);">
    <input type="hidden" name="pflicht" value="unternehmen_,ansprechpartner_,strasse_,adresse_,telefon_,webseite_,absender_AGB" />
    <input type="hidden" name="empfaenger_mail" value="t.luttmann@erfolgsfaktor.mobi" />
    <input type="hidden" name="language" value="de" />
    <input type="hidden" name="page_background_color" value="#FFFFFF" />
    <input type="hidden" name="page_font_color" value="#000000" />
    <table align="center" class="table" border="0" cellspacing="1" cellpadding="3">
    <tr>
    <td colspan="2" class="head" height="17" width="100%" align="left"><span class="font-big">Anmeldung</span></td>
    </tr>
    <tr>
    <td class="main" colspan="2" height="16" width="100%"><span class="font-small">Bitte f&uuml;llen Sie alle mit * markierten Felder aus. (Pflichtfelder)</span></td>
    </tr><tr>
    <td class="main" width="30%"><div class="align">Unternehmen*</div></td>
    <td class="main"><input class="input" type="text" name="unternehmen_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Ansprechpartner*</div></td>
    <td class="main"><input class="input" type="text" name="ansprechpartner_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Stra&szlig;e*</div></td>
    <td class="main"><input class="input" type="text" name="strasse_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Plz  Ort*</div></td>
    <td class="main"><input class="input" type="text" name="adresse_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Telefon*</div></td>
    <td class="main"><input class="input" type="text" name="telefon_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">E-Mail*</div></td>
    <td class="main"><input class="input" type="text" name="absender_mail" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Webseite*</div></td>
    <td class="main"><input class="input" type="text" name="webseite_" size="20" maxlength="100" /></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Ihr Kommentar</div></td>
    <td class="main">(Restzeichen: <span id="count_1">2500</span>)<br /><textarea class="textarea" name="komentar_" id="komentar_" cols="30" rows="5" onkeydown="rest(this,2500,'count_1',event)" onkeyup="rest(this,2500,'count_1',event)" onchange="rest(this,2500,'count_1',event)"></textarea>
    </td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">AGB*</div></td>
    <td class="main"><input type="checkbox" name="absender_AGB" id="absender_AGB" value="ja" />&nbsp;<span class="main"><a href="http://www.adresse.de/agb" target="_blank">AGB's</a></span>&nbsp;<label for="absender_AGB">gelesen und akzeptiert</label></td>
    </tr>
    <tr>
    <td class="main" width="30%"><div class="align">Wie haben Sie uns gefunden</div></td>
    <td class="main"><select class="select" name="marketing_">
    <option value="google">google</option>
    <option value="Tageszeitung">Tageszeitung</option>
    <option value="Empfehlung">Empfehlung</option>
    <option value="Erfolgsfaktor Internet">Erfolgsfaktor Internet</option>
    <option value="sonstiges">sonstiges</option>
    </select>
    </td>
    </tr>
    <tr><td class="foot" colspan="2" align="center" height="25" width="100%"><input class="button" type="submit" value="Abschicken" />&nbsp;&nbsp;&nbsp;&nbsp;<input class="button" type="reset" value="Zur&uuml;cksetzen" /></td></tr>
    </table>
    </form>
    Wäre nett, wenn vielleicht mal jemand drüberschauen würde. Ich bin wahrscheinlich betriebsblind.

  2. #2
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    Hi,

    header() kannst du nur benutzen, wenn vorher nichts (weder HTML, noch CSS, noch Javascript oder sonst irgendeine Art von Text - auch keine Leerzeichen) ausgegeben wurden.

    MfG, Christian

  3. #3
    ECHT_nordisch
    Guest
    Zitat Zitat von chorn Beitrag anzeigen
    Hi,

    header() kannst du nur benutzen, wenn vorher nichts (weder HTML, noch CSS, noch Javascript oder sonst irgendeine Art von Text - auch keine Leerzeichen) ausgegeben wurden.

    MfG, Christian
    AHHH Perfekt! Tausend dank! Ich hab es rausgenommen und jetzt funktioniert es. Nur die Weiterleitung auf die Danke.html funktionert nocht nicht. Hab ich noch einen Fehler übersehen?

  4. #4
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    Hi,

    da du die Überprüfung der Inhalte des Formulares nur per Javascript machst, kann es natürlich passieren, dass jemand, indem er Javascript einfach deaktiviert, leere Felder abschickt. Sicher kannst du dir nur sein, wenn du die Felder serverseitig prüfen lässt.

    Da alle Felder bis auf die Nachricht vorbelegt sind sehe ich auch keine Möglichkeit einer Mail-Injection.

    Falls du dein Problem mit der nachfolgenden Seite beheben möchtest, brauchst du den PHP-Teil einfach nur an den Anfang der Datei legen.

    MfG, Christian.

  5. #5
    TP-Specialist MichaelM hilft, wo's geht MichaelM hilft, wo's geht MichaelM hilft, wo's geht Avatar von MichaelM
    Registriert seit
    Jan 2004
    Ort
    Münster-Hiltrup
    Beiträge
    2.328
    Hallo, bei der Dankeseite wirds wohl daran liegen, dass Du keine
    HTTP-Adresse angegeben hast:

    # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
    # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
    $strReturnhtml = 'http://www.deineDomain/danke.html';

    Du hast definiert: $strReturnhtml = 'danke.html';
    Harleylujar, Michael!!

    Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...

    www.mikel-mueller.de
    www.sanitaertechnik-mueller.de

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51