Chris: Problem mit "1und1"-Standard-Formular

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>

  1. 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

    --
    Do it yourSELF 'cause SELFmade is bestmade.
    Selfcode: ie:% fl:( br:^ va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:? mo:} zu:)
    Selfcode dekodieren - Selfcode-Info
    1. Nee - möchte ich auch nicht...was kann man dagegen tun?

      1. 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

        --
        Do it yourSELF 'cause SELFmade is bestmade.
        Selfcode: ie:% fl:( br:^ va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:? mo:} zu:)
        Selfcode dekodieren - Selfcode-Info
        1. Besten Dank!

          Für das eigentliche Problem hast Du nicht auch zufällig einen guten Tipp?

          Grüße aus Berlin

          Chris

  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau