[PHP] Kopie an Absender

Dieses Thema im Forum "Webentwicklung" wurde erstellt von everniZe, 22. März 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 22. März 2011
    Kopie an Absender

    Guten Tag zusammen,

    es geht um ein Kontaktformular was ich umgeschrieben habe.
    Ich möchte gerne noch das nicht nur eine eMail an mich geht sondern auch an den User der es ausgefüllt hat.

    was muss ich dann hierran ändern?:
    Code:
     <?php 
     } else {
     $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
     if(mail("MEINEEIGENE@EMAILDOMAIN.LTD", $mailbetreff, $mailnachricht, "From: $email")){
     echo "<p style=\"color:#ee7900;font-size:20px;\">Vielen Dank für Ihre eMail!</p>";
     
     } else {
     echo "<p>Ein Fehler ist aufgetreten!</p>";
     }
     }
    } else { ?>

    kann man da nicht noch irgendwas hinsetzen mit if(mail $email, $mailnachricht,) usw.?
    im formular ist $email der string für die eMail Adresse die eingetragen wird.

    Und kann man das dann nicht auch iwie machen, das das noch formatiert wird? Sowas wie: Ihre Nachricht an uns:
    usw.?



    Hier mal mein ganzes Script:

    PHP:
    <? php
    if(isset( $_POST [ 'abschicken' ])){
        while(list(
    $feld , $wert )= each ( $HTTP_POST_VARS )){
                
    $wert = preg_replace ( "/(content-type:|bcc:|cc:|to:|from:)/im" "" , $wert );
               $
    $feld = $wert ;
            if(
    $feld != "abschicken" ){
                
    $mailnachricht .= ucfirst ( $feld ). ":  $wert \n" ;
            }
        }
        
    $mailnachricht .= "\nDatum/Zeit: " date ( "d.m.Y H:i:s" );
        empty(
    $nachname ) ?  $err [] =  "<p style=\"color:red\">- Bitte den Nachnamen angeben.</p>"  false ;
        empty(
    $vorname ) ?  $err [] =  "<p style=\"color:red\">- Bitte den Vornamen angeben.</p>"  false
        empty(
    $email ) ?  $err [] =  "<p style=\"color:red\">- Bitte die Email-Adresse angeben.</p>"  false
        empty(
    $text ) ?  $err [] =  "<p style=\"color:red\">- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>"  false
          if(!empty(
    $err )) {
            echo 
    "<p>Bitte korrigieren Sie folgende Fehler:</p>" ;
            foreach(
    $err  as  $fehler ){
                echo 
    $fehler ;
            } 
    ?>
             <form action="#" method="post">
            <table width="960" border="0" cellpadding="3" cellspacing="1">
          <tr>
            <td align="right" valign="top"><strong>Anliegen:</strong></td>
            <td width="313" align="left" valign="top">
              <label>
              <select name="Anliegen" size="1" id="Anliegen" style="width:100%">
               <option selected="selected">Allgemeine Anfrage</option>
                <option>Buchungsanfrage</option>
                 <option>Infomaterial und Demo CD</option>
              </select>
              </label>       </td>
            <td width="545" rowspan="5" align="right" valign="middle">
              <div align="right">
                <textarea rows="10"  style="width:97%" name="text" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"><?php  echo  $text ?></textarea>
              </div></td>
          </tr>
        <tr valign="top"><td width="80" align="right">Vorname:</td>
          <td align="left"><input type="text" name="vorname" value="<?php  echo  $vorname ?>" style="width:100%" /></td>
        </tr>
        <tr valign="top">
          <td align="right">Nachname:</td>
          <td align="left"><input type="text" name="nachname" value="<?php  echo  $nachname ?>" style="width:100%;" /></td>
        </tr>
        <tr valign="top">
          <td align="right">Telefon:</td>
          <td align="left"><input type="text" name="telefon" value="<?php  echo  $telefon ?>" style="width:100%" /></td>
        </tr>
        <tr valign="top"><td align="right">eMail:</td>
          <td align="left"><input type="text" name="email" value="<?php  echo  $email ?>" style="width:100%" /></td>
        </tr>
        
        <tr>
          <td width="80" align="left" valign="middle"></td>
          <td colspan="3"></td>
        </tr>
        <tr><td colspan="3" align="left" nowrap><div align="right"><div align="right" style="height:30px;">
              <input type="reset" value="Formular l&ouml;schen" style="width:20%" />
          &nbsp;&nbsp;
          <input type="submit" name="abschicken" value="Formular absenden" style="width:20%" />
        </div></td></tr>
      </table>
    <?php   
        
    } else {
            
    $mailbetreff = "Kontaktformular " . $_SERVER [ 'HTTP_HOST' ];
               if(
    mail ( "MEINEEIGENE@EMAILDOMAIN.LTD" $mailbetreff $mailnachricht "From:  $email " )){
                           echo 
    "<p style=\"color:#ee7900;font-size:20px;\">Vielen Dank für Ihre eMail!</p>" ;
                
            } else {
                echo 
    "<p>Ein Fehler ist aufgetreten!</p>" ;
            }
        }
    } else { 
    ?>
    <form action="#" method="post">
      <table width="960" border="0" cellpadding="3" cellspacing="1">
          <tr>
            <td align="right" valign="top"><strong>Anliegen:</strong></td>
            <td width="313" align="left" valign="top">
              <label>
              <select name="Anliegen" size="1" id="Anliegen" style="width:100%">
               <option selected="selected">Allgemeine Anfrage</option>
                <option>Buchungsanfrage</option>
                 <option>Infomaterial und Demo CD</option>

              </select>
              </label>
             
           </td>
            <td width="545" rowspan="5" align="right" valign="middle">
              <div align="right">
                <textarea rows="10"  style="width:97%" name="text" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">Ihre Nachricht...</textarea>
              </div></td>
          </tr>
        <tr valign="top"><td width="80" align="right">Vorname:</td>
          <td align="left"><input type="text" name="vorname" value="" style="width:100%" /></td>
        </tr>
        <tr valign="top">
          <td align="right">Nachname:</td>
          <td align="left"><input type="text" name="nachname" value="" style="width:100%;" /></td>
        </tr>
        <tr valign="top">
          <td align="right">Telefon:</td><td align="left"><input type="text" name="telefon" value="" style="width:100%" /></td>
        </tr>
        <tr valign="top"><td align="right">eMail:</td><td align="left"><input type="text" name="email" value="@" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" style="width:100%" /></td>
        </tr>
        
        <tr>
          <td width="80" align="left" valign="middle"></td>
          <td colspan="3"></td>
        </tr>
        <tr><td height="49" colspan="3" align="left" valign="middle" nowrap><div align="right" style="height:30px;">
              <input type="reset" value="Formular l&ouml;schen" style="width:20%" />
          &nbsp;&nbsp;
          <input type="submit" name="abschicken" value="Formular absenden" style="width:20%" />
        </div></td></tr>
      </table>
    </form>

    <?php
    }
    ?>

    Was mich daran bis jetzt auch noch stört:
    Ich würde gerne selber die Reihenfolge bestimmen in der die Felder in die eMail geschrieben werden die an mich geht. Bis jetzt scheint das iwie über ne LIST Funktion oder so zu laufen? In der einfach die Reihenfolge der Felder abgearbeitet wird?

    Danke für jede Hilfe

    Edit:
    Was auch noch sehr cool wäre, wenn man nach dem Absenden auch auf eine bestimmte URL kommt.
    Bis jetzt habe ich das mit echo und danke fürs absenden.
    Würde dafür aber gerne auf eine extra seite verlinken.

    Hab es mit header location aber iwie nicht richtig hinbekommen.
    Es kam immer das schon eine location vergeben wurde oder so.
     
  2. 22. März 2011
    AW: Kopie an Absender

    Schau dir mal die Doku auf php.net an.

    mail()

    Guck mal den Parameter "to" an. Da steht, wie es geht.


    Header location und ein "Danke" Script geht nicht, da header:location direkt auslöst. Dann musst du eher mit meta location arbeiten
     
  3. 22. März 2011
    AW: Kopie an Absender

    Dies geht am besten mittels dem Parameter "to" von mail().

    Quelle:PHP: Hypertext Preprocessor

    E: 2 late
     
  4. 22. März 2011
    AW: Kopie an Absender

    Danke schonmal. Habs gerade gelesen, weiß aber nicht so 100% wie ich das auf mein Script jetzt anwenden soll...

    Könnte mir das jemand vielleicht in den Code rein schreiben und hier nochmal rein stellen?

    Vllt hilft es ja auch noch jemand anderem.
    Stehe aber sonst gerade etwas auf dem schlauch...
    Hab für das ganze schon 2 stunden gebraucht oder so ^^
    Ihr kriegt das doch bestimmt in 5min hin oder? ^^
    Wäre sehr dankbar.
     
  5. 22. März 2011
    AW: Kopie an Absender

    Machen können wir das schon, aber wir sind ja hier in der Hilfe Section und nicht in der Copy&Paste.

    Häng einfach ein , (Komma) hinter die erste Emailadresse und füg danach die zweite Emailadresse an. Wenn die Email im Formular steht, dann gibst du halt das Formularfeld via POST mit an.

    Wenn du das nicht kannst, solltest du vllt nochmal die Basics erlernen. Denn wenn ich mir das Script angucke, dann kannst du das ja kaum alleine geschrieben haben, wenn du nichtmal aus der Doku schlau wirst.
     
  6. 22. März 2011
    AW: Kopie an Absender

    So dann schau mal in deinem Script wo deine bzw. die Mailadresse drinsteht.
    Dann schauste in meinen oder hacker5 seinen Beitrag und schon muesstest du die Loesung wissen.

    Zu der Weiterleitung gibts genug Suchergebnisse bei Google.

    Gruß
     
  7. 22. März 2011
    AW: Kopie an Absender

    richtig.
    Und die Sachen bei google mit header haben nicht geklappt.

    Wenn ihr nicht helfen wollt dann gut aber die Links habe ich auch selber gefunden.
    Habe já schon ne Stunde gesucht und es nicht hinbekommen.

    Sonst hätte ich doch erst garnicht geschrieben und höflich um hilfe gebeten oder?
     
  8. 22. März 2011
    AW: Kopie an Absender

    definiere bitte "hat nicht geklappt"

    PHP:
    <? php

    $header  
    "from: foobar <foo@bar.baz>\r\n" ;
    $header  .=  "cc: bar@baz.de, baz@qrz.de\r\n" ;
    $header  .=  "bcc: geheim@geheim.de" ;

    mail ( 'empfänger@domain.de' 'betreff' 'nachricht' $header );
    klappt nämlich ohne probleme bei mir.
     
  9. 22. März 2011
    AW: Kopie an Absender

    Stimmt, sorry. Wir posten alle nur weil wir dich ärgern wollen und schlecht machen. Man postet nicht, weil man helfen will. Wie konnten wir nur, pfui!

    Dann zeigt man das nicht funktionierende Beispiel und fragt nicht ob jemand einem eine fertige Lösung gibt, ganz einfach.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.