Ankündigung

Einklappen
Keine Ankündigung bisher.

Kontaktformular Hilfe !!!

Einklappen

Neue Werbung 2019

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

  • Kontaktformular Hilfe !!!

    Hallo Leute,
    ich habe mein Kontaktformular jetzt paar Monate liegen gehabt, und jetzt spuckt er mir einen Fehler aus. Hier: Warning: Cannot modify header information - headers already sent by (output started at formular.php:1) in formular.php on line 56. So ich weiß er kann den Header nicht verändern weil es dort einen Fehler gibt.

    Hier mein PHP Skript:

    <?php

    // ======= Konfiguration:

    $mailTo = 'info@provider.biz';
    $mailFrom = '"FormMailer" <info@provider.xy>';
    $mailSubject = 'Feedback';
    $rp = 'http://www.google.de';
    $re = 'http://www.google.com';
    $mailText = "";

    // ======= Text der Mail aus den Formularfeldern erstellen:

    // Wenn Daten mit method="post" versendet wurden:
    if(isset($_POST)) {
    // alle Formularfelder der Reihe nach durchgehen:
    foreach($_POST as $name => $value) {
    // Wenn der Feldwert aus mehreren Werten besteht:
    // (z.B. <select multiple>)
    if(is_array($value)) {
    // "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
    $mailText .= $name . ":\n";
    // alle Werte des Feldes abarbeiten
    foreach($valueArray as $entry) {
    // Einrückungsleerzeichen, Wert und Zeilenumbruch
    // dem Mailtext hinzufügen
    $mailText .= " " . $value . "\n";
    } // ENDE: foreach
    } // ENDE: if
    // Wenn der Feldwert ein einzelner Feldwert ist:
    else {
    // "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
    $mailText .= $name . ": " . $value . "\n";
    } // ENDE: else
    } // ENDE: foreach
    } // if

    // ======= Korrekturen vor dem Mailversand

    // Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
    if(get_magic_quotes_gpc()) {
    // eventuell eingefügte Backslashes entfernen
    $mailtext = stripslashes($mailtext);
    }

    // ======= Mailversand

    // Mail versenden und Versanderfolg merken
    $mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);

    // ======= Return-Seite an den Browser senden

    // Wenn der Mailversand erfolgreich war:
    if($mailSent == TRUE) {
    // Seite "Formular verarbeitet" senden:
    header("Location: " . $rp); //betroffene Zeile <---
    }
    // Wenn die Mail nicht versendet werden konnte:
    else {
    // Seite "Fehler aufgetreten" senden:
    header("Location: " . $re);
    }

    // ======= Ende

    exit();

    ?>


    Ich wäre für eure Hilfe echt Dankbar.

    Vielen Gruß,
    CYBERWALL


  • #2
    Schmeiß das weg! Das Script ist eine einzige Spamschleuder und hat absolut keine Überprüfungen.

    Benutz ein Script aus diesem Jahrtausend.
    Windows Server gehören NICHT ins Internet!

    Dildo? Dildo!

    Kommentar


    • #3
      Typischer Fehler bei header()

      PHP magic_quotes

      Verwendung von @ vor Funktionen:
      Zitat von PHP Doku
      Warnung
      Zum gegenwärtigen Zeitpunkt deaktiviert der "@" Fehler-Kontrolloperator die Fehlermeldungen selbst bei kritischen Fehlern, die die Ausführung eines Skripts beenden. Unter anderem bedeutet das, wenn Sie "@" einer bestimmten Funktion voranstellen, diese aber nicht zur Verfügung steht oder falsch geschrieben wurde, Ihr PHP-Skript einfach beendet wird, ohne Hinweis auf die Ursache.
      Mail() ist tot, es lebe mail()

      Zitat von trollface
      Schmeiß das weg!
      Ja bitte, Grundlagen aneignen und auf einem aktuellen Stand neu entwickeln.


      btw.: nutze für PHP-Code bitte die entsprechenden Tags im Foren-Editor:
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar

      Lädt...
      X