Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Formularausgabe in Email
HTML-Editor phase 5 Support > Fragen, Lösungen zu HTML-Problemen bzw. Webdesign-Fragen - Talk > HTML
amethyst
Ich quäl mich gerade mit einem Formular, das eine Umfrage zu mehreren Themen enthält. Übergeben wird es mit einem PHP-Script an meine Email-Adresse.
Mein Problem: Wie kriege ich es hin, dass jedes Feld in einer neuen Zeile in der Email erscheint? Im Moment krieg ich nur Fließtext, was äußerst unübersichtlich ist, da ich die Daten in einer Statistik auswerten will.

Weiß jemand eine Lösung?

Gruß Uschi
Andreas
Irgendwo wirst Du ja in Deine Mail einen String einfügen. Und dort fügst Du dann an der von Dir gewünschten Stelle einfach einen Zeilenumbruch mit n ein ...

PHP scheinst Du ja zu kennen ...

Viele Grüße

Andreas
amethyst
Hallo Andreas,
was ich von php kenne, sind Codeschnipsel, nicht mehr.
Heißt Deine Antwort, ich muss für jedes Feld in das php-script auch eine Zeile eingeben? Bisher besteht das ganze Script nur aus 5 Zeilen, die ich etwas angepasst habe.

QUELLTEXT
<?php

$admin= 'meine email-addi';

 $subject= 'Umfrage';

 $message= 'Nachrichten an '.$admin.' von '.$email.":nn";

 foreach($HTTP_POST_VARS as $name=> $value) {

   $message.= "$name:$valuen";

 }

 mail($admin, $subject, $message, "From: $email");

 ?>


Wäre schön, wenn Ihr mir da auf die Sprünge helfen könntet.

Gruß Uschi
harlequin
moin!

ZITAT
QUELLTEXT
<?php

$admin= 'meine email-addi';

 $subject= 'Umfrage';

 $message= 'Nachrichten an '.$admin.' von '.$email.":nn";

 foreach($HTTP_POST_VARS as $name=> $value) {

   $message.= "$name:$valuen";

 }

 mail($admin, $subject, $message, "From: $email");

 ?>
Versuch doch mal die fette Zeile so abzuändern:
ZITAT
<?php
$admin= 'meine email-addi';
 $subject= 'Umfrage';
 $message= 'Nachrichten an '.$admin.' von '.$email.":nn";
 foreach($HTTP_POST_VARS as $name=> $value) {
   $message.= $name.":".$value."n";
 }
 mail($admin, $subject, $message, "From: $email");
 ?>


Der Zeilenumbruch, welchen Andreas meint ist ja schon in der schleife drin, allerdings halte ich es persönlich für etwas unglücklich, die Formular Felder so:
QUELLTEXT
$message.= "$name:$valuen";

auszugeben. Man sollte Variablen und etwaige Satzzeichen, oder Formatierungen voneinander trennen, also:
ZITAT
$message.= $name.":".$value."n";


Das sollte eigentlich funktionieren.... :-)

have fun!
Lars
amethyst
Danke Lars für Deine Mühe, aber leider klappt das auch nicht, warum auch immer.

Gruß Uschi
helpy
Hi Uschi,

Angenommen, das Mail geht mit Zeilenumbrüchen vom Server weg, dann stellt sich die Frage, ob Dein E-Mail-Client da so eingestellt ist, dass er das selber umformatiert.

Ich verwende zwar NIE Html-Mails, aber könnte es sein, dass Dein E-Mail-Client die Mails standard-mäßig als HTML interpretiert. Dann werden Zeilenumbrüche nämlich als Leerzeichen angezeigt.

cu, helpy
amethyst
Danke, helpy, am Mail-Programm lag es nicht, denn HTML-Mails sind bei mir ausdrücklich nicht erlaubt, wehret den Würmern ;-))

Ich hab jetzt den Code wie folgt abgeändert und jetzt klappt es, danke für Eure Hilfe.

QUELLTEXT
foreach($HTTP_POST_VARS as $name=> $value) {

   $message.= $name.":".$value."rn";


Gruß Uschi
Auge
ZITAT
Ich hab jetzt den Code wie folgt abgeändert und jetzt klappt es, danke für Eure Hilfe.

QUELLTEXT
foreach($HTTP_POST_VARS as $name=> $value) {

   $message.= $name.":".$value."rn";


Um mal eine uralte Fernsehsendung zu zitieren:

Gehe ich recht in der Annahme, daß es sich bei deinem Emailprogramm
um Outlook 2000 handelt?

Das Problem, daß nur Windowskompatible Zeilenumbrüche rn erkannt
werden, kenne ich jedenfalls nur von dem genannten Programm.
Und in diesem Fall ist es doch ein Problem des Emailprogramms.

Tschö, Auge
amethyst
*schmunzel
Hi Auge ;-))
nein du gehst nur halb richtig in der Annahme ;-)) Outlook stimmt, Version ist XP. Ist aber ja auch egal, Hauptsache es funktioniert jetzt ;-))
Gruß Uschi
Auge
ZITAT
*schmunzel
Hi Auge wink.gif)
nein du gehst nur halb richtig in der Annahme wink.gif) Outlook stimmt, Version ist XP. Ist aber ja auch egal, Hauptsache es funktioniert jetzt wink.gif)


Solange nur du die Email kriegst, ist alles ok. Ich habe das Problem
jedoch bei einem Newsletter mit damals ca. 400 Empfängern gehabt.
Der Chef wollte den zur Kontrolle natürlich auch haben.
Und er war offensichtlich der Einzige, der Outlook 2000 benutzt und
damit keine Zeilenumbrüche gehabt hat. (Niemand sonst hat sich besschwert)
Habe ich es ihm testweise recht gemacht (rn), haben alle Anderen,
deren Emailprogramme auch mit (n) als Zeilenumbuch umgehen können,
zwischen zwei Zeilen Text jeweils eine Leerzeile gehabt.
Das erklär' mal jemandem, der die Interna der diversen OS' nicht kennt.

Tschö, Auge
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2012 Invision Power Services, Inc.