Felder ergänzen in php-Formmailer?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Felder ergänzen in php-Formmailer?

    Hallo!

    Habe mir am Wochenende folgenden Formmailer erstellt:
    http://www.mkschubert.de/addeire.html
    http://www.mkschubert.de/addeire.php

    Ich würde so gern zwei Textfelder ergänzen:
    Deine Homepage
    <p>Deine Homepage:</b><br />&nbsp;<input type="text" name="Deine_Homepage" value="" size="60" /></p>

    aber die Inhalte der Felder erscheinen nicht auf der E-Mail. Was muss ich bei addeire.php wie und wo ändern, damit ich die Inhalte per E-Mail erhalte?

    Danke für eure Tipps!
    Michael

    <?php
    # Adresse, an die die Formulardaten gesendet werden sollen:
    $mailto = "michaels_reisetagebuch@yahoo.co.uk";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>Formmailer</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
    <!--
    body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; background: #ffff3; margin: 20px; padding: 0px; border: 0px; }
    .caution { color: red; font-weight: bold; }
    -->
    </style>
    </head>
    <body>
    <?php
    if (isset($_POST["form_submitted"]))
    {
    // übergebene Variablen ermitteln:
    $name = $_POST['name'];
    $email = $_POST['email'];
    $subject = $_POST['subject'];
    $text = $_POST['text'];

    // Überprüfungen der Daten:
    unset($errors);
    if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "die E-Mail-Adresse sieht nicht richtig aus";
    if ($text == "") $errors[] = "es wurde kein Text eingegeben";

    if (empty($errors))
    {
    if ($name != "") $mail_name=$name; else $mail_name="unbekannt";
    if ($subject != "") $mail_subject = $subject; else $mail_subject = "kein Betreff";
    if ($email != "") $mail_email = $email; else $mail_email = "email@unknown.xyz";
    $ip = $_SERVER["REMOTE_ADDR"];
    $text = stripslashes($text);
    $header= "From: ".$mail_name." <".$mail_email.">\n";
    $header .= "Reply-To: ".$mail_name." <".$mail_email.">\n";
    $header .= "X-Mailer: PHP/" . phpversion(). "\n";
    $header .= "X-Sender-IP: $ip\n";
    $header .= "Content-Type: text/plain";
    if (@mail($mailto, $mail_subject, $text, $header)) { $sent = true; } else { $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen"; }
    // Kopie an Absender:
    if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
    {
    $header= "From: ".$mailto."\n";
    $header .= "X-Mailer: PHP/" . phpversion(). "\n";
    $header .= "X-Sender-IP: $ip\n";
    $header .= "Content-Type: text/plain";
    @mail($email, $mail_subject, "Kopie der versendeten E-Mail:\n\n".$text, $header);
    }
    }
    }

    if (empty($sent))
    {
    if(isset($errors))
    {
    ?><p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f; ?></li><?php } ?></ul><br /><?php
    }

    ?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>"><div>
    <p><b>Name:</b><br /><input class="fs" type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35" /></p>
    <p><b>E-Mail:</b><br /><input class="fs" type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35" /></p>
    <p><b>Betreff:</b><br /><input class="fs" type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35" /></p>
    <b>Nachricht:</b><br /><textarea class="fs" name="text" cols="55" rows="12"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea><br />
    <p><input type="submit" name="form_submitted" value="OK - Absenden" /> <input type="checkbox" name="copy" value="true" /> Kopie an Absender</p>
    </div></form><?php
    }
    else
    {
    if (empty($email)) { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben, ich kann also nicht antworten.</p><?php }
    else { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet.</p><?php }
    }

    # wäre nett, wenn dieser Link bleiben würde:
    ?><p style="margin-top: 30px; font-size: 11px;">Script by <a class="sln" href="http://alex.ilosuna.org/">Alex</a> 2003</p>
    </body>

  • #2
    Es reicht natürlich nicht, das Formular einfach um ein Eingabefeld
    zu erweiterm. schau Dir in Deinem Script mal folgende Zeilen an:
    PHP-Code:
     // übergebene Variablen ermitteln:
    $name $_POST['name'];
    $email $_POST['email'];
    $subject $_POST['subject'];
    $text $_POST['text']; 
    Alle mit "post" gesendeten Werte sind im Array
    PHP-Code:
    $_POST 
    gespeichert. Und wichtig ist, das Du HIER mal nachliest.

    Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

    Kommentar


    • #3
      Als erstes solltest du deinen Post mal so bearbeiten, dass amn den Code lesen kann. Benutze dafür die PHP-Tags.

      btw: Du musst mit den übergebenen Variablen auch was machen, das Formular weiß doch nicht einfach so, was es nutzen soll und was nicht...

      OT:

      Habe mir am Wochenende folgenden Formmailer erstellt:
      PHP-Code:
      # wäre nett, wenn dieser Link bleiben würde:
      ?><p style="margin-top: 30px; font-size: 11px;">Script by 
      <a class="sln" href="http://alex.ilosuna.org/">Alex</a> 2003</p> 
      Soso...

      Kommentar

      Lädt...
      X