Ankündigung

Einklappen
Keine Ankündigung bisher.

Formmailer Fehlerhaft

Einklappen

Neue Werbung 2019

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

  • Formmailer Fehlerhaft

    Hallo zusammen,

    ich muss zu Anfang sagen; ich bin ein absoluter Neuling mit etwas Ahnung was Web-Dev angeht.

    Ich bastele derzeit an einer Homepage für eine Bekannte welche sich selbstständig gemacht hat.

    Auf der Homepage befindet sich ein Kontaktformular welches seine Werte an einen Formmailer übergeben soll, welcher wiederrum die Daten an eine E-Mail Adresse schickt.
    Der formmailer besteht schon und scheint auch bis zum gewissen punkt zu funktionieren.

    Nun bekomme ich allerdings die folgende fehlermeldung:

    Notice: Array to string conversion in /storage/ssd5/025/4864025/public_html/formmailer_neu.php on line 45

    Warning: Cannot modify header information - headers already sent by (output started at /storage/ssd5/025/4864025/public_html/formmailer_neu.php:45) in /storage/ssd5/025/4864025/public_html/formmailer_neu.php on line 68
    Das ist schon mein zweiter formmailer welchen ich in die Homepage eingebaut habe...

    Kann mir bitte jemand erklären was ich falsch mache bzw. was ich machen muss das dieses Kontaktformular endlich die Werte übergibt und sendet?

    Ich bin für jeden noch so kleinen Lichtblick dankbar da ich mittlerweile an dem Kontaktformular verzweifel.

    Danke und leie Grüße,

    Heflor

  • #2
    Notice: Array to string conversion in /storage/ssd5/025/4864025/public_html/formmailer_neu.php on line 45
    Dort musst du gucken. Da wir den Quellcode nicht kennen, kann dir niemand helfen
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      Wenn ich selber schauen könnte, hätte ich mich nicht an euch gewendet.
      Und den Code zu posten ist nicht das Problem; siehe da:

      <?php
      //send_email.php
      $email_from = "anfrage@meine-domain.de"; //Absender falls keiner angegeben wurde
      $sendermail_antwort = true; //E-Mail Adresse des Besuchers als Absender. false= Nein ; true = Ja
      $name_von_emailfeld = "Email"; //Feld in der die Absenderadresse steht

      $empfaenger = "meine@mail.de"; //Empfänger-Adresse
      $mail_cc = ""; //CC-Adresse, diese E-Mail-Adresse bekommt einer weitere Kopie
      $betreff = "Anfrage von www.meine-domain.de"; //Betreff der Email

      $url_ok = "/success.html"; //Zielseite, wenn E-Mail erfolgreich versendet wurde
      $url_fehler = "/error.hmtl"; //Zielseite, wenn E-Mail nicht gesendet werden konnte


      //Diese Felder werden nicht in der Mail stehen
      $ignore_fields = array('submit');




      //Datum, wann die Mail erstellt wurde
      $name_tag = array();
      $name_tag[0] = "Sonntag";
      $name_tag[1] = "Montag";
      $name_tag[2] = "Dienstag";
      $name_tag[3] = "Mittwoch";
      $name_tag[4] = "Donnerstag";
      $name_tag[5] = "Freitag";
      $name_tag[6] = "Samstag";
      $num_tag = date("w");
      $tag = $name_tag[$num_tag];
      $jahr = date("Y");
      $n = date("d");
      $monat = date("m");
      $time = date("H:i");

      //Erste Zeile unserer Email
      $msg = ":: Gesendet am $tag, den $n.$monat.$jahr - $time Uhr ::\n\n";

      //Hier werden alle Eingabefelder abgefragt
      while (list($name,$value) = each($_POST)) {
      if (in_array($name, $ignore_fields)) {
      continue; //Ignore Felder wird nicht in die Mail eingefügt
      }
      $msg .= "::: $name :::\n$value\n\n";
      }



      //E-Mail Adresse des Besuchers als Absender
      if ($sendermail_antwort and isset($_POST[$name_von_emailfeld]) and filter_var($_POST[$name_von_emailfeld], FILTER_VALIDATE_EMAIL)) {
      $email_from = $_POST[$name_von_emailfeld];
      }

      $header="From: $email_from";

      if (!empty($mail_cc)) {
      $header .= "\n";
      $header .= "Cc: $mail_cc";
      }


      $mail_senden = mail($empfaenger,$betreff,$msg,$header);


      //Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen
      if($mail_senden){
      header("Location: ".$url_ok); //Mail wurde gesendet
      exit();
      } else{
      header("Location: ".$url_fehler); //Fehler beim Senden
      exit();
      }

      Kommentar


      • #4
        Was ist Zeile 45, oder soll man jetzt selber durchzählen?

        mail() sollte nicht für den Mail-Versand verwendet werden. Dafür gibts fertige Mailer wie z.B. PHPMailer.

        Kommentar


        • #5
          Sorry ich dachte ihr hättet Notepad auf dem Rechner..
          Klar, das nächste mal klemme ich mich 2 Tage vor meiner Anfrage vor die Kiste damit ich noch alle Zeilen nummerieren kann.

          Was ist denn der unterscheid zwischen der mail() Funktion und dem PHP Mailer?

          Habe gerade mal kurz gegoogelt, macht mir einen komplexeren Eindruck als mail()...

          Zeile 45 - 68:

          PHP-Code:
           $msg .= "::: $name :::\n$value\n\n";
          }



          //E-Mail Adresse des Besuchers als Absender
          if ($sendermail_antwort and isset($_POST[$name_von_emailfeld]) and filter_var($_POST[$name_von_emailfeld], FILTER_VALIDATE_EMAIL)) {
          $email_from $_POST[$name_von_emailfeld];
          }

          $header="From: $email_from";

          if (!empty(
          $mail_cc)) {
          $header .= "\n";
          $header .= "Cc: $mail_cc";
          }


          $mail_senden mail($empfaenger,$betreff,$msg,$header);


          //Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen
          if($mail_senden){
          header("Location: ".$url_ok); //Mail wurde gesendet 

          Kommentar


          • #6
            Zitat von Heflor Beitrag anzeigen
            Sorry ich dachte ihr hättet Notepad auf dem Rechner..
            Warum sollen die Leute Code herumkopieren, wenn man ihn doch auch einfach hier im Forum lesen könnte?

            Zitat von Heflor Beitrag anzeigen
            Klar, das nächste mal klemme ich mich 2 Tage vor meiner Anfrage vor die Kiste damit ich noch alle Zeilen nummerieren kann.
            Es hätte auch gereicht nur die eine Zeile zu markieren. Davon abgesehen möchtest DU etwas, also liegt es auch in DEINER Veranwortung alles so aufzubereiten, dass die Helfer möglichst wenig Arbeit damit haben.

            Zitat von Heflor Beitrag anzeigen
            Was ist denn der unterscheid zwischen der mail() Funktion und dem PHP Mailer?
            PHPMailer kümmert sich darum, dass die Header korrekt geschrieben werden, was gar nicht so einfach ist. Verwendet man mail(), muss man sich um alles selber kümmern und die Gefahr ist groß etwas falsch zu machen, das vielleicht am Anfang gar nicht auffällt.

            Zitat von Heflor Beitrag anzeigen
            Habe gerade mal kurz gegoogelt, macht mir einen komplexeren Eindruck als mail()...
            Im Gegenteil, mail() ist sehr komplex und mühsam.

            Ein fertiger Mailer ist ein Rundum-Sorglos-Paket.

            Zitat von Heflor Beitrag anzeigen
            Zeile 45 - 68:

            PHP-Code:
             $msg .= "::: $name :::\n$value\n\n"
            Vermutlich enthält $name oder $value ein Array, was es nicht sollte. Lass dir die Werte mal mit var_dump() ausgeben.

            Kommentar

            Lädt...
            X