Rainer: Email mit Anhang (von User) ?

0 78

Email mit Anhang (von User) ?

  1. 2
    1. 0
      1. 0
        1. 0
          1. 1
            1. 0
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 0
                              1. 0
                              2. 0
                  2. 0
                    1. 0
            2. 0
              1. 0
                1. 0
      2. 0
      3. 0
      4. 0
  2. 0
  3. 0
    1. 0
      1. 0
        1. 2
          1. 0
            1. 0
        2. 0
          1. -2
            1. 1
              1. 0
                1. 0
    2. 2
      1. -2
        1. 3
          1. 0
            1. 3

              Auf dass ich der letzte Fütterer bin

              1. 0
            2. 1
              1. -2
                1. 2
                  1. 0
                2. 0
                  1. 0
                    1. 1
                      1. 0
                        1. 0
                    2. 0
                      1. 0
                        1. 2
                        2. 0
                        3. 0
                        4. 0
                        5. 0
                        6. 0
                3. 0
                4. 2
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 4
                              1. -2
                                1. 1
                                  1. 0

                                    Theorie und Praxis OOP

                                    1. 6
                              2. 0
                                1. 0
                                  1. 0
                                    1. 1
                5. 0
            3. 0

Hallo, hab nun schon zig Anleitungen, Formmailer angesehen, Bücher gewälzt etc. Ich bekomm es einfach nicht hin eine Email mit Anhang zu senden wo der Sender die Datei anhängt. Hier mal im Auszug was ich teste. Sieht jemand den Fehler?

Gruß Rainer

<?php
	if(isset($_POST["FormSend"])){
		$msg = "";
		$absender = "from@example.com";
		$absendername = "My Form";
		$empfaenger = "$to@xample.com";
		$subject = "Mail mit Anhang";
		$boundary = "----=_".md5(uniqid(mt_rand(), 1))."";
		
		$Header = "FROM:$absendername <$absender>\r\n";
		$Header .= "MIME-Version: 1.0\r\n";
		$Header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
		$msg = "$boundary\r\n";
		$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: 7bit\r\n";
		
		foreach($_POST as $key => $value)  
		{ 
			$value = mysql_real_escape_string($value);
			$value = htmlentities("$value", ENT_QUOTES);
			if($key == "FormSend"){}else{
				$msg .= "$key: $value\r\n";
			} 
		}
		$msg .= "".$boundary."--\r\n";
		$msg .= "\r\n$boundary\r\n";
		
		$msg .="Content-Type: application/octetstream; name=".$_FILES["Anhang"]["name"]."\r\n";
		$msg .="Content-Transfer-Encoding: base64\r\n";
		$msg .="Content-Disposition: attachment; filename=".$_FILES["Anhang"]["name"]."\r\n";
		$zeiger_auf_datei=@fopen($_FILES["Anhang"]["tmp_name"],"rb");
		$inhalt_der_datei=@fread($zeiger_auf_datei,filesize($_FILES["Anhang"]["name"]));
		@fclose($zeiger_auf_datei);
		$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
		$msg .= $inhalt_der_datei;
		$msg .= "".$boundary."--";
		@mail($empfaenger,$subject,$msg,$Header);
	}
?>
<form id="form-1" action="" enctype="multipart/form-data" method="post">
	<fieldset>
		<label id="label-2" for="Name">Name</label>
        <input id="item-2" name="Name" type="text" value="" maxlength="" />
	</fieldset>
    <fieldset>
		<label id="label-29" for="Anhang">Anhang</label>
        <input name="Anhang" type="file" style="" />
 	</fieldset>
    <button id="ButtonSend" name="FormSend" class="Button" type="submit">Absenden</button>
</form>
  1. Tach!

    hab nun schon zig Anleitungen, Formmailer angesehen, Bücher gewälzt etc. Ich bekomm es einfach nicht hin eine Email mit Anhang zu senden wo der Sender die Datei anhängt. Hier mal im Auszug was ich teste. Sieht jemand den Fehler?

    Der Fehler ist, wenn man nicht das Zeug von Grund auf lernen möchte - wovon ich in deinem Fall mal nicht ausgehe -, keine fertige und getestete Komponente zu verwenden. Nimm den Swiftmailer und alles wird gut.

    Ansonsten wäre es sinnvoll, den Fehler genauer zu lokalisieren, und zu beschreiben, an welcher Stelle genau Wunsch und Wirklichkeit nicht übereinstimmen.

    dedlfix.

    1. So ist es. Ich möchte keinen aufgeblähten Mailer verwenden sondern es gern lernen.

      Wirklichkeit: Die Email kommt an, aber der Anhang steht nur im Body in Form von Text (base64)

      Hab mal Zeilenumbrüche geändert. Irgendwie muss es mit diesen Zeienumbrüchen und der Reihenfolge der boundary zusammenhängen. Ich komm einfach nicht dahinter.

      <?php
      	if(isset($_POST["FormSend"])){
      		$msg = "";
      		$absender = "from@example.com";
      		$absendername = "My Form";
      		$empfaenger = "$to@xample.com";
      		$subject = "Mail mit Anhang";
      		$boundary = "----=_".md5(uniqid(mt_rand(), 1))."";
      		
      		$Header = "FROM:$absendername <$absender>\r\n";
      		$Header .= "MIME-Version: 1.0\r\n";
      		$Header .= "Content-Type: multipart/mixed; 	boundary=\"$boundary\"\r\n";
      		$msg = "$boundary\r\n";
      		$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: 7bit\r\n";
      		
      		foreach($_POST as $key => $value)  
      		{ 
      			$value = mysql_real_escape_string($value);
      			$value = htmlentities("$value", ENT_QUOTES);
      			if($key == "FormSend"){}else{
      				$msg .= "$key: $value\r\n";
      			} 
      		}
      		$msg .= "".$boundary."--\r\n";
      		$msg .= "$boundary\r\n";
      		
      		$msg .="Content-Type: application/octetstream; name=".$_FILES["Anhang"]["name"]."\r\n";
      		$msg .="Content-Transfer-Encoding: base64\r\n";
      		$msg .="Content-Disposition: attachment; filename=".$_FILES["Anhang"]["name"]."\r\n";
      		@copy($_FILES["Anhang"]["tmp_name"],"phptmp/".$_FILES["Anhang"]["name"]."");
      		$zeiger_auf_datei=@fopen("phptmp/".$_FILES["Anhang"]["name"]."","rb");
      		$inhalt_der_datei=@fread($zeiger_auf_datei,filesize($_FILES["Anhang"]["name"]));
      		@fclose($zeiger_auf_datei);
      		$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
      		$msg .= $inhalt_der_datei;
      		$msg .= "".$boundary."--";
      		@mail($empfaenger,$subject,$msg,$Header);
      	}
      ?>
      <form id="form-1" action="" enctype="multipart/form-data" method="post">
      	<fieldset>
      		<label id="label-2" for="Name">Name</label>
              <input id="item-2" name="Name" type="text" value="" maxlength="" />
      	</fieldset>
          <fieldset>
      		<label id="label-29" for="Anhang">Anhang</label>
              <input name="Anhang" type="file" style="" />
       	</fieldset>
          <button id="ButtonSend" name="FormSend" class="Button" type="submit">Absenden</button>
      </form>
      
      1. Wirklichkeit: Die Email kommt an, aber der Anhang steht nur im Body in Form von Text (base64)

        Liegt vermutlich am "Boundary"-

        MIME-Version: 1.0
        Content-Type: multipart/mixed; 
        	boundary="----=_Part_999860_17630595.1459084055704"
        

        4 x "-" vor dem "="

        ------=_Part_999860_17630595.1459084055704
        Content-Type: application/octet-stream; name=sonstwas.pdf
        Content-Transfer-Encoding: base64
        Content-Disposition: attachment; filename=sonstwas.pdf
        

        6 x "-" vor dem "="

        Auch in anderen Mails hat der Trenner im Nachrichtenquelltext stets zwei zusätzliche "-" vor dem eigentlichen Boundary. Ich habe nichts gesehen wo Du diese hinzufügst.

        1. Kurz gesagt: Die Bereiche beginnen mit --Boundary und enden mit --Boundary-- (Achte auf die Minus-Zeichen).

          • Zuerst wird multipart/mixed eröffnet,
          • dann multipart/alternative
          • darin dann text/plain
          • darin dann text/html
          • dann wird multipart/alternative geschlossen
          • dann wird (für jede Datei) ein Bereich eröffnet (mit --Boundary) und die Datei mit Headern angehangen
          • am Ende wird multipart/mixed geschlossen,(--Boundary--)

          Hat man keine HTML-Alternative:

          • Zuerst wird multipart/mixed eröffnet, (Content-Type: multipart/mixed; boundary=Boundary)
          • darin dann text/plain
          • dann wird (für jede Datei) ein Bereich eröffnet (mit --Boundary) und die Datei mit Headern angehangen
          • am Ende wird multipart/mixed geschlossen,(--Boundary--)
          Mime-Version: 1.0
          Content-Type: multipart/mixed;
          	boundary="####Boundary#####Boundary#####Boundary#####"
          
          This is a multi-part message in MIME format.
          
          --####Boundary#####Boundary#####Boundary#####
          Content-Type: multipart/alternative;
          --####Boundary#####Boundary#####Boundary#####
          Content-Type: text/plain; charset="iso-8859-1"
          Content-Transfer-Encoding: quoted-printable
          [Nachricht im Textformat.]
          --####Boundary#####Boundary#####Boundary#####
          Content-Type: text/html; charset="iso-8859-1"
          Content-Transfer-Encoding: quoted-printable
          [Nachricht im HTML-Format.]
          --####Boundary#####Boundary#####Boundary#####--
          --####Boundary#####Boundary#####Boundary#####
          Content-Type: sonst/was
          Content-Disposition: attachment; filename="datei.was"
          Content-Transfer-Encoding: base64
          [Base64 codierte Datei]
          --####Boundary#####Boundary#####Boundary#####--
          
          1. Hallo,

            • dann wird (für jede Datei) ein Bereich eröffnet (mit --Boundary) und die Datei mit Headern angehangen

            äh, nein, angehängt.

            • dann wird (für jede Datei) ein Bereich eröffnet (mit --Boundary) und die Datei mit Headern angehangen

            Nein, angehängt.

            Merke:

            • Das Partizip Perfekt von hängen heißt gehängt, wenn das Verb transitiv verwendet wird, sich also auf ein (Akkusativ-) Objekt bezieht.
            • Das Partizip Perfekt von hängen heißt gehangen, wenn das Verb intransitiv, also ohne ein Akkusativ-Objekt verwendet wird.

            Beispiel: Letzten Winter habe ich einen Fliegenfänger in der Küche aufgehängt. Der hat dann vier Wochen dort gehangen.

            Alles klar? :-)

            So long,
             Martin

            Folgende Beiträge verweisen auf diesen Beitrag:

            1. @@Der Martin

              Merke:

              • Das Partizip Perfekt von hängen heißt gehängt, wenn das Verb transitiv verwendet wird, sich also auf ein (Akkusativ-) Objekt bezieht.
              • Das Partizip Perfekt von hängen heißt gehangen, wenn das Verb intransitiv, also ohne ein Akkusativ-Objekt verwendet wird.

              Kann man anstatt von einem Verb mit unterschiedlichen Formen nicht auch von zwei verschiedenen Verben sprechen, deren Infinitiv (hängen) gleich ist?

              Bei anderen Verbpaaren gibt es verschiedene Infinitive: stellen / stehen; legen / liegen.

              Beispiel: Letzten Winter habe ich einen Fliegenfänger in der Küche aufgehängt. Der hat dann vier Wochen dort gehangen.

              Beispiel: Letzten Winter habe ich eine Mausefalle in der Küche aufgestellt. Die hat dann vier Wochen dort gestanden.

              Alles klar? :-)

              Ich glaube, wenn man sich die Analogien zu hängen / hängen vor Augen führt, wird’s klarer.

              LLAP 🖖

              --
              “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
              Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|

              Folgende Beiträge verweisen auf diesen Beitrag:

              1. Moin,

                • Das Partizip Perfekt von hängen heißt gehängt, wenn das Verb transitiv verwendet wird, sich also auf ein (Akkusativ-) Objekt bezieht.
                • Das Partizip Perfekt von hängen heißt gehangen, wenn das Verb intransitiv, also ohne ein Akkusativ-Objekt verwendet wird.

                Kann man anstatt von einem Verb mit unterschiedlichen Formen nicht auch von zwei verschiedenen Verben sprechen, deren Infinitiv (hängen) gleich ist?

                ja, so könnte man es auch betrachten. Ob das das Verstehen einfacher macht, weiß ich nicht, denn es sind ja nicht nur die Infinitive, die übereinstimmen, sondern auch die Präsens-Formen ("Vater hängt seinen Mantel auf" vs. "Sein Mantel hängt an der Garderobe"). Erst im Präteritum gehen die Formen beider Bedeutungen getrennte Wege (hängte vs. hing).
                Da fällt mir ein: Im Englischen gibt zu genau diesem Verb auch eine Besonderheit. Eigentlich ist "hang" ein unregelmäßiges Verb (hang, hung, hung). Aber wenn das Hängen als Exekutionsmethode (Galgen) gemeint ist, wird das Verb auf einmal regelmäßig konjugiert: "The stranger was hanged at sunrise."

                Bei anderen Verbpaaren gibt es verschiedene Infinitive: stellen / stehen; legen / liegen.

                Stimmt, das sind es klar erkennbar verschiedene Verben. Da ist es deutlicher.

                Beispiel: Letzten Winter habe ich einen Fliegenfänger in der Küche aufgehängt. Der hat dann vier Wochen dort gehangen.

                Beispiel: Letzten Winter habe ich eine Mausefalle in der Küche aufgestellt. Die hat dann vier Wochen dort gestanden.

                Alles klar? :-)

                Ich glaube, wenn man sich die Analogien zu hängen / hängen vor Augen führt, wird’s klarer.

                Ja, mag sein. Diese Analogie ist mir zum Zeitpunkt, als ich diesen Beitrag geschrieben habe, nicht bewusst gewesen, Daher habe ich es einfach mit der formalen Erklärung versucht, die mir klar und vertraut ist.

                So long,
                 Martin

                --
                Logik ist die Theorie, Chaos die Praxis.
                1. Lieber Martin,

                  Erst im Präteritum gehen die Formen beider Bedeutungen getrennte Wege (hängte vs. hing).

                  Das funktioniert meiner Meinung nach nicht. Die Form "hängte" ist die sogenannte schwache Form, "hing" die sogenannte starke Form. "Mein Vater hängte seinen Mantel auf." versus "Mein Vater hing seinen Mantel auf." - Das erste Beispiel klingt in meinen Ohren sogar unrichtig. Richtiger klingt es so: "Sie hängten den Verurteilten am Galgen auf. Dort hing er als abschreckendes Beispiel sieben Wochen lang."

                  In diesem Fall haben die schwache Form und die starke Form Unterschiede in ihrer Bedeutung. Die schwache Form hat eine Bedeutungsverengung erfahren, indem sie eine Hinrichtungsmethode meint. Mit der Perfekt-Form ist es leider nicht so einfach: "Hast Du Deinen Mantel schon aufgehängt?" versus "Man hat ihn am Galgen aufgehängt, nicht an einem Ast der Buche." - Ersteres wird in der Umgangssprache so verwendet, müsste aber nach obiger Feststellung eher so lauten: "Hast Du Deinen Mantel schon aufgehangen?" Das zweite klingt hingegen in meinen Ohren wieder unrichtig: "Man hat ihn am Galgen aufgehangen, nicht an einem Ast der Buche." Aber: "Mitgegangen, mitgefangen, aufgehangen" - wohl des Reimes wegen...

                  Nehmen wir das Verb "winken". Hier sind beide Formen im Perfekt möglich, im Präteritum nur die schwache: "Er hatte zum Abschied gewinkt/gewunken, ich winkte ihm zurück."

                  Was bin ich darum froh, dass es hier das Tag "klugscheißerei" gibt!!

                  Liebe Grüße,

                  Felix Riesterer.

                  1. Hallo Felix,

                    ich will sicher nicht deine pädagogische Autorität in Frage stellen, aber ich glaube doch, dass du mit deiner Darstellung teilweise danebenliegst. Allerdings kann ich meine Aussagen auch nicht hieb- und stichfest belegen, es ist mehr so eine Art Sprach- und Bauchgefühl.
                    Die Erfahrung aus der Schulzeit sagt mir aber, dass ich mit dem Bauchgefühl bei Sprachen (zumindest Deutsch und Englisch, Französisch eher weniger) meistens richtig lag, auch wenn ich die zugehörigen Regeln nicht benennen oder zitieren konnte.

                    Erst im Präteritum gehen die Formen beider Bedeutungen getrennte Wege (hängte vs. hing).

                    Das funktioniert meiner Meinung nach nicht. Die Form "hängte" ist die sogenannte schwache Form, "hing" die sogenannte starke Form.

                    Soweit klar, das ist nur eine syntaktische Begrifflichkeit. Nur ist eben mein Eindruck, dass diese beiden Arten der Konjugation auch einen Bedeutungsunterschied transportieren.

                    "Mein Vater hängte seinen Mantel auf." versus "Mein Vater hing seinen Mantel auf."
                    Das erste Beispiel klingt in meinen Ohren sogar unrichtig.

                    Geht mir genau umgekehrt.

                    Richtiger klingt es so: "Sie hängten den Verurteilten am Galgen auf. Dort hing er als abschreckendes Beispiel sieben Wochen lang."

                    Einverstanden. Oder an der Themse: "Washed by six tides."

                    In diesem Fall haben die schwache Form und die starke Form Unterschiede in ihrer Bedeutung. Die schwache Form hat eine Bedeutungsverengung erfahren, indem sie eine Hinrichtungsmethode meint.

                    Nur weil ich eben dieses Beispiel aus dem Englischen gewählt habe? Im Deutschen ist das IMO nicht so.

                    Mit der Perfekt-Form ist es leider nicht so einfach: "Hast Du Deinen Mantel schon aufgehängt?" versus "Man hat ihn am Galgen aufgehängt, nicht an einem Ast der Buche." - Ersteres wird in der Umgangssprache so verwendet, müsste aber nach obiger Feststellung eher so lauten: "Hast Du Deinen Mantel schon aufgehangen?"

                    Nein.

                    Nehmen wir das Verb "winken". Hier sind beide Formen im Perfekt möglich, im Präteritum nur die schwache: "Er hatte zum Abschied gewinkt/gewunken, ich winkte ihm zurück."

                    Ich habe schon mehrmals gehört und gelesen, "gewunken" sei schlicht falsch, auch wenn es sehr verbreitet ist.

                    Was bin ich darum froh, dass es hier das Tag "klugscheißerei" gibt!!

                    Genau. Schließlich sind wir alle Klugscheißer, oder?

                    So long,
                     Martin

                    --
                    Logik ist die Theorie, Chaos die Praxis.
                    1. Hallo Der Martin,

                      Ich habe schon mehrmals gehört und gelesen, "gewunken" sei schlicht falsch, auch wenn es sehr verbreitet ist.

                      Genau. Man sagt auch nicht „geblunken“.

                      Bis demnächst
                      Matthias

                      --
                      Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                      1. Hallo,

                        Genau. Man sagt auch nicht „geblunken“.

                        sicher? Wenn man mit dem Auto rechts abgebiegt hat, muss man doch geblunken haben, oder nicht?

                        Gruß
                        Kalk

                        1. Hi,

                          Genau. Man sagt auch nicht „geblunken“.

                          sicher? Wenn man mit dem Auto rechts abgebiegt hat, muss man doch geblunken haben, oder nicht?

                          Klar, aber man spricht nicht darüber ;-)

                          cu,
                          Andreas a/k/a MudGuard

                          1. Hallo,

                            Genau. Man sagt auch nicht „geblunken“.

                            sicher? Wenn man mit dem Auto rechts abgebiegt hat, muss man doch geblunken haben, oder nicht?

                            eigentlich schon, aber immer weniger Autofahrer blunken überhaupt noch beim Abbiegen.

                            So long,
                             Martin

                            --
                            Logik ist die Theorie, Chaos die Praxis.
                            1. Hi,

                              eigentlich schon, aber immer weniger Autofahrer blunken überhaupt noch beim Abbiegen.

                              Das liegt daran, daß sie beim Autofahren auch nicht dunken, die fahren total gedunkenlos ...

                              cu,
                              Andreas a/k/a MudGuard

                              1. Hallo,

                                eigentlich schon, aber immer weniger Autofahrer blunken überhaupt noch beim Abbiegen.

                                Das liegt daran, daß sie beim Autofahren auch nicht dunken, die fahren total gedunkenlos ...

                                ach so, ich dunke herzlich für diese Erleuchtung.

                                So long,
                                 Martin

                                --
                                Logik ist die Theorie, Chaos die Praxis.
                              2. @@MudGuard

                                eigentlich schon, aber immer weniger Autofahrer blunken überhaupt noch beim Abbiegen.

                                Das liegt daran, daß sie beim Autofahren auch nicht dunken, die fahren total gedunkenlos ...

                                … und landen im Dunk.

                                LLAP 🖖

                                --
                                “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                                Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                  2. @@Felix Riesterer

                    Was bin ich darum froh, dass es hier das Tag "klugscheißerei" gibt!!

                    Kann ich nichts mit anfangen. Die ist meinen Postings von Natur aus inherent.

                    LLAP 🖖

                    --
                    “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
                    1. Lieber Gunnar,

                      inherent

                      meintest Du inhärent? Deine Schreibung ist offensichtlich die des Englischen.

                      Liebe Grüße,

                      Felix Riesterer.

            2. @@Der Martin

              Beispiel: Letzten Winter habe ich einen Fliegenfänger in der Küche aufgehängt. Der hat dann vier Wochen dort gehangen.

              Wo wir bei den Finessen der deutsche Grammitik sind, sei angemerkt, dass die Verwendung des Perfekts dort wohl nicht korrekt ist, da die Handlung bereits in der Vergangenheit abgeschlossen worden war.

              LLAP 🖖

              --
              “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
              Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
              1. Hi,

                Beispiel: Letzten Winter habe ich einen Fliegenfänger in der Küche aufgehängt. Der hat dann vier Wochen dort gehangen.

                Wo wir bei den Finessen der deutsche Grammitik sind, sei angemerkt, dass die Verwendung des Perfekts dort wohl nicht korrekt ist, da die Handlung bereits in der Vergangenheit abgeschlossen worden war.

                das fällt wohl in den Bereich "Sprache lebt": Die Verwendung des Präteritums ist im Deutschen zumindest in der Umgangssprache selten geworden, stattdessen wird meist das Perfekt verwendet.

                Das ist übrigens im Niederländischen genauso (immerhin sind sich die Sprachen ja recht ähnlich). Ich habe das vor ein paar Monaten festgestellt, als ich einen Roman in Niederländisch gelesen habe und andauernd auf mir unbekannte Verbformen stieß (nederlandse onregelmatige verben, hej wat lekker). Anfangs hat es mich noch ein wenig verunsichert und hier und da etwas ausgebremst, aber nach einiger Zeit hatte ich das verinnerlicht und konnte flüssig lesen und verstehen.

                So long,
                 Martin

                --
                Logik ist die Theorie, Chaos die Praxis.
                1. @@Der Martin

                  das fällt wohl in den Bereich "Sprache lebt": Die Verwendung des Präteritums ist im Deutschen zumindest in der Umgangssprache selten geworden, stattdessen wird meist das Perfekt verwendet.

                  Hier wäre wohl das Plusquamperfekt angebracht gewesen.

                  Aber das ist in der gemeinen Umgangssprache ebenso wie das Präteritum verloren gegangen; da kommt man mit zwei Zeitformen aus: Präsens und Perfekt.

                  Anders im Englischen, da werden Future, Present und Past mit den jeweiligen Perfekten verwendet. Nur die Konjugation ist ihnen weitgehend abhanden gekommen. Nichts mehr mit I have, thou hast (havest).

                  LLAP 🖖

                  --
                  “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
                  Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
      2. Tach!

        So ist es. Ich möchte keinen aufgeblähten Mailer verwenden sondern es gern lernen.

        Wirklichkeit: Die Email kommt an, aber der Anhang steht nur im Body in Form von Text (base64)

        In dem Fall würde ich nun einerseits vergleichen mit einer Mail, bei der es problemlos klappt und andererseits heraussuchen, wie die Regeln für solche Mail aussehen.

        Hab mal Zeilenumbrüche geändert. Irgendwie muss es mit diesen Zeienumbrüchen und der Reihenfolge der boundary zusammenhängen. Ich komm einfach nicht dahinter.

        Rumrätseln ist auch eine Variante, aber die nehme ich üblicherweise erst dann, wenn die anderen Versuche nicht zum Erfolg geführt haben.

        Mehr als wie ich vorgehen würde kann ich dir aber nicht sagen, weil ich mich auf dem Gebiet nicht auskenne.

        dedlfix.

      3. Hallo,

        Ich möchte keinen aufgeblähten Mailer verwenden sondern es gern lernen.

        also gut, sehen wir's uns an.

        Wirklichkeit: Die Email kommt an, aber der Anhang steht nur im Body in Form von Text (base64)

        Also scheint's an der Gliederung zu liegen, wahrscheinlich die Boundaries nicht korrekt gesetzt.

        Hab mal Zeilenumbrüche geändert.

        Inwiefern?

        <?php
        	if(isset($_POST["FormSend"])){
        		$msg = "";
        		$absender = "from@example.com";
        		$absendername = "My Form";
        		$empfaenger = "$to@xample.com";
        		$subject = "Mail mit Anhang";
        		$boundary = "----=_".md5(uniqid(mt_rand(), 1))."";
        // Wozu einen Leerstring hinten anhängen? Das tut nicht weh, ist aber Unfug.
        		
        		$Header = "FROM:$absendername <$absender>\r\n";
        // Achtung: Der Header heißt "From", und nach dem Doppelpunkt muss ein Leerzeichen stehen.
        		$Header .= "MIME-Version: 1.0\r\n";
        		$Header .= "Content-Type: multipart/mixed; 	boundary=\"$boundary\"\r\n";
        
        		$msg = "$boundary\r\n";
        		$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: 7bit\r\n";
        // 7bit? Das ist ungewöhnlich. Typisch ist heute Quoted-Printable.
        		
        		foreach($_POST as $key => $value)  
        		{ 
        			$value = mysql_real_escape_string($value);
        			$value = htmlentities("$value", ENT_QUOTES);
        // Wieso maskierst du die Werte erst für mySQL, dann für HTML? Beides ist hier falsch.
        // Und eine einzelne Stringvariable nochmal in Anführungszeichen einbetten ist auch sinnlos.
        			if($key == "FormSend"){}else{
        				$msg .= "$key: $value\r\n";
        			} 
        		}
        		$msg .= "".$boundary."--\r\n";
        		$msg .= "$boundary\r\n";
        // Das ist einmal boundary zu viel. Und zwar das mit den '--', die erst ganz am Ende kommen sollten.
        		
        		$msg .="Content-Type: application/octetstream; name=".$_FILES["Anhang"]["name"]."\r\n";
        		$msg .="Content-Transfer-Encoding: base64\r\n";
        		$msg .="Content-Disposition: attachment; filename=".$_FILES["Anhang"]["name"]."\r\n";
        // Hier fehlt noch eine Leerzeile "\r\n" bzw. ein zweiter Zeilenumbruch.
        		@copy($_FILES["Anhang"]["tmp_name"],"phptmp/".$_FILES["Anhang"]["name"]."");
        		$zeiger_auf_datei=@fopen("phptmp/".$_FILES["Anhang"]["name"]."","rb");
        		$inhalt_der_datei=@fread($zeiger_auf_datei,filesize($_FILES["Anhang"]["name"]));
        		@fclose($zeiger_auf_datei);
        		$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
        		$msg .= $inhalt_der_datei;
        		$msg .= "".$boundary."--";
        // Genau, hier ist das mit den zusätzlichen zwei '--' richtig.
        		@mail($empfaenger,$subject,$msg,$Header);
        	}
        ?>
        

        Tipp: Lass dir zur Kontrolle mal deine gesamten Header und den Mail-Body in eine Textdatei ausgeben und vergleiche das akribisch mit dem Quellcode einer e-Mail mit Anhang, die du von irgendjemandem erhalten hast. Da sollten die kleinen Unterschiede wohl auffallen.

        So long,
         Martin

      4. So ist es. Ich möchte keinen aufgeblähten Mailer verwenden sondern es gern lernen.

        Guck Dir mal die Maildatei an, die Du erstellst.

        Wirklichkeit: Die Email kommt an, aber der Anhang steht nur im Body in Form von Text (base64)

        application/octet-stream

        bei Dir fehlt der Bindestrich.

  2. Hi,

      $msg .= "".$boundary."--\r\n";
      $msg .= "\r\n$boundary\r\n";
    

    das erscheint mir verdächtig. Boundary mit -- am Ende kommt doch erst nach dem letzten Part. Nicht mittendrin.

    cu,
    Andreas a/k/a MudGuard

  3. Hallo,

    hab nun schon zig Anleitungen, Formmailer angesehen, Bücher gewälzt etc. Ich bekomm es einfach nicht hin eine Email mit Anhang zu senden wo der Sender die Datei anhängt. Hier mal im Auszug was ich teste. Sieht jemand den Fehler?

    Bei dem Code wird das schwierig. Nicht einfach drauf los programmieren. Multipart Mails, das schreit ja förmlich nach einen Templatesystem. Du hast einen Common Header und dann eine sich wiederholende zyklische Struktur in welcher die einzelnen Parts Deiner Multipart-Mail abgelegt werden können.

    Jeder Part lässt sich wiederum auf ein asoc. Array abbilden (header, body).

    Die Maildatei kannst Du damit entweder per join(implode) über die Boundary herstellen oder aber die Daten in ein passendes Template rendern. Zum Schluss wird eine Pipe auf sendmail aufgemacht und die Maildatei da rein geschoben.

    Für eine Entwicklungsumgebung auf Win32 wird /usr/sbin/sendmail als sendmail.cmd emuliert. Gerne zeige ich Dir das anhand von konkreten Beispielen.

    1. Tach!

      Zum Schluss wird eine Pipe auf sendmail aufgemacht und die Maildatei da rein geschoben.

      Nein, das wird nicht, jedenfalls nicht unbedingt. PHP hat eine Funktion namens mail(), die sich um die Übergabe an den MTA kümmert.

      Für eine Entwicklungsumgebung auf Win32 wird /usr/sbin/sendmail als sendmail.cmd emuliert. Gerne zeige ich Dir das anhand von konkreten Beispielen.

      Das ist unter PHP mit Verwendung von mail() unnötig.

      dedlfix.

      1. Das ist unter PHP mit Verwendung von mail() unnötig.

        Eine Eigenentwicklung macht mail() überflüssig und hat den Vorteil einer eigenen von php.ini unabhängigen Konfiguration sowie einfachen Anwendung und einfachen Fehlersuche.

        1. Hallo pl,

          Eine Eigenentwicklung [...]

          Birgt eine grosse Quelle für Bugs und Sicherheits-Probleme und verursacht einen hohen Mainenance-Aufwand.

          macht mail() überflüssig und hat den Vorteil einer eigenen von php.ini unabhängigen Konfiguration

          Streiche Vorteil, setze Nachteil. ini_set() existiert. Abgesehen davon ist mail() bei den meisten Hostern bereits vorkonfiguriert.

          sowie einfachen Anwendung und einfachen Fehlersuche.

          Ich sehe nicht, warum eine Eigen-Entwicklung Fehler einfacher finden lässt. Im Gegenteil, tät ich meinen, sofern man davon ausgeht, dass mail() eine Blackbox ist, die einfach funktioniert.

          LG,
          CK

          1. Eine Eigenentwicklung [...]

            Birgt eine grosse Quelle für Bugs und Sicherheits-Probleme und verursacht einen hohen Mainenance-Aufwand.

            Qualitätstsicherung ist eine wirtschaftliche Frage. So muss das Debuggen bereits in die Entwicklungsarbeit einfließen, nur damit kann ein zeitnahes Handeln im Fehlerfall auch zukünftig abgesichert werden. Gerade hier in Sachen Maintenance liegt einer der Vorteile eigener Entwicklungen begründet.

            1. Tach,

              Eine Eigenentwicklung [...]

              Birgt eine grosse Quelle für Bugs und Sicherheits-Probleme und verursacht einen hohen Mainenance-Aufwand.

              Qualitätstsicherung ist eine wirtschaftliche Frage. So muss das Debuggen bereits in die Entwicklungsarbeit einfließen, nur damit kann ein zeitnahes Handeln im Fehlerfall auch zukünftig abgesichert werden. Gerade hier in Sachen Maintenance liegt einer der Vorteile eigener Entwicklungen begründet.

              ah natürlich, weil ich zusätzlich zum Debugging der eigentlichen Aufgabe auch noch das Debugging für die Eigenentwicklung selbst machen muss; das spart natürlich enorm Zeit und Geld.

              mfg\ Woodfighter

        2. Tach!

          Das ist unter PHP mit Verwendung von mail() unnötig.

          Eine Eigenentwicklung macht mail() überflüssig und hat den Vorteil einer eigenen von php.ini unabhängigen Konfiguration sowie einfachen Anwendung und einfachen Fehlersuche.

          Ob irgendetwas ein Vorteil oder Nachteil ist, hängt von der Aufgabenstellung ab. Warum es im Falle des OP von Vorteil sein soll, musst du noch erklären.

          Und wenn du schon unabhängig sein willst, so lass doch das Sendmail gleich ganz aus dem Spiel und liefere die Post direkt ab. Hat bestimmt viele Vorteile. Zum Beispiel den, dass die Zustellung nicht im Cache landet und auch nicht später wiederholt wird, wenn sie nicht gleich klappt ... </ironie>

          dedlfix.

          1. Ob irgendetwas ein Vorteil oder Nachteil ist, hängt von der Aufgabenstellung ab. Warum es im Falle des OP von Vorteil sein soll, musst du noch erklären.

            Ich muss hier überhaupt nichts erklären. Im Übrigen hast Du's noch frei, eine Entschuldigung bei mir abzuliefern. Worauf ich natürlich auch verzichten kann. Nur soviel, dass was Du Dir letztens geleistet hast, war eine Unverschämtheit ohnegleichen. Stell Dir mal vor das würde jemand mit Dir machen.

            1. Tach,

              Ob irgendetwas ein Vorteil oder Nachteil ist, hängt von der Aufgabenstellung ab. Warum es im Falle des OP von Vorteil sein soll, musst du noch erklären.

              Ich muss hier überhaupt nichts erklären.

              du müsstest es, falls du erwarten würdest, dass irgendjemand einen positiven Nutzen aus deinen Postings ziehen soll.

              Im Übrigen hast Du's noch frei, eine Entschuldigung bei mir abzuliefern.

              Selbst wenn das Konzept der Entschuldigung so funktionieren würde (was es nicht tut), wüsste ich nicht, wofür dedlfix dir eine schuldig wäre.

              mfg\ Woodfighter

              1. Selbst wenn das Konzept der Entschuldigung so funktionieren würde (was es nicht tut), wüsste ich nicht, wofür dedlfix dir eine schuldig wäre.

                Es ist ein Unterschied ob jemand an mich gerichtet schreibt: "Dein Beitrag versteht keiner" oder ob er an einen Dritten gerichtet schreibt "Den pl seine Beiträge versteht sowieso keiner"

                Die Bayern haben dafür ein schönes Wort, es lautet: Hinterfotzig.

                1. Tach,

                  Es ist ein Unterschied ob jemand an mich gerichtet schreibt: "Dein Beitrag versteht keiner" oder ob er an einen Dritten gerichtet schreibt "Den pl seine Beiträge versteht sowieso keiner"

                  keinen wesentlichen, u.a. da dich mit Kritik direkt anzusprechen in den meisten Fällen eh nicht zum gewünschten Erfolg führt. Du scheinst so weit in deiner eigenen Welt zu stecken, in der deine fachlichen Aussagen Gospel sind, dass du keinerlei Kritik mehr annehmen kannst; das hat schon vor vielen Jahren begonnen, ist seitdem aber in meinen Augen erheblich schlimmer geworden.

                  Die Bayern haben dafür ein schönes Wort, es lautet: Hinterfotzig.

                  Nein, das Wort passt nicht im geringsten in diesem Zusammenhang, weil ich keine Hinterlist in der Formulierung in der dritten Person erkennen könnte.

                  mfg\ Woodfighter

    2. Hi,

      Gerne zeige ich Dir das anhand von konkreten Beispielen.

      ... unter Verwendung deines eierlegenden Wollmilchsau-Frameworks. ;-)

      *scnr*,
       Martin

      1. Hi,

        Gerne zeige ich Dir das anhand von konkreten Beispielen.

        ... unter Verwendung deines eierlegenden Wollmilchsau-Frameworks. ;-)

        *scnr*,
         Martin

        Troll.

        1. Hallo pl,

          Gerne zeige ich Dir das anhand von konkreten Beispielen.

          ... unter Verwendung deines eierlegenden Wollmilchsau-Frameworks. ;-)

          *scnr*,
           Martin

          Troll.

          Ich glaube, du verwechselst hier Ross und Reiter: Du erwähnst hier immer dein mysteriöses Perl-Framework, auch wenn es die Fragenden meist nicht interessieren wird, weil sie nach einer Lösung in einer anderen Sprache, meist PHP suchen.

          Ich glaube, dass dein Framework ein Potemkimsches Dorf ist und damit nicht existiert:

          • kein Source-Code verfügbar (oder so versteckt, dass ich ihn nicht finden kann)
          • selbst wenn du dein Framework kommerziell vermarkten wolltest, solltest du das vielleicht auch mal erwähnen und konkrete und verständliche Beispiele bringen
          • wenn du willst, dass es jemand nutzt (unter der Voraussetzung, dass es existiert), solltest du diese seltsam abstrakten Erklärungen hier im Forum sein lassen, die erinnern mich manchmal irgendwie an Science-Fiction aus Star-Trek, sinnfrei aber klingt hochwissenschaftlich (ergo: Ziel erreicht)
          • mit der Webseite eines Friseur-Salons als einziges Anwendungsbeispiel, scheint sich mir nicht zu erschließen, was an dem Framework so besonders sein soll.

          Gruß
          Julius

          1. Ich glaube, dass dein Framework ein Potemkimsches Dorf ist und damit nicht existiert:

            Im Gegensatz zu vielen Theoretikern hier kann ich das Ergebnis meiner Entwicklungs-Arbeit vorzeigen: Hier ist die Domänen-Übersicht die alle über einunddasselbe Framework laufen (Multidomain FW). Die vielen Code-Beispiele sind natürlich Perl.

            Das Framework gibt es auch in PHP und ich denke es lässt sich auch in anderen Programmiersprachen umsetzen.

            PS: Machs Fnster kleiner dann ist die Werbung weg.

            1. Hallo

              Ich glaube, dass dein Framework ein Potemkimsches Dorf ist und damit nicht existiert:

              Im Gegensatz zu vielen Theoretikern hier kann ich das Ergebnis meiner Entwicklungs-Arbeit vorzeigen: Hier ist die Domänen-Übersicht die alle über einunddasselbe Framework laufen (Multidomain FW).

              … und die samt und sonders von dir betrieben werden. Nicht Martin ist der Troll, sondern Du bist es.

              Tschö, Auge

              --
              Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
              Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
              1. Hallo

                Ich glaube, dass dein Framework ein Potemkimsches Dorf ist und damit nicht existiert:

                Im Gegensatz zu vielen Theoretikern hier kann ich das Ergebnis meiner Entwicklungs-Arbeit vorzeigen: Hier ist die Domänen-Übersicht die alle über einunddasselbe Framework laufen (Multidomain FW).

                … und die samt und sonders von dir betrieben werden.

                Und auch programmiert. Ein paar Ideen sind sogar hier aus dem Forum, aber das ist viele Jahre her.

            2. Hallo pl,

              Ich glaube, dass dein Framework ein Potemkimsches Dorf ist und damit nicht existiert:

              Im Gegensatz zu vielen Theoretikern hier kann ich das Ergebnis meiner Entwicklungs-Arbeit vorzeigen: Hier ist die Domänen-Übersicht die alle über einunddasselbe Framework laufen (Multidomain FW). Die vielen Code-Beispiele sind natürlich Perl.

              Ja, schön. Aber wo ist der Source-Code deines Frameworks?
              Mit Verlaub: Ein paar HTML-Dateien zusammen auf einen Server packen und behaupten, dass sie von einem alle-Wünsche-dem-Betreiber-von-den-Lippen-ablesenden-Framework ausgeliefert werden, kann ich auch.

              Das Framework gibt es auch in PHP und ich denke es lässt sich auch in anderen Programmiersprachen umsetzen.

              Dann liefere Fragenden doch bitte eine (einfache!) Lösung in PHP oder Hinweise zu einer solchen und gut ist’s! (Es mag natürlich durchaus Fälle geben, wo der Einsatz eines Frameworks Sinn macht, aber das scheinen mir die wenigsten Fragen hier zu sein.)

              Gruß
              Julius

              1. Dann liefere Fragenden doch bitte eine (einfache!) Lösung in PHP oder Hinweise zu einer solchen und gut ist’s! (Es mag natürlich durchaus Fälle geben, wo der Einsatz eines Frameworks Sinn macht, aber das scheinen mir die wenigsten Fragen hier zu sein.)

                Hab ich gemacht, ganz genau und nichts anderes. Erst ein Troll Nickname Martin hat mein Framework hier ins Spiel gebracht auf eine Art und Weise, die ihm nicht gerade viel Intelligenz bescheinigt.

                Aber wenn wir schonmal dabei sind: Das Framework kann sich sehen lassen. Ich hab das ganz allein entwickelt im Gegensatz zu anderen Frameworks wo ungezählte Programmierer dran sind.

                Mit meinem FW eine neue Anwendung entwickeln erfordert lediglich die Entwicklung einer Klasse, von solchen Features können Andere nur Träumen. Und das ganze auch als mod_perl und FastCGI.

                Da steckt KnowHow drin und natürlich auch ne Menge Arbeit. Da ist jedes Modul eine Eigenentwicklung und natürlich gibt es auch eine Mailer-Klasse.

                Und wenn ich hier was poste, weiß ich 100% ig wovon ich rede, weil auch eine gehörige Portion Erfahrung dahintersteckt.

                1. Hallo pl,

                  Das Framework kann sich sehen lassen.

                  Nur leider kann deine Angaben niemand überprüfen. Aber ich schlage vor, wir lassen das an dieser Stelle sein. Das führt nämlich (wie jedesmal - leider) zu nichts.

                  Das letzte mal war im Februar. (https://forum.selfhtml.org/m1660933)

                  PS: Haben wir nicht einen tollen URL-Verkürzer? ;-)

                  Bis demnächst
                  Matthias

                  --
                  Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)

                  Folgende Beiträge verweisen auf diesen Beitrag:

                  1. Hallo Matthias,

                    Nur leider kann deine Angaben niemand überprüfen. Aber ich schlage vor, wir lassen das an dieser Stelle sein. Das führt nämlich (wie jedesmal - leider) zu nichts.

                    Das letzte mal war im Februar. (https://forum.selfhtml.org/m1660933)

                    Du hast Recht, es wiederholt sich sowieso nur alles.

                    PS: Haben wir nicht einen tollen URL-Verkürzer? ;-)

                    Sehr praktisch, danke an CK dafür!

                    Gruß
                    Julius

                2. Hallo pl,

                  Dann liefere Fragenden doch bitte eine (einfache!) Lösung in PHP oder Hinweise zu einer solchen und gut ist’s! (Es mag natürlich durchaus Fälle geben, wo der Einsatz eines Frameworks Sinn macht, aber das scheinen mir die wenigsten Fragen hier zu sein.)

                  Hab ich gemacht, ganz genau und nichts anderes. Erst ein Troll Nickname Martin hat mein Framework hier ins Spiel gebracht auf eine Art und Weise, die ihm nicht gerade viel Intelligenz bescheinigt.

                  Bitte nicht persönlich werden – das geht gar nicht!

                  Aber wenn wir schonmal dabei sind: Das Framework kann sich sehen lassen. Ich hab das ganz allein entwickelt im Gegensatz zu anderen Frameworks wo ungezählte Programmierer dran sind.

                  Mit meinem FW eine neue Anwendung entwickeln erfordert lediglich die Entwicklung einer Klasse, von solchen Features können Andere nur Träumen. Und das ganze auch als mod_perl und FastCGI.

                  Ich würde es dir ja gerne glauben, es gibt nur einfach keinen Beweis für die Existenz deines Frameworks!

                  Da steckt KnowHow drin und natürlich auch ne Menge Arbeit. Da ist jedes Modul eine Eigenentwicklung und natürlich gibt es auch eine Mailer-Klasse.

                  Und wenn ich hier was poste, weiß ich 100% ig wovon ich rede, weil auch eine gehörige Portion Erfahrung dahintersteckt.

                  Nur werden deine Äußerungen regelmäßig von anderen Leuten, deren Können und Erfahrung ich glaube, gut einschätzen zu können, widerlegt...

                  Gruß
                  Julius

                  1. Ich würde es dir ja gerne glauben, es gibt nur einfach keinen Beweis für die Existenz deines Frameworks!

                    Ignoranz und Arroganz. Hab ich in den letzten Berufsjahren nicht anders kennengelernt und von Dir natürlich auch nichts anderes erwartet. Stell Dir mal vor, das würde einer mit Dir machen. Wahrscheinlich würdest Du winselnd davon laufen. Aber gerne nochmal, extra für Dich:

                    Ich bin nicht hier, um mein Framework zu verteidigen. Und Eurer Verhalten schadet nur dem Forum. Wenn ihr euch nur profilieren wollt, macht das Forum zu und geht zu Facebook & Co.

                    Hochachtungsvoll.pl

                    1. Hallo pl,

                      Ich würde es dir ja gerne glauben, es gibt nur einfach keinen Beweis für die Existenz deines Frameworks!

                      Ignoranz und Arroganz. Hab ich in den letzten Berufsjahren nicht anders kennengelernt und von Dir natürlich auch nichts anderes erwartet. Stell Dir mal vor, das würde einer mit Dir machen. Wahrscheinlich würdest Du winselnd davon laufen.

                      Nein, ich würde einfach mein Programm, dass ich die ganze Zeit bewerbe, zeigen und mich der Kritik stellen, während du hier nur dauernd die Respekt- und Berufserfahrungskeule schwingst.

                      Aber gerne nochmal, extra für Dich:

                      Ich bin nicht hier, um mein Framework zu verteidigen.

                      Ach ja? Warum erwähnst du es dann dauernd?

                      Und Eurer Verhalten schadet nur dem Forum.

                      Nein, dein Verhalten schadet dem Forum, weil du Antworten gibst, mit denen niemand etwas anfangen kann.

                      Wenn ihr euch nur profilieren wollt, macht das Forum zu und geht zu Facebook & Co.

                      Wenn du es Ernst meinst, solltest gerade du zu Twitter gehen – dann kannst du deinen dortigen Followern jeden Tag eine neue Lobpreisung deines Frameworks liefern.

                      Gruß
                      Julius

                      1. Bitteschön, ich hab doch den OP gefragt, ob er mein SendMail Modul sehen möchte.

                        1. Hallo pl,

                          Bitteschön, ich hab doch den OP gefragt, ob er mein SendMail Modul sehen möchte.

                          Ja, dann zeig doch einfach dein Framework!

                          Gruß
                          Julius

                    2. Tach,

                      Ich würde es dir ja gerne glauben, es gibt nur einfach keinen Beweis für die Existenz deines Frameworks!

                      Ignoranz und Arroganz.

                      es ist immer wieder faszinierend, wie du in deinen Beiträgen, meine Meinung über dieselben äußerst, dabei aber offenkundig andere meinst.

                      Hab ich in den letzten Berufsjahren nicht anders kennengelernt

                      Du bekommst seit Jahren Gegenwind und hast dich in der ganzen Zeit nicht einmal umgedreht und darüber nachgeacht, dass du falsch liegen könntest und alle anderen richtig?

                      Ich bin nicht hier, um mein Framework zu verteidigen.

                      Nein, aber offensichtlich, um es zu bewerben, und das scheitert zumindest beim Stammpublikum hier kläglich.

                      Und Eurer Verhalten schadet nur dem Forum. Wenn ihr euch nur profilieren wollt, macht das Forum zu und geht zu Facebook & Co.

                      Wenn du an der Qualität des Forums interessiert wärst, würdest du dich an die dir gegebenen Ratschläge halten.

                      mfg\ Woodfighter

                      1. Wenn du an der Qualität des Forums interessiert wärst, würdest du dich an die dir gegebenen Ratschläge halten.

                        Deswegen bin ich ja hier. Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                        1. Tach,

                          Wenn du an der Qualität des Forums interessiert wärst, würdest du dich an die dir gegebenen Ratschläge halten.

                          Deswegen bin ich ja hier. Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          du wurdest mehrfach aufs Wiki hingewiesen, an dem du nicht mitarbeiten willst (was, wenn man die Qualität deiner Foren-Beiträge betrachtet, vermutlich gut für die regelmäßig dort Mitarbeitenden ist).

                          mfg\ Woodfighter

                          P.S. Hinzuzufügen wäre noch, dass du hier auf die Kritik mal wieder nicht eingehst, sondern nur einen Teil meines Postings zitierst und ihn zu deinem Vorteil hinstellen willst; wir hatten schon bessere Trolle hier im Forum, vom Luden könntest du noch einiges lernen.

                        2. Hallo pl,

                          Wenn du an der Qualität des Forums interessiert wärst, würdest du dich an die dir gegebenen Ratschläge halten.

                          Deswegen bin ich ja hier. Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          Wie war das noch mit der Ingnoranz? → Das Wiki ist die Doku.

                          Gruß
                          Julius

                        3. Hallo pl,

                          Deswegen bin ich ja hier. Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          Das ist nicht wahr ff.

                          Bis demnächst
                          Matthias

                          --
                          Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                        4. Hallo pl,

                          Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          In diesem Fall wars eher umgekehrt.

                          Bis demnächst
                          Matthias

                          --
                          Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                        5. Hallo pl,

                          Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          Frage - Antwort

                          Bis demnächst
                          Matthias

                          --
                          Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                        6. Hallo pl,

                          Hab Euch übrigens schon mehrfach Hilfe angeboten, Dokumentationen zu erstellen. Nie ne Antwort gekriegt.

                          Vor allem hast du mindestens zweimal abgelehnt, SELFHTML zu unterstützen. https://forum.selfhtml.org/m1540706

                          Bis demnächst
                          Matthias

                          --
                          Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
                3. Und wenn ich hier was poste, weiß ich 100% ig wovon ich rede, weil auch eine gehörige Portion Erfahrung dahintersteckt.

                  Ausnahmen bestätigen diese Regel natürlich.

                4. Hallo,

                  Dann liefere Fragenden doch bitte eine (einfache!) Lösung in PHP oder Hinweise zu einer solchen und gut ist’s! (Es mag natürlich durchaus Fälle geben, wo der Einsatz eines Frameworks Sinn macht, aber das scheinen mir die wenigsten Fragen hier zu sein.)

                  Hab ich gemacht, ganz genau und nichts anderes. Erst ein Troll Nickname Martin hat mein Framework hier ins Spiel gebracht auf eine Art und Weise, die ihm nicht gerade viel Intelligenz bescheinigt.

                  nun halt mal bitte den Ball flach. Du erwähnst dein Framework, dessen Qualitäten ich nicht beurteilen kann und deswegen auch nicht kritisieren will, inflationär häufig und oft in unpassendem Kontext, so dass man den Eindruck hat, es musste einfach bloß mal wieder erwähnt werden.
                  Diese Art der ausgeprägten Selbstbeweihräucherung ist, gelinde gesagt, lästig und geht anscheinend mehreren Lesern hier auf den Senkel. Mich eingeschlossen.

                  Diesmal kam eine Wortmeldung von dir, die dieses System nicht erwähnt, nicht einmal andeutet. Aber dass du auf einen sarkastischen Seitenhieb, mit dem du ehrlich gesagt rechnen musstest, so heftig reagierst, das wundert mich schon.

                  Aber wenn wir schonmal dabei sind: Das Framework kann sich sehen lassen.

                  Ja dann zeig's halt mal! Bisher lässt es sich nämlich nicht sehen.

                  So long,
                   Martin

                  1. Ja dann zeig's halt mal! Bisher lässt es sich nämlich nicht sehen.

                    Meine Zugriffszahlen gehen heute durch die Decke. Auch ohne Dich.

                    1. Hallo pl,

                      Ja dann zeig's halt mal! Bisher lässt es sich nämlich nicht sehen.

                      Meine Zugriffszahlen gehen heute durch die Decke. Auch ohne Dich.

                      Wahrscheinlich, weil ich vor meinem Post versucht habe, den Source-Code oder irgendetwas Greifbares zu deinem Framework zu finden!

                      Gruß
                      Julius

                      1. Wahrscheinlich, weil ich vor meinem Post versucht habe, den Source-Code oder irgendetwas Greifbares zu deinem Framework zu finden!

                        Ist die Suchfunktion kaputt? Dann schick mir ne Mail, Formular ist vorhanden.

                        1. Hallo pl,

                          Wahrscheinlich, weil ich vor meinem Post versucht habe, den Source-Code oder irgendetwas Greifbares zu deinem Framework zu finden!

                          Ist die Suchfunktion kaputt? Dann schick mir ne Mail, Formular ist vorhanden.

                          Wieso der Aufwand? – stell einfach einen Link zu deinem Source-Code hier ins Forum. Dann sehen wir ja, dass dein Framework existiert.

                          Gruß
                          Julius

                          1. Wieso der Aufwand? – stell einfach einen Link zu deinem Source-Code hier ins Forum. Dann sehen wir ja, dass dein Framework existiert.

                            Es existiert auch ohne Veröffentlichung sämtlicher Sourcen. Ich habe es sehr umfangreich beschrieben und natürlich auch den Grundaufbau offen gelegt. Das braucht keinen Source-Code um das zu verstehen und darauf kommt es ja ersteinmal an. Herzstück ist eine Interface, eine Routing-Table und eine flache Klassenhierarchie. Charakteristisch ist die Bindung von URLs an eine Subklasse und das steht alles auf meinen Seiten.

                            Programmieren kann sowas jeder, egal ob in Perl oder PHP. Was ein Interfae ist, weiß jeder genauso auch was Dependency Injection ist. Vielleicht wissen nicht alle, dass Aggregation plus Delegation auch wieder zu Dependency Injection führt aber die Begriffe sind gar nicht entscheidend. Entscheidend ist die Energie des Verstehens.

                            1. Tach,

                              Es existiert auch ohne Veröffentlichung sämtlicher Sourcen.

                              vermutlich, aber wenn du es Julius beweseien wolltest, kömest du um die Veröffentlichung nicht drum herum.

                              Ich habe es sehr umfangreich beschrieben und natürlich auch den Grundaufbau offen gelegt.

                              Falls du die Texte auf deiner Webseite meinst, dann hast du es nicht verständlich beschrieben, die meisten deiner Texte lesen sich wie Technobabble und nur weil ich das in Star Trek mag, heißt das nicht, dass das in Non-Fiction-Texten sinnvoll ist.

                              Herzstück ist eine Interface, eine Routing-Table und eine flache Klassenhierarchie. Charakteristisch ist die Bindung von URLs an eine Subklasse und das steht alles auf meinen Seiten.

                              Das sind zwei wunderbare Beispielsätze für Technobabble, hohe Fachwortdichte, aber zumindest ich kann quasi keinerlei Inhalt entnehmen (und nein, das liegt nicht an meiner Programmierunerfahrenheit, mit den von dir genannten Jahreszahlen kann ich durchaus mithalten).

                              Programmieren kann sowas jeder, egal ob in Perl oder PHP. Was ein Interfae ist, weiß jeder genauso auch was Dependency Injection ist.

                              Ich habe allerdings das Gefühl, das du unter den Begriffen häufig etwas anderes verstehst, als alle anderen, so wie hier schon vorher.

                              Vielleicht wissen nicht alle, dass Aggregation plus Delegation auch wieder zu Dependency Injection führt

                              Nein, tut es nicht, ich sehe keine Logik, die diese drei Begriffe so zusammenführt.

                              mfg\ Woodfighter

                              Folgende Beiträge verweisen auf diesen Beitrag:

                              1. Herzstück ist eine Interface, eine Routing-Table und eine flache Klassenhierarchie. Charakteristisch ist die Bindung von URLs an eine Subklasse und das steht alles auf meinen Seiten.

                                Das sind zwei wunderbare Beispielsätze für Technobabble, hohe Fachwortdichte, aber zumindest ich kann quasi keinerlei Inhalt entnehmen (und nein, das liegt nicht an meiner Programmierunerfahrenheit, mit den von dir genannten Jahreszahlen kann ich durchaus mithalten).

                                Doch, genau daran liegt es. Und noch was ist mir beim Entwickeln meines FW klar geworden: Lass Dich nicht beeirren und nicht durch Fachbegriffe verwirren. Mein FW ist letztendlich ein Ergebnis meiner eigenen Beharrlichkeit und meines Selbstvertrauens. Letzteres ist ein ziemlich starkes Motiv und auch das Alles Entscheidende.

                                Kommen wir mal zu einer einfachen Sache, die Bindung eines URLs an eine Subklasse. z.B. in einer INI-Datei

                                ; URL, Klasse u.a. Attribute
                                [/sitemap.xml]
                                class=Sitemap
                                no_cache=1
                                no_sitemap=1
                                

                                Diese u. weitere URLs bilden, nachdem die ini im RAM gelandet ist, den sog. urlmap oder auch Routing-Table genannt. Ich darf die ini natürlich auch Projektverwaltung nennen, weil da alles, was sich auf einer Domäne befindet, drinsteht.

                                So reicht zur Qualitätssicherung und Debug ein flüchtiger Blick in den Response-Header, um zu sehen, an welche Klasse ein URL gebunden ist, der Customheader lautet x-class.

                                Nachdem also die Klasse feststeht, wird Sitemap.pm kompiliert und eine Instanz dieser Klasse erstellt. class Sitemap wiederum erbt von package main ein Interface. Das sind ein paar Methoden, die nur in einer bestimmten Reihenfolge aufgerufen werden müssen wobei in jeder dieser IF-Methoden die Instanz mit einer Reihe weiterer Attribute verfügbar ist.

                                Dependency Injection

                                Bei der Instanzerstellung werden weitere Klassen kompiliert und wiederum deren Instanzen eingbunden. Z.B. eine Instanz der Klasse CGI womit Requestparameter befragt werden können und eine Instanz der Klasse SESSION kurz class SES.

                                Das Reinschmacken dieser fremden Objekte in mein FW-Objekt nennt sich Aggregation. Das passiert im Moment der Erstellung meines FW-bjekts als Instanz der an den URL gebundnen Subklasse class=Sitemap im Beispiel. Das FW objekt hat also die Attribute SES und CGI. Delegation ist, wenn eine zum FW-Objekt also zur eignen Subklasse gehörige Methode über solche inneren Instanzen Methoden der fremden Klasse aufruft. Z.B. $self->{SES}->write(); um die Sessiondaten auf die HDD zurückzuschreiben. Und Lazy Delgation ist, wenn Instanzen nicht verwandter Klassen später, also erst zur Laufzeit in das FW-Objekt als Attribut reingeschmackt werden. Gewöhnlich im Rahmen einer Factory.

                                Warum braucht die SESSION eine Klasse?

                                Ganz einfach: Weil es eine Methode geben muss wo die Daten persistent macht. Und die muss wissen wo die Daten hingehören, auf HDD oder MySQL oder halt woandershin. Auf diese Art und Weise sind die Layer klar voneinander getrennt und es gibt klar definierte Schnittstellen.

                                Das ist im Prinzip schon alles. Logisch: Wenn ich nur die Config-Daten brauche, muss das Attribut {CFG} an keine Klasse gebunden sein. Will mein FW-Objekt jedoch CFG-Daten persistent machen, muss das Attribut {CFG} bzw. die Daten in dieser Referenz an eine Klasse gebunden sein, denn die Klasse definiert den Speicherort. Perl realisiert sowas über tie() das bindet eine Variable an eine Klasse und das geht auch in PHP zu machen wenn auch viel umständlicher.

                                1. Tach,

                                  (und nein, das liegt nicht an meiner Programmierunerfahrenheit, mit den von dir genannten Jahreszahlen kann ich durchaus mithalten).

                                  Doch, genau daran liegt es.

                                  und das kannst du aufgrund deiner kürzeren Programmmiererfahrung sagen?

                                  Lass Dich nicht beeirren und nicht durch Fachbegriffe verwirren.

                                  Das du das nicht tust, ist mir schon klar, sonst würdest du nicht so viele Fachbegriffe in falschen Zusammenhängen und mit falschem Inhalt befüllt verwenden.

                                  Mein FW ist letztendlich ein Ergebnis meiner eigenen Beharrlichkeit und meines Selbstvertrauens. Letzteres ist ein ziemlich starkes Motiv und auch das Alles Entscheidende.

                                  Genau so kommt es rüber, du bist der einzige, der die Weisheit mit Löffeln gefressen hat und alle, die dich kritisieren, müssen dementsprechend falsch liegen.

                                  Kommen wir mal zu einer einfachen Sache, die Bindung eines URLs an eine Subklasse. z.B. in einer INI-Datei

                                  ; URL, Klasse u.a. Attribute
                                  [/sitemap.xml]
                                  class=Sitemap
                                  no_cache=1
                                  no_sitemap=1
                                  

                                  Diese u. weitere URLs bilden, nachdem die ini im RAM gelandet ist, den sog. urlmap oder auch Routing-Table genannt. Ich darf die ini natürlich auch Projektverwaltung nennen, weil da alles, was sich auf einer Domäne befindet, drinsteht.

                                  So reicht zur Qualitätssicherung und Debug ein flüchtiger Blick in den Response-Header, um zu sehen, an welche Klasse ein URL gebunden ist, der Customheader lautet x-class.

                                  Nachdem also die Klasse feststeht, wird Sitemap.pm kompiliert und eine Instanz dieser Klasse erstellt.

                                  class Sitemap wiederum erbt von package main ein Interface.

                                  Interfaces werden in Klassen implementiert, nicht geerbt, von einem Interface erben können nur Interfaces.

                                  Bei der Instanzerstellung werden weitere Klassen kompiliert und wiederum deren Instanzen eingbunden. Z.B. eine Instanz der Klasse CGI womit Requestparameter befragt werden können und eine Instanz der Klasse SESSION kurz class SES.

                                  Das Reinschmacken dieser fremden Objekte in mein FW-Objekt nennt sich Aggregation.

                                  Je nachdem, was du mit „Reinschmacken“ meinst, könnte das richtig sein.

                                  Delegation ist, wenn eine zum FW-Objekt also zur eignen Subklasse gehörige Methode über solche inneren Instanzen Methoden der fremden Klasse aufruft. Z.B. $self->{SES}->write(); um die Sessiondaten auf die HDD zurückzuschreiben.

                                  Ich verstehe zwar nicht, warum eine einen Seitentyp implementierende Klasse das selber implementieren sollte, aber zumindest ist es ein Beispiel für Delegation; das Session-Object sollte im Allgemeinen selbst genug Informationen darüber haben, ob es persistiert werden sollte (z.B. in Java im Rahmen einer close-Funktion).

                                  Und Lazy Delgation ist, wenn Instanzen nicht verwandter Klassen später, also erst zur Laufzeit in das FW-Objekt als Attribut reingeschmackt werden. Gewöhnlich im Rahmen einer Factory.

                                  Meinst du vielleicht lazy initialization?

                                  Dependency Injection

                                  Ob du in diesen Paragraphen irgendwo Dependency Injection genutzt hast, ist mindestens unklar, du hast zwar Prozesse beschrieben, wo es sinnvoll wäre, aber kein Beispiel dafür genannt.

                                  Das ist im Prinzip schon alles. Logisch: Wenn ich nur die Config-Daten brauche, muss das Attribut {CFG} an keine Klasse gebunden sein.

                                  Will mein FW-Objekt jedoch CFG-Daten persistent machen, muss das Attribut {CFG} bzw. die Daten in dieser Referenz an eine Klasse gebunden sein, denn die Klasse definiert den Speicherort.

                                  Die Konfiguration sollte den Speicherort vorgeben, nicht eine Klasse. Und dass das Schreiben einer Konfiguration im Rahmen der von dieser Konfiguration betroffenen Applikation keine gute Idee ist, hatte ja Sven in einem anderen Thread in dieser Woche schon erwähnt: https://forum.selfhtml.org/self/2016/mar/21/wie-am-besten-konfigurationsparameter-uebergeben/1663691#m1663691

                                  Perl realisiert sowas über tie() das bindet eine Variable an eine Klasse und das geht auch in PHP zu machen wenn auch viel umständlicher.

                                  tie ist eine Möglichkeit in Perl Klassen hinter einem festgelegten Interface zu verstecken (bzw. einem von vier ähnlichen Interfaces) und ob es der jeweils richtige Weg ist, muss im Einzeelfall entschieden werden.

                                  mfg\ Woodfighter

                                  1. Interfaces werden in Klassen implementiert, nicht geerbt, von einem Interface erben können nur Interfaces.

                                    Das mag in PHP so sein. In Perl jedoch kann ich das auch anders machen, deswegen darf ich das immer noch Interface nennen. Ich kann ein IF z.B. so gestalten, dass es gar nicht vererbt wird, also so, dass Methoden eines IF nur dann ausgeführt werden, wenn sie vorhanden sind. Oder als Funktionsreferenz definiert sind.

                                    Mit Letzterem setze ich das Entwurfsmuster des Decorators um: Einer Subklasse wird zur Laufzeit ein beliebiges Interface zugewiesen. Z.B. weise ich einer Seite bzw. Klasse (Bindung: URL <=> Class) das interface=comment zu und schon können Besucher Kommentare zu genau dieser Seite verfassen.

                                    Weißt Du, das eine ist die Theorie und das andere ist die Praxis. Warum überhaupt Klassen? Die Vererbung ist doch auch nur einer von vielen Aspekten. Wirklich interessantere Aspekte sind eher wirtschaftlicher Natur, gehen z.B. in Richtung Qualitätssicherung, Teamarbeit und Kostensenkung.

                                    So hat mein FW Subklassen hauptsächlich deswegen, weil die Klasse die Frage zur Templatebeschaffung einer Seite regelt. Die Dialektik von Eigenschaften und Methoden: Eine Eigenschaft beinhaltet den Dateinamen, eine Methode holt das Template.

                                    Sowas wird erst richtig interessant in der Implementierung einer Volltextsuchfunktion. Zu durchsuchen seien Title, Description und Body. Während die ersten beiden Eigenschaften als Attribute in der Konfiguration zu finden sind, muss der Body erst beschafft werden. Also schnappen wir uns das class= Attribute und erstellen ganz einfach eine Instanz für die in class= festgelegte Subklasse. Und nun müssen wir nur noch eine der im FW-Interface definierten Methoden aufrufen, welche für die Beschaffung des Body zuständig ist. Fertig.

                                    Dies und das und Weiteres ist praktisch angewandte OOP. Aber das wirst Du wahrscheinlich nie verstehen.

                                    Schönen Tach auch.

                                    1. Tach,

                                      Interfaces werden in Klassen implementiert, nicht geerbt, von einem Interface erben können nur Interfaces.

                                      Das mag in PHP so sein.

                                      nein, das steckt in der Bedeutung des Fachbegriffs Interface im Feld OOP.

                                      In Perl jedoch kann ich das auch anders machen,

                                      Ja, Perl kennt standardmäßig keine Interfaces, aber es gibt verschiedene Implementationen davon

                                      deswegen darf ich das immer noch Interface nennen.

                                      Du kannst das auch Husseldigu nennen, das wäre dann vermutlich besser, weil gleich klar wäre, dass du keinen Fachbegriff meinst, der eben eine spezifische Bedeutung im Kontext OOP hat.

                                      Weißt Du, das eine ist die Theorie und das andere ist die Praxis.

                                      Nein, auch in der Praxis ist es nötig bekannte Begriffe nicht mit neuen Bedeutungen überladen zu wollen, zumindest wenn man verstanden werden möchte; wenn man das nicht tut, wirkt man wie ein Idiot, der Fachbegriffe, die er irgendwo mal aufgeschnappt hat, in unsinnige Zusammenhänge bringt.

                                      Dies und das und Weiteres ist praktisch angewandte OOP. Aber das wirst Du wahrscheinlich nie verstehen.

                                      LOL

                                      mfg\ Woodfighter

                                      Folgende Beiträge verweisen auf diesen Beitrag:

                              2. Hallo woodfighter,

                                Falls du die Texte auf deiner Webseite meinst, dann hast du es nicht verständlich beschrieben, die meisten deiner Texte lesen sich wie Technobabble und nur weil ich das in Star Trek mag, heißt das nicht, dass das in Non-Fiction-Texten sinnvoll ist.

                                Argumentklau ;-)

                                Gruß
                                Julius

                                1. Tach,

                                  Falls du die Texte auf deiner Webseite meinst, dann hast du es nicht verständlich beschrieben, die meisten deiner Texte lesen sich wie Technobabble und nur weil ich das in Star Trek mag, heißt das nicht, dass das in Non-Fiction-Texten sinnvoll ist.

                                  Argumentklau ;-)

                                  ah da war's, sorry; ich wußte es war irgendwo, aber habe es gestern im Wust der ganzen Threads leider nicht wiedergefunden, sonst hätte ich es verlinkt.

                                  mfg\ Woodfighter

                                  1. Hallo woodfighter,

                                    Falls du die Texte auf deiner Webseite meinst, dann hast du es nicht verständlich beschrieben, die meisten deiner Texte lesen sich wie Technobabble und nur weil ich das in Star Trek mag, heißt das nicht, dass das in Non-Fiction-Texten sinnvoll ist.

                                    Argumentklau ;-)

                                    ah da war's, sorry; ich wußte es war irgendwo, aber habe es gestern im Wust der ganzen Threads leider nicht wiedergefunden, sonst hätte ich es verlinkt.

                                    Kein Problem :-)
                                    Immerhin weiß ich jetzt, dass ich nicht allein so empfinde und man das Ganze Technobabble nennt – wieder mal was gelernt!

                                    Gruß
                                    Julius

                                    1. Tach,

                                      Immerhin weiß ich jetzt, dass ich nicht allein so empfinde

                                      nein, ich habe eher das Gefühl, dass es den meisten, wenn nicht allen, die das nötige Fachwissen haben und sich außerhalb von Rolfs Kopf aufhalten, so geht.

                                      und man das Ganze Technobabble nennt – wieder mal was gelernt!

                                      Was dann auch erklärt, warum ich dein Posting nicht wiederfand, als ich nach Technobabble suchte.

                                      mfg\ Woodfighter

                5. Hi,

                  Und wenn ich hier was poste, weiß ich 100% ig wovon ich rede, weil auch eine gehörige Portion Erfahrung dahintersteckt.

                  Du hast die Ironie-Tags vergessen.

            3. Hallo pl,

              PS: Machs Fnster kleiner dann ist die Werbung weg.

              Wo soll denn welche sein, ich sehe nämlich keine.

              Gruß
              Julius