kostenloser Webspace werbefrei: lima-city


PHP-mail

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    w******e

    Hallo.
    Ich benutze zur Zeit folgendes PHP-Mail-Script:
    <?php
      $empfaenger = "email@domain.de";
      $betreff = "PHPMAIL";
      $text = "Mein TEXT HIER.";
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
      ?>


    Ich will diesen Code bei Folgendem Dokument verwenden:
    <html>
    <body>
    <table width="950" border="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" background="table_bg_big.gif" background-repeat="no" height="704">
    	<tr>
    		<td height="255" width="944" align="center" valign="top" colspan="3">
    		&nbsp;<p>&nbsp;</p>
    		<p><font face="Comic Sans MS" style="font-size: 15pt"><br>
    		WireWare-Bug-Report-Service</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<p><font face="Comic Sans MS">Bitte wählen Sie hier Ihre Software aus:</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="33" width="264" align="center" valign="top">
    		<select size="1" name="software">
    		<option selected value="NONE">IHRE SOFTWARE</option>
    		<option value="ww-manager">WireWare-Manager</option>
    		<option value="euro">€rrofix€r</option>
    		</select></td>
    		<td height="33" width="348" align="center" valign="top">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="34" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte wählen Sie hier Ihren Problembereich 
    		aus:</font></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<select size="1" name="area">
    		<option selected value="NONE">Ihr Problembereich</option>
    		<option value="controll">Bedienung</option>
    		<option value="errormessage">Fehlermeldung</option>
    		<option value="Design">Design</option>
    		<option value="other">Sonstige Bug´s</option>
    		</select></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="32" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte beschreiben Sie hier Ihren Bug genauer</font></td>
    		</tr>
    		<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="description" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte geben Sie Ihre E-Mail ein</font></td>
    		</tr>
    	<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="mail" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<input type="submit" value="Absenden" name="send">&nbsp;&nbsp;&nbsp;&nbsp;
    		<input type="reset" value="Zurücksetzen" name="clean"></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    	<tr>
    		<td height="128" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    	</font>
    </table>
    </body>
    </html>



    Wie kann ich das SO abändern, dass als Text die Eingabe aus folgenden Teilen der Formulare besteht:

    1.) aus dem DropDown feld "SOFTWARE"
    2.) aus dem DropDown feld "Area"
    3.) aus dem Textfeld "Description"
    4.) aus dem Textfeld "mail"

    Bei einem Druck auf den Button "send" soll die Mail versendet werden, und eine BestätigungsDialogBox geöffnet werden.
    Wenn man "clean" drückt, sollen Sich die Textfelder leeren, und die DropDown wieder auf Ausgangsposition zurücksetzten.


    Wie kann ich das Realisieren?


    grüße

    WW
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. d**w

    Puh, ich würde mir persönlich wünschen, dass du dich (genauer) mit HTML auseinandersetzt. Tags wie <font> gelten als veraltet und sollten deshabl NICHT verwendet werden.

    Zu deinen Problemen:

    1. Damit dein Formular funktioniert, MUSS es in einem <form>-Tag stehen
    <html>
    <body>
    <table width="950" border="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" background="table_bg_big.gif" background-repeat="no" height="704">
    	<form action="mail.php" method="post">
        <tr>
    		<td height="255" width="944" align="center" valign="top" colspan="3">
    		&nbsp;<p>&nbsp;</p>
    		<p><font face="Comic Sans MS" style="font-size: 15pt"><br>
    		WireWare-Bug-Report-Service</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<p><font face="Comic Sans MS">Bitte wählen Sie hier Ihre Software aus:</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="33" width="264" align="center" valign="top">
    		<select size="1" name="software">
    		<option selected value="NONE">IHRE SOFTWARE</option>
    		<option value="ww-manager">WireWare-Manager</option>
    		<option value="euro">€rrofix€r</option>
    		</select></td>
    		<td height="33" width="348" align="center" valign="top">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="34" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte wählen Sie hier Ihren Problembereich
    		aus:</font></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<select size="1" name="area">
    		<option selected value="NONE">Ihr Problembereich</option>
    		<option value="controll">Bedienung</option>
    		<option value="errormessage">Fehlermeldung</option>
    		<option value="Design">Design</option>
    		<option value="other">Sonstige Bug´s</option>
    		</select></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="32" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte beschreiben Sie hier Ihren Bug genauer</font></td>
    		</tr>
    		<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="description" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte geben Sie Ihre E-Mail ein</font></td>
    		</tr>
    	<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="mail" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<input type="submit" value="Absenden" name="send">&nbsp;&nbsp;&nbsp;&nbsp;
    		<input type="reset" value="Zurücksetzen" name="clean"></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    	<tr>
    		<td height="128" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    	</font>
    	<form>
    </table>
    </body>
    </html>

    Diese Zeile hier definiert, was eigentlich bei einem Klick auf deinen Sende-Button geschehen soll. In meinem Beispiel steht dass:

    a. Die PHP-Datei mail.php aufgerufen werden soll und
    b. Die Werte aus dem Formular per POST übergeben werden sollen.
    <form action="mail.php" method="post">

    Wenn dir das nichts sagt kannst du dich hier (http://de.selfhtml.org/servercgi/cgi/formularverarbeitung.htm) schlau machen.

    Nachdem das Formular in dem dafür vorgesehenen und benötigten Tag steht, funktioniert auch das Absenden und Zurücksetzen der Informationen.

    2. Weiter zum PHP-Skript!
    <?php
      $empfaenger = "email@domain.de";
      $betreff = "PHPMAIL";
      $text  = "Software = ".$_POST['software']."\r";
      $text  .= "Area = ".$_POST['area']."\r";
      $text  .= "Description= ".$_POST['description']."\r";
      $text  .= "Mail = ".$_POST['mail'];
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
      ?>

    Weiter oben bin ich davon ausgegangen, dass das PHP-Skript mail.php heisst und im selben Verzeichnis liegt. Wenn dem nicht so ist, musst du das anpassen (siehe http://www.html-seminar.de/links-und-verzeichnisse.htm).

    Also:

    a. Da im HTML-File definiert wure, dass alle Werte per POST übermittelt werden sollen, können diese Werte mit dem $_POST - Array angesprochen werden. Die Bezeichner lauten wei die namen im HTML, zB "mail" wäre dann $_POST['mail'] und der Wert ist der, welcher im HTML für value vergeben wurde bzw. bei den Textfeldern eingegeben wurde.

    An dieser Stelle muss ich dich drauf aufmerksam machen, dass man NIEMALS Werte aus einem Formular einfach so weiterverarbeiten sollte, da dadurch schlimmstenfalls Schadcode eingeschleuste werden kann!

    Um aus den übergebenen Werten einen Brauchbaren Text zu machen, müssen die einzelnen Werte als Zeichenketten(Strings) verkettet werden.
    Das erledigt der folgende Code:
    $text  = "Software = ".$_POST['software']."\r";
      $text  .= "Area = ".$_POST['area']."\r";
      $text  .= "Description= ".$_POST['description']."\r";
      $text  .= "Mail = ".$_POST['mail'];

    Durch den . (Punkt) werden an die Variable $text immer weiter Zeichenketten angehängt. Druch selbigen . (Punkt) wird auch das Fragment "Area = " mit dem Wert der Variable $_POST['area'] verkette. Das "\r" ist ein Zeilenumbruch.

    Ich hoffe du kannst damit etwas anfangen.

    Meine Bitte an dich: Nimm dir die Zeit und lerne, mit HTML umzugehen.
    Mein Tipp: SelfHTML.de (http://de.selfhtml.org/html/index.htm).

    Viel Spaß
  4. Autor dieses Themas

    w******e

    also mach ich zum Beispiel
    Index.php
    <html>
    <body>
    <table width="950" border="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" background="table_bg_big.gif" background-repeat="no" height="704">
    	<form action="mail.php" method="post">
        <tr>
    		<td height="255" width="944" align="center" valign="top" colspan="3">
    		&nbsp;<p>&nbsp;</p>
    		<p><font face="Comic Sans MS" style="font-size: 15pt"><br>
    		WireWare-Bug-Report-Service</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<p><font face="Comic Sans MS">Bitte wählen Sie hier Ihre Software aus:</font></p>
    		</td>
    	</tr>
    	<tr>
    		<td height="33" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="33" width="264" align="center" valign="top">
    		<select size="1" name="software">
    		<option selected value="NONE">IHRE SOFTWARE</option>
    		<option value="ww-manager">WireWare-Manager</option>
    		<option value="euro">€rrofix€r</option>
    		</select></td>
    		<td height="33" width="348" align="center" valign="top">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="34" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    	</tr>
    	<tr>
    		<td height="33" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte wählen Sie hier Ihren Problembereich
    		aus:</font></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<select size="1" name="area">
    		<option selected value="NONE">Ihr Problembereich</option>
    		<option value="controll">Bedienung</option>
    		<option value="errormessage">Fehlermeldung</option>
    		<option value="Design">Design</option>
    		<option value="other">Sonstige Bug´s</option>
    		</select></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="32" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte beschreiben Sie hier Ihren Bug genauer</font></td>
    		</tr>
    		<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="description" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="944" align="center" valign="top" colspan="3">
    		<font face="Comic Sans MS">Bitte geben Sie Ihre E-Mail ein</font></td>
    		</tr>
    	<tr>
    		<td height="37" width="936" align="center" valign="top" colspan="3">
    		<input type="text" name="mail" size="115"></td>
    		</tr>
    		<tr>
    		<td height="31" width="324" align="center" valign="top">
    		&nbsp;</td>
    		<td height="31" width="264" align="center" valign="top">
    		<input type="submit" value="Absenden" name="send">&nbsp;&nbsp;&nbsp;&nbsp;
    		<input type="reset" value="Zurücksetzen" name="clean"></td>
    		<td height="31" width="348" align="center" valign="top">
    		&nbsp;</td>
    		</tr>
    	<tr>
    		<td height="128" width="944" align="center" valign="top" colspan="3">
    		&nbsp;</td>
    		</tr>
    	</font>
    	<form>
    </table>
    </body>
    </html>


    mail.php
    <?php
      $empfaenger = "email@domain.de";
      $betreff = "PHPMAIL";
      $text  = "Software = ".$_POST['software']."\r";
      $text  .= "Area = ".$_POST['area']."\r";
      $text  .= "Description= ".$_POST['description']."\r";
      $text  .= "Mail = ".$_POST['mail'];
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
      ?>


    so müsste es dann gehen, oder?

    grüße
  5. d**w

    Theoretisch ja, allerdings musst du auch wissen wohin du die Mail senden möchtetst, also benötigst du Werte für die Variablen $empfaenger, $betreff, $text, $sender und $sendermail.
    mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");

    LG
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!