 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
18.09.2007, 22:01
|
#1
|
|
TP-Junior
Registriert seit: Oct 2005
Ort: Sigmaringen
|
formmailer.php - mail.htt - Wie bekomme ich störende <variablen> versteckt?
Hallo,
ein Ruf in die Nacht....
Mein formmailer und alles rundrum funktioniert - nur möchte ich nun, dass bei Formulareinträgen, bei denen kein Wert eingesetzt wurde nicht die störende <variable> erscheint.
Mein Formular hat viele Auswahlmöglichkeiten und da ist es sehr unübersichtlich, wenn in jeder Zeile ein Platzhalter steht.
Wäre super, wenn mir jemand helfen könnte!
Gruß aus Schwaben
Elke
|
|
|
18.09.2007, 22:14
|
#2
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hallo Elke,
ohne Code keine Hilfe.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
18.09.2007, 22:29
|
#3
|
|
TP-Junior
Registriert seit: Oct 2005
Ort: Sigmaringen
|
Wollt euch nicht mit zumüllen....
Anbei der Code des Formulars:
HTML-Code:
<form action="formmailer02.php" method="post" name="Anfrage" id="Anfrage">
<input name="subject" type="hidden" id="subject" value="Anforderung">
<input name="access" type="hidden" id="access" value="irregeheim">
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td colspan="7"><p><b>Wir bitten um ein Angebot zu folgendem Artikel: </b></p>
<p>* müssen Ausgefüllt werden. </p></td>
</tr>
<tr bgcolor="#EFEAF3">
<td width="13%"><b>Artikel:</b></td>
<td colspan="4"><input name="Artikel" type="text" class="tx" id="Artikel" value="-" size="50"></td>
<td width="9%"><div align="right">Menge:</div></td>
<td width="20%" align="left">
<div align="left">
<input name="Menge" type="text" class="tx" id="Menge" value="Stück" size="15">
</div></td>
</tr>
<tr>
<td><b>Einlageformat:</b></td>
<td width="5%"><div align="right">
<input name="efa4" type="radio" value="Ja" checked>
</div></td>
<td width="16%">A4</td>
<td width="6%">
<div align="right">
<input type="radio" name="efa5" value="Ja">
</div></td>
<td width="31%">A5</td>
<td>
<div align="right">
<input type="radio" name="efx" value="Ja">
</div></td>
<td align="left">
<div align="left">
<input name="efy" type="text" class="tx" id="efy" value="anderes Format" size="15">
</div></td>
</tr>
<tr>
<td> </td>
<td><div align="right">
<input name="register" type="checkbox" id="register" value="Ja">
</div></td>
<td>+ Register </td>
<td> </td>
<td colspan="2"> </td>
<td align="left"> </td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Material:</b></td>
<td><div align="right">
<input name="PP" type="checkbox" id="PP" value="Ja">
</div></td>
<td>Polyboard / PP </td>
<td><div align="right">Farbe:</div></td>
<td><input name="farbe" type="text" class="tx" id="farbe" value="-" size="15"></td>
<td><div align="right">Dicke:</div></td>
<td align="left">
<div align="left">
<select name="dicke" class="tx" id="dicke">
<option value="0,3" selected>0,3 mm</option>
<option value="0,5">0,5 mm</option>
<option value="0,8">0,8 mm</option>
<option value="1,2">1,2 mm</option>
<option value="1,4">1,4 mm</option>
<option value="1,6">1,6 mm</option>
</select>
</div></td>
</tr>
<tr>
<td><b>Mechanik:</b></td>
<td><div align="right">
<input name="combi" type="checkbox" id="combi" value="Ja">
</div></td>
<td>Combimechanik</td>
<td>
<div align="right">
<input name="ring" type="checkbox" id="ring" value="Ja">
</div></td>
<td>Ringmechanik</td>
<td>
<div align="right"> </div></td>
<td align="left">
<div align="left">
<input name="sonstmechanik" type="text" class="tx" id="sonstmechanik" value="Sonstige" size="15">
</div></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Ringanzahl:</b></td>
<td colspan="2"><select name="ringanzahl" class="tx" id="ringanzahl">
<option value="2" selected>2</option>
<option value="4">4</option>
<option value="sonstige">sonstige</option>
</select></td>
<td><div align="right"></div></td>
<td> </td>
<td><div align="right">Füllhöhe:</div></td>
<td align="left">
<div align="left">
<select name="hoehe" class="tx" id="hoehe">
<option value="16">16 mm</option>
<option value="20" selected>20 mm</option>
<option value="25">25 mm</option>
<option value="30">30 mm</option>
<option value="35">35 mm</option>
<option value="40">40 mm</option>
<option value="45">45 mm</option>
<option value="50">50 mm</option>
</select>
</div></td>
</tr>
<tr>
<td><b>Ausstattung:</b></td>
<td><input name="hs" type="checkbox" id="hs" value="Ja"></td>
<td>Halteschllitze</td>
<td><div align="right">
<input name="blatt" type="checkbox" id="blatt" value="Ja">
</div></td>
<td>Blattniederhalter</td>
<td><div align="right">
<input name="loch" type="checkbox" id="loch" value="Ja">
</div></td>
<td align="left"><div align="left">Griffloch</div></td>
</tr>
<tr>
<td> </td>
<td><input name="grifflochringe" type="checkbox" id="grifflochringe" value="Ja"></td>
<td>Grifflochringe</td>
<td><div align="right">
<input name="visite" type="checkbox" id="visite" value="Ja">
</div></td>
<td>Visitenkartentasche</td>
<td><div align="right">
<input name="sonstausst1" type="checkbox" id="sonstausst1" value="Ja">
</div></td>
<td align="left">
<div align="left">
<input name="sonstausst" type="text" class="tx" id="sonstausst" value="Sonstige" size="15">
</div></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Aufdruck:</b></td>
<td><input name="aussen" type="checkbox" id="aussen" value="Ja"></td>
<td>Aussenseite</td>
<td><div align="right">
<input name="innen" type="checkbox" id="innen" value="Ja">
</div></td>
<td>Innenseite</td>
<td><div align="right">
<input name="einfarbig" type="checkbox" id="einfarbig" value="Ja">
</div></td>
<td align="left"><div align="left">einfarbig</div></td>
</tr>
<tr bgcolor="#EFEAF3">
<td> </td>
<td><input name="zweifarbig" type="checkbox" id="zweifarbig" value="Ja"></td>
<td>zweifarbig</td>
<td><div align="right">
<input name="dreifarbig" type="checkbox" id="dreifarbig" value="Ja">
</div></td>
<td>dreifarbig</td>
<td><div align="right">
<input name="vierfarbig" type="checkbox" id="vierfarbig" value="Ja">
</div></td>
<td align="left"><div align="left">vierfarbig</div></td>
</tr>
<tr>
<td><b>Druck:</b></td>
<td><input name="sieb" type="checkbox" id="sieb" value="Ja"></td>
<td>Siebdruck</td>
<td><div align="right">
<input name="offset" type="checkbox" id="offset" value="Ja">
</div></td>
<td>Offsetdruck</td>
<td><div align="right">
<input name="druck" type="checkbox" id="druck" value="Ja">
</div></td>
<td align="left">
<div align="left">
<input name="sonstdruck" type="text" class="tx" id="sonstdruck" value="Sonstige" size="15">
</div></td>
</tr>
</table>
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
<tr bgcolor="#EFEAF3">
<td width="14%"><b>Bemerkung:</b></td>
<td width="86%" class="tx"><textarea name="bemerkung" cols="35" id="bemerkung"></textarea></td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Anrede*:</b></td>
<td class="tx"><select name="anrede" size="1" class="tx" id="select4">
<option value="Frau" selected>Frau</option>
<option value="Herr">Herr</option>
</select></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Name*:</b></td>
<td class="tx"><input name="Name" type="text" id="Name4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Vorname:</b></td>
<td class="tx"><input name="Vorname" type="text" id="Vorname4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Firmenname*:</b></td>
<td class="tx"><input name="Firma" type="text" id="Firma4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Straße*:</b></td>
<td class="tx"><input name="Strasse" type="text" id="Strasse4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Ort*:</b></td>
<td class="tx"><input name="Ort" type="text" id="Ort3" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>PLZ*:</b></td>
<td class="tx"><input name="PLZ" type="text" id="PLZ4" size="10"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Telefon:</b></td>
<td class="tx"><input name="Telefon" type="text" id="Telefon4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>Fax:</b></td>
<td class="tx"><input name="Fax" type="text" id="Fax4" size="35"></td>
</tr>
<tr bgcolor="#EFEAF3">
<td><b>E-Mail*:</b></td>
<td><input name="Email" type="text" class="tx" id="Email4" size="35"></td>
</tr>
<tr>
<td> </td>
<td><input type="reset" name="Submit" value="Zurücksetzen">
<input type="submit" name="Submit2" value="Senden"></td>
</tr>
</table>
</form>
formmailer:
PHP-Code:
<?php $recipient = "mac@querkonzept.de"; $fmtResponse= implode("", file("response.htt")); $fmtMail= implode("", file("mail02.htt")); foreach($_POST as $key=> $val) { $fmtResponse= str_replace("<$key>", $val, $fmtResponse); $fmtMail= str_replace("<$key>", $val, $fmtMail); } if ($_POST["access"] == "irregeheim") { mail($recipient, $_POST["subject"], $fmtMail); } echo $fmtResponse; ?>
mail.htt:
Code:
Um ein Angebot zu folgendem Artikel wird gebeten:
________________________________________________________________________________
Artikel: <Artikel>
Menge: <Menge>
________________________________________________________________________________
EINLAGEFORMAT
A4: <efa4>
A5: <efa5>
Anderes Format: <efx> <efy>
Register: <register>
________________________________________________________________________________
MATERIAL
PP: <PP>
Farbe: <farbe>
Dicke: <dicke>
________________________________________________________________________________
MECHANIK
Combimechanik: <combi>
Ringmechanik: <ring>
Sonstige: <sonstmechanik>
Ringanzahl: <ringanzahl>
Fuellhoehe: <hoehe>
________________________________________________________________________________
AUSSTATTUNG
Halteschlitze: <hs>
Blattniederhalter: <blatt>
Griffloch: <loch>
Grifflochringe: <grifflochringe>
Visitentasche: <visite>
Sonstige: <sonstausst1> <sonstausst>
________________________________________________________________________________
AUFDRUCK
Aussenseite: <aussen>
Innenseite: <innen>
einfarbig: <einfarbig>
zweifarbig: <zweifarbig>
dreifarbig: <dreifarbig>
vierfarbig: <vierfarbig>
________________________________________________________________________________
DRUCK
Siebdruck: <sieb>
Offset: <offset>
Sonstige: <druck> <sonstdruck>
________________________________________________________________________________
Anrede: <anrede>
Name: <Vorname> <Name>
Firma: <Firma>
Strasse: <Strasse>
PLZ / Ort: <PLZ> <Ort>
Telefon: <Telefon>
Fax: <Fax>
E-Mail: <Email>
________________________________________________________________________________
Bemerkung: <bemerkung>
________________________________________________________________________________
und so sieht die E-Mail aus, die ich bekomme:
Code:
Um ein Angebot zu folgendem Artikel wird gebeten:
________________________________________________________________________________
Artikel: -
Menge: Stück
________________________________________________________________________________
EINLAGEFORMAT
A4: Ja
A5: <efa5>
Anderes Format: <efx> anderes Format
Register: <register>
________________________________________________________________________________
MATERIAL
PP: <PP>
Farbe:
Dicke: 0,3
________________________________________________________________________________
MECHANIK
Combimechanik: <combi>
Ringmechanik: <ring>
Sonstige: Sonstige
Ringanzahl: 2
Fuellhoehe: 20
________________________________________________________________________________
AUSSTATTUNG
Halteschlitze: <hs>
Blattniederhalter: <blatt>
Griffloch: <loch>
Grifflochringe: <grifflochringe>
Visitentasche: <visite>
Sonstige: <sonstausst1> Sonstige
________________________________________________________________________________
AUFDRUCK
Aussenseite: <aussen>
Innenseite: <innen>
einfarbig: <einfarbig>
zweifarbig: <zweifarbig>
dreifarbig: <dreifarbig>
vierfarbig: <vierfarbig>
________________________________________________________________________________
DRUCK
Siebdruck: <sieb>
Offset: <offset>
Sonstige: <druck> Sonstige
________________________________________________________________________________
Anrede: Frau
Name:
Firma:
Strasse:
PLZ / Ort:
Telefon:
Fax:
E-Mail:
________________________________________________________________________________
Bemerkung:
__________________________________________________________________
Bei der Adresse erscheinen die Variablen nicht, so hätte ich es gerne.
(Formular-Abfragen kommen im nächsten Schritt...)
lg elke
Geändert von Rizzo (18.09.2007 um 22:36 Uhr).
Grund: Code in Code-Box gesetzt
|
|
|
19.09.2007, 01:03
|
#4
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Mal ein Schuss ins Blaue:
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
ändern in
if($val!='')
{
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
19.09.2007, 01:35
|
#5
|
|
TP-Junior
Registriert seit: Oct 2005
Ort: Sigmaringen
|
Ne, schade, leider nicht.
Hallo Boris,
doch es hat sich folgendes geändert.
mit dem von dir vorgeschlagenen Code stehen nun auch bei der Adresse die Variablennamen. Also ist der Codebereich der Knackpunkt.
Ich hol mir mal ne Mütze Schlaf, vielleicht komme ich morgen drauf.
Vielen Dank für Deine Mühe.
müder Gruß
Elke
|
|
|
19.09.2007, 01:45
|
#6
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Hallo Elke,
änder mal das hier
PHP-Code:
<?php
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
?>
in das hier
PHP-Code:
if ($_POST["access"] == "irregeheim") {
$fmtMail = preg_replace( "/<(.*)>/", "", $fmtMail );
mail($recipient, $_POST["subject"], $fmtMail);
}
Das entfernt vor dem abschicken der Mail die Platzhalter im Template, die nicht durch Variablen befüllt wurden.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
19.09.2007, 01:46
|
#7
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Sorry, hab nicht ganz aufgepasst.
PHP-Code:
if($val!='')
{
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
else
{
fmtResponse= str_replace("<$key>", '', $fmtResponse);
$fmtMail= str_replace("<$key>", '', $fmtMail);
}
Anstelle von '' kannst du auch z.B. 'keine Angabe' einsetzen lassen.
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
19.09.2007, 02:40
|
#8
|
|
TP-Junior
Registriert seit: Oct 2005
Ort: Sigmaringen
|
Wau, super!!!
Klasse, danke. Jetzt haut es hin. Sieht gleich viel besser aus!
|
|
|
19.09.2007, 03:22
|
#9
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von ölkö
Klasse, danke. Jetzt haut es hin. Sieht gleich viel besser aus!
|
Schön, freut mich
@Boris
Ich glaube dein Weg funktioniert nicht, weil viele Formular-Elemente Checkboxen sind und wenn die nicht angeklickt wurden stehen sie auch nicht in POST. Wo keine Variable übermittelt wird, kann man nicht schauen ob sie leer oder befüllt ist 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| | |