Formular: html-Seite ins value-tag includen

  • Hallo,


    die Überschrift beschreibt meinen Versuch vorhanden Strukturen eines Mailformulares zu nutzen.
    Ich habe eine html-Seite, die ich ins value-tag includen möchte.
    Ich habe schon viel gesucht, aber immer kommt ein leerer Message-Text an.
    Wenn ich den Text nur markiere und ins "value" einfüge, dann kommt der value-Inhalt an.
    Der Titel/Betreff kommt immer an.


    Ich möchte dann diese Seite manuell oder via cronjob starten lassen. (was nicht das Problem ist)
    Man könnte das ganze anders programmieren, aber dann müsste ich auch die anderen db-Abfragen/Einstellungen verändern.
    Aber es soll (auch) für andere keinen Eingriff in die vorhandene Programmierung bedeuten.


    Gesucht wird, ob es ein Befehl
    - der auch ins/zum value-tag passt,
    - der html-in-Text umwandelt.


    Gruß
    ojay

  • Also so wie ich das verstehe kannst du das mit PHP lösen, du hast eine HTML Seite, da schreibst du das rein was ins Value rein soll,


    dann nennst du die "include.htm", und auf der Seite wo dein Value Attribut ist machst du das so:


    PHP
    <span class="syntaxhtml"><br />  <input type="text" value="<span class="syntaxdefault"><?php </span><span class="syntaxkeyword">print </span><span class="syntaxdefault">trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">file_get_contents</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'include.htm'</span><span class="syntaxkeyword">))); </span><span class="syntaxdefault">?></span>" /><br /></span>


    Die Seite musst du dann nur noch im selben Verzeichnis speichern wie "include.htm". bzw. den Pfad mit angeben. Die Datei mit dem Input musst du unbedingt als .php speichern und dann auf einem Webfähigen Server ausführen.

  • Hallo,


    vielen Dank, für diesen Ansatz.
    Leider wird nun der Quellcode der php-Datei im Messagetext ausgegeben.

    PHP
    <input type="hidden" name="messagetext" value="<?php print trim(htmlentities(file_get_contents('userscripts/list_birthdays.php'))); ?>" />


    Ich hatte leider nicht geschrieben, das das html eine php-Datei (list_birthdays.php) erzeugt.
    Ich dachte daran das html-Ergebnis (die html-Ausgabe (der php-Datei)) abzufangen, in Text umwandeln und ins value packen. So ähnlich wie ich es manuell** machen würde.


    **Markieren, Kopieren und ins value einfügen.


    Zitat von &quot;Basiii&quot;

    Also so wie ich das verstehe kannst du das mit PHP lösen, du hast eine HTML Seite, da schreibst du das rein was ins Value rein soll,
    dann nennst du die "include.htm", und auf der Seite wo dein Value Attribut ist machst du das so:

    PHP
    <span class="syntaxhtml"><br />  <input type="text" value="<span class="syntaxdefault"><?php print trim</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">file_get_contents</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'include.htm'</span><span class="syntaxkeyword">)));</span><span class="syntaxdefault"> ?></span>" /><br /></span>


    Die Seite musst du dann nur noch im selben Verzeichnis speichern wie "include.htm". bzw. den Pfad mit angeben. Die Datei mit dem Input musst du unbedingt als .php speichern und dann auf einem Webfähigen Server ausführen.


  • ...eine HTML Datei, die eine PHP Datei erzeugt?


    Naja.. was hälst du davon, wenn du das Script, was die Datei erzeugt startest.. es aber keine Datei erzeugt, sondern einen String den du dann einfügst?
    Also beim aufrufen der "HTML"-Datei, wird ganz oben im Quellcode dein 'list_birthdays.php' ausgeführt, welches du dann Beispielweise in $Ergebnis = ... speicherst und dann in dem Value ausgibst.


    Etwas anderes fällt mir gerade, auf Grund deiner Beschreibung, nicht ein.

  • Zitat von &quot;Sarkkan&quot;


    ...eine HTML Datei, die eine PHP Datei erzeugt?


    Es ist die html-Ausgabe der PHP-Datei...


    [attachment=0]<!-- ia0 -->tng_userscripts.jpg<!-- ia0 -->[/attachment]
    Hier ist die Ausgabe von userscripts/list_birthdays.php.
    Diese sollte in Text umgewandelt werden oder so das, das so ein Beispiel wie <!-- m --><a class="postlink" href="http://roger.lisaandroger.com/userscripts/list_birthdays.php">http://roger.lisaandroger.com/userscrip ... thdays.php</a><!-- m --> im Messagebody der e-mail auch alles normal lesbar ist.


    Danke!

  • ..sag doch, dass du eine HTML Email verschicken willst .__.
    Dafür gehört in den Header-Bereich der mail()-Funktion der Parameter "Content-type: text/html; charset=iso-8859-1".
    Ich habe mich damit noch nie wirklich beschäfftigt, aber du findest dort ein gutes Beispiel:

    PHP
    <span class="syntaxdefault"><?php<br /></span><span class="syntaxcomment">// mehrere Empfänger<br /></span><span class="syntaxdefault">$empfaenger  </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'max@example.com' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">', '</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// beachten Sie das Komma<br /></span><span class="syntaxdefault">$empfaenger </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'moritz@example.com'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// Betreff<br /></span><span class="syntaxdefault">$betreff </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'Geburtstags-Erinnerungen für August'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// Nachricht<br /></span><span class="syntaxdefault">$nachricht </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'<br /><html><br /><head><br />  <title>Geburtstags-Erinnerungen für August</title><br /></head><br /><body><br />  <p>Hier sind die Geburtstage im August:</p><br />  <table><br />    <tr><br />      <th>Person</th><th>Tag</th><th>Monat</th><th>Jahr</th><br />    </tr><br />    <tr><br />      <td>Julia</td><td>3.</td><td>August</td><td>1970</td><br />    </tr><br />    <tr><br />      <td>Tom</td><td>17.</td><td>August</td><td>1973</td><br />    </tr><br />  </table><br /></body><br /></html><br />'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden<br /></span><span class="syntaxdefault">$header  </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'MIME-Version: 1.0' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'Content-type: text/html; charset=iso-8859-1' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// zusätzliche Header<br /></span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'To: Simone <simone@example.com>, Andreas <andreas@example.com>' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'From: Geburtstags-Erinnerungen <geburtstag@example.com>' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'Cc: geburtstagsarchiv@example.com' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$header </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">'Bcc: geburtstagscheck@example.com' </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"\r\n"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxcomment">// verschicke die E-Mail<br /></span><span class="syntaxdefault">mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$empfaenger</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$betreff</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$nachricht</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$header</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">?><br /></span>
  • Der html- oder ggf. der text-Teil der Ausgabe von "list_birthdays.php" sollte ins value vom messagetext kommen. <input type="hidden" name="messagetext" value="<?php include("userscripts/list_birthdays.php"); ?>" />
    Weil vorhergehende und nachfolgende Bearbeitung hat entscheidenden Anteil auf den Versand und deren Bearbeitung, so sollte nur folgendes Formular genutzt werden:


    Die Antwort von von Basiii hat eigentlich schon fast das gemacht, was gesucht wurde. Nur das der Quellcode im Messagetext (email-Body) verschickt wurde und nicht der ausgeführte html-Code.


    Danke für die bisherigen Antworten!

  • Zitat von &quot;ojay&quot;


    Die Antwort von von Basiii hat eigentlich schon fast das gemacht, was gesucht wurde. Nur das der Quellcode im Messagetext (email-Body) verschickt wurde und nicht der ausgeführte html-Code.


    Du musst dir doch nur das angucken, was Sarkkan dir gegeben hat. Du kannst ja Quellcode versenden, sodass er nicht als Quellcode angezeigt wird - eben durch die HTML-Email.
    Ansonsten würde mir ne PHP-Funktion wie striptags einfallen - einfach den Code vom HTML rausnehmen und nur das was drinsteht senden.


    Gruß

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!