Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


Formularantwort mit unterschiedlichen Farben

Fragen oder Probleme mit HTML, PHP oder CSS?

Formularantwort mit unterschiedlichen Farben

Beitragvon mziemann am 17.11.2007, 14:13

Guten Tag!
Ich habe ein Formular entworfen, mit einigen Inputs. Von den 7 Rückmeldungen sollen die wichtigsten (z.B. Anzahl der Personen, Gesamtpreis) in roter Farbe auf der Rückmeldung (email) ausgegeben werden. Das soll so sein, damit ich die wichtigen DAten sofort erkenne!
Kann mir einer einen Tip geben, wie ich das erreichen kann? (HTML, CSS, PHP)
Vielen Dank, Michael
mziemann
 
Beiträge: 5
Registriert: 17.11.2007, 12:48
Wohnort: Thedinghausen


Beitragvon FireFoxFan am 17.11.2007, 14:26

Hallo,
funktioniert denn das Verschicken der Formularfelder mit PHP überhaupt schon ?
Ich habe nicht ganz verstanden, ob du soweit schon gekommen bist oder nicht.

Die eigentliche Frage, wie man in der E-Mail unterschiedliche Farben einsetzt, ist einfach zu beantworten: Du verschickst Emails, die HTML enthalten. Dann kannst du z.B.
Code: Alles auswählen
<font color="red">$gesamtpreis</font>
dort reinschreiben.

Aber erstmal würde mich wie gesagt interessieren, wie weit du das Formular schon fertig hast. Ich helfe dir dann gerne weiter.
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Beitragvon mziemann am 17.11.2007, 15:08

Ja, das Formular ist fertig und wird auch verschickt. Hier ist z.B. ein Teil der Rückmeldung:

Stadtbesichtigung: 0
Fest_ohne_Essen: 0
Summe_ohne_Essen: 0
Fest_mit_Essen: 1
Summe_mit_Essen: 24
Anzahl_Personen: 2
Summe_der_Überweisungen: 44
Fisch: 2
Fleisch: 0
Vegetarisch: 0
submit: Eintrag absenden

und ich hätte die Meldung zum Beispiel gerne so:
Stadtbesichtigung: 0
Fest_ohne_Essen: 0
Summe_ohne_Essen: 0
Fest_mit_Essen: 1
Summe_mit_Essen: 24
Anzahl_Personen: 2
Summe_der_Überweisungen: 44
Fisch: 2
Fleisch: 0
Vegetarisch: 0
submit: Eintrag absenden

Michael
mziemann
 
Beiträge: 5
Registriert: 17.11.2007, 12:48
Wohnort: Thedinghausen

Beitragvon FireFoxFan am 17.11.2007, 15:28

OK, tust du mir einen weiteren Gefallen und postest das PHP-Script, mit dem du die E-Mail verschickst ? Ich versuche es dann mal anzupassen...
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Beitragvon FireFoxFan am 19.11.2007, 16:04

Da wir die genaue Anpassung des Scripts schon über PN vornehmen konnten, kann dieser Thread geschlossen werden.
Für alle interessierten stelle ich hier nochmal ein Teil des Scripts rein, welches die gewünschte Textmarkierung unterstützt:

Code: Alles auswählen
<?php

// In diesem Array werden die Namen der Formularfelder gespeichert, die rot markiert werden sollen.
$rot = array("Summe_ohne_Essen", "Summe_mit_Essen", "Summe_der_Überweisungen");

// Header-Angaben für die HTML-Mail
$Header = "MIME-Version: 1.0\n";
$Header .= "Content-type: text/html; charset=iso-8859-1\n";
$Header .= "From: absender@meinedomain.de\n";

// Anfang der HTML-Seite festlegen.
$strMailText = "<html><head><title>Formular</title></head><body>";

if($_POST)
{
   while(list($strName,$value) = each($_POST))
   {
      if (in_array($strName, $rot))
      {
         $strMailText .="<p><font color=\"red\">$strName : $value</font></p>\n";
      }

      else
      {
         $strMailText .="<p>$strName : $value</p>\n";
      }
   }

   if(get_magic_quotes_gpc())
   {
      $strMailtext = stripslashes($strMailtext);
   }
}

// Ende der HTML-Seite festlegen.
$strMailText .= "</body></html>";


mail("empfaenger@meinedomain.de", "Formular wurde abgeschickt", $strMailText, $Header)
or die("Die Mail konnte nicht versendet werden.");
?>
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

woher kommen die Punkte?

Beitragvon mziemann am 20.11.2007, 10:12

Guten Morgen! Da bin ich noch einmal mit einer Frage. Ich habe ein bischen geübt, gelernt und probiert und stosse auf eine Frage.

Mit einem einfachen Formular gebe ich "Name", "Email" und ein "Frage" ein und ewarte die Email wie folgt:

Name: Emil Meier
Email: emailadresse
Nachricht: Bitte Ihr Wunsch oder Ihre Frage!?Keine Wünsche und mehr!


jedoch die Mail sieht so aus!

Name.: .Emil Meier
Email.: .emailadresse
Nachricht.: .Bitte Ihr Wunsch oder Ihre Frage!?Keine Wünsche und mehr!


Woher kommen die Punkte hinter NAme, Email,NAchricht, und vor Emil Meier, emailadresse .....

Hier ist der Formmailer

<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'mziemann@online.de';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = 'mziemann@t-online.de';

# Welchen Betreff sollen die Mails erhalten?
$strSubject = 'InfoBrema52';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://www.brema52.de/danke.php';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";

# Header-Angaben für die Mail, ab besten nichts verändern !
$Header = "MIME-Version: 1.0\n";
$Header .= "Content-type: text/html; charset=iso-8859-1\n";
$Header .= "From: ".$strFrom."\n";

# Anfang der HTML-Seite festlegen.
$strMailText = "<html><head><title>Formular</title></head><body>";

### Ende Konfiguration ###

### Ende Konfiguration ###

if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailText .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailText .= "<p><font color=\"blue\">$strName.</font><font color=\"red\">$strDelimiter.$value</font></p>\n";
}
}

if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}

#Ende der HTML-Seiet festlegen.
$strMailText .= "</body></html>";

mail($strEmpfaenger, $strSubject, $strMailText, $Header)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}

?>

Vielen Dank schon jetzt! Michael
mziemann
 
Beiträge: 5
Registriert: 17.11.2007, 12:48
Wohnort: Thedinghausen

Beitragvon FireFoxFan am 20.11.2007, 16:10

Probier mal folgendes:

Code: Alles auswählen
$strMailText .= "<p><font color=\"blue\">$strName.</font><font color=\"red\">$strDelimiter.$value</font></p>\n";

Ändern in
Code: Alles auswählen
$strMailText .= "<p><font color=\"blue\">".$strName."</font><font color=\"red\">".$strDelimiter.$value."</font></p>\n";


Ich würde mir sowieso angewöhnen, Variablen nicht in Strings zu schreiben. (Ist meine Meinung, keine Ahnung ob das besser ist oder nicht).
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Der richtige Tip!

Beitragvon mziemann am 21.11.2007, 02:19

Vielen Dank, es hat geklappt! Nun sieht es so aus:

Name: Ilka Ziemann geb. Kell
Email: ilka.ziemann@online.de
Nachricht: Test ob es funkt!

so war es gedacht! Ich werde morgen früh versuchen rauszukriegen warum es so funktioniert. Aber wenn ich Nachhilfe dafür bekäme, wäre ich dankbar!

Aber auch so bin ich dankbar! Vielen Dank, eine gute Nacht, Michael
mziemann
 
Beiträge: 5
Registriert: 17.11.2007, 12:48
Wohnort: Thedinghausen

Beitragvon FireFoxFan am 21.11.2007, 16:34

Ich Probier's mal zu erklären...
Die alte Version:
$strMailText .= "<p><font color=\"blue\">$strName.</font><font color=\"red\">$strDelimiter.$value</font></p>\n";

In diesem String steht erstens ein Punkt hinter $strName, der wird natürlich später, wenn der String mal ausgegeben wird (in dem Beispiel: In der Email), mit angezeigt. Und dann steht zwischen $strDelimiter und $value noch ein Punkt, der auch ausgegeben wird. Warum der da gesetzt wurde, keine Ahnung...

So, die neue Version sieht ja folgendermaßen aus:
Code: Alles auswählen
$strMailText .= "<p><font color=\"blue\">".$strName."</font><font color=\"red\">".$strDelimiter.$value."</font></p>\n";
Sicherlich ist es für dich verwirrend, da dort ja auch Punkte stehen. Die Punkte hier jedoch fungieren als so genannte Verkettungsoperatoren (siehe das hier).
Also zusammengefasst: Punkte, die Teile des Strings, die also in Anführungszeichen stehen, werden immer mit ausgegeben. Die Punkte im zweiten Beispiel dienen jedoch nur dazu, Strings mit Variablen "zusammenzuführen", damit man beides hintereinander ausgeben kann.

Ich hoffe mal ich konnte das verständlich rüberbringen, und du bist jetzt schlauer.
Gruß
FireFoxFan
FireFoxFan
 
Beiträge: 172
Registriert: 23.04.2006, 10:40

Beitragvon mziemann am 21.11.2007, 17:18

Nochmals Danke für die Hinweise!

Ich war schon auf dem Weg, aber eine Bestätigung tut gut!

Vielen Dank, Michael
mziemann
 
Beiträge: 5
Registriert: 17.11.2007, 12:48
Wohnort: Thedinghausen



Ähnliche Themen


Zurück zu HTML, PHP & Co.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste