Problem mit "1und1"-Standard-Formular
Chris
- html
Ich habe ein Formular (dass man bei 1und1 bekommt) in eine Website eingefügt. Das Formular von einem kleinen php-Skript benutz, um eine Email mit den Daten zu versenden (die mail.htt) und eine (response.htt) um eine Seite mit den eingegebenen Daten auf der Site anzuzeigen.
Ich habe in das Formular Checkboxen eingefügt, die angeklickt den Wert "Ja" bekommen.
Das Problem ist jetzt, dass wenn sie nicht angeklickt sind nur das in der htt als Platzhalter eingesetzte {NameDerVariablen} anzeigt.
Kennt jemand eine Lösung des Problems?
Besten Dank,
Chris
Hier noch das php:
<?php
$fmt_Response=implode("", file("response.htt"));
$fmt_Mail=implode("", file("mail.htt"));
while(list($Key, $Val)= each($HTTP_POST_VARS))
{
$fmt_Response=str_replace("{$Key}", $Val, $fmt_Response); $fmt_Mail=str_replace("{$Key}", $Val, $fmt_Mail);
}
mail($HTTP_POST_VARS["recipient"], $HTTP_POST_VARS["subject"], $fmt_Mail);
echo $fmt_Response;
?>
Und ein Ausschnitt der Resopnse.htt:
<td>NewsletterA bestellen:</td>
<td>{newsletterA}</td>
</tr>
<tr>
<td>NewsletterB bestellen:</td>
<td>{newsletterB}</td>
Hallo,
mail($HTTP_POST_VARS["recipient"], $HTTP_POST_VARS["subject"], $fmt_Mail);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aus dieser Angabe schließe ich, dass du die Adresse des Mail-Empfängers über ein input-Feld in deinem HTML-Formular festlegst. D. h.: Die E-Mail wird an jede Adresse gesendet, die man dem Script übergeben kann. Spam-Versender wird das freuen: Wenn sie das Script entdecken, können sie mit einigen gefälschten Post-Requests mit Hilfe dieses Scripts ihren Werbemüll versenden. Willst du das?
Gruß aus Bonn
Sven
Nee - möchte ich auch nicht...was kann man dagegen tun?
Hallo,
Nee - möchte ich auch nicht...was kann man dagegen tun?
Wenn du vollen Zugriff auf das Script auf dem Server hast kannst du die Zeile
mail($HTTP_POST_VARS["recipient"], $HTTP_POST_VARS["subject"], $fmt_Mail);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
durch
mail(deine@mailadresse.tld, $HTTP_POST_VARS["subject"], $fmt_Mail);
^^^^^^^^^^^^^^^^^^^^^
ersetzen.
Gruß aus Bonn
Sven
Besten Dank!
Für das eigentliche Problem hast Du nicht auch zufällig einen guten Tipp?
Grüße aus Berlin
Chris
Hello,
im Formular:
<input type="checkbox"
name="check[newsletter]"
value="checked"
<?php if(isset($_POST['check']['newsletter'])){ echo " checked="checked";} ?>>
im Script:
if (isset($_POST['check']['newsletter']))
{
echo "Newsletter: Ja";
}
else
{
echo "Newsletter: Nein";
}
oder in Kurzschreibweise mit dem Trinitätsoperator:
echo "Newsletter: ".((isset($_POST['check']['newsletter']))?'Ja':'Nein');
Harzliche Grüße aus http://www.annerschbarrich.de
Tom