Formular Script

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Formular Script

Beitrag von Mutated! »

Hallo!
Ich weiß zwar, dass dess nix mit phpbb zu tun hat aber vielleicht könnt ihr mir ja trotzdem mal helfen. Wäre sehr nett. :D
Ich habe ein Formular Script im Internet gefunden. Jedoch gibt es ein Problem. Wenn man in den textarea einen Text eingibt, steht in der E-mail dieser Text vor dem Feld Name:
Bsp:



testName: thomas
Email: test@test.de
Mailbetreff: test
Mailnachricht: test

Kann mir jemand helfen um dieses Problem zu lösen? Außerdem habe ich noch eine Frage, wie kann erreichen, dass die Felder EMail und Mailbetreff nicht in der E-Mail erscheinen? Ich habe einen Code gefunden aber der funktioniert nicht.
Dieser:

Code: Alles auswählen

$auswahl = array("mailbetreff", "email");
   foreach ($https as $key => $value) {
       if(!in_array($key,$auswahl)){
           $text = $text."".$key.": ".stripslashes($value)."\n\n";
           $text2= $text2."".$key.": ".stripslashes($value)."\n\n";
       }
   } 

Der Gesamte Code dieses Scripts:

Code: Alles auswählen

<form action="mailer.php" method="post"> <table>
<tr><td>Dein Name:</td> <td><input maxlength="35" size="40" name="name"></td></tr>
<tr><td>Deine E-mail Adresse:</td><td><input maxlength="35" size="40" name="email"></td></tr>
<tr><td>Betreff:</td><td><input maxlength="35" size="40" name="mailbetreff"></tr>
<tr><td>Dein Text:</td> <td><textarea cols="30" rows="4" name="mailnachricht">
</textarea></td></tr>
<tr><td><input name="abschicken" type="submit" value="Senden"> <input type="reset" value="Löschen"></td></tr>
</form>
mailer.php:

Code: Alles auswählen

<?php

if($abschicken)
{
if(empty($name) || empty($email) || empty($mailbetreff) || empty($mailnachricht))
{
echo "Bitte fülle alle Felder aus!";
}
else
{
while(list($feld,$wert)=each($HTTP_POST_VARS))
{
if($feld!="abschicken")
{
$mailnachricht.=ucfirst($feld).": $wert\n";
}
}
$mailbetreff=$mailbetreff;
$mailbetreff.=$HTTP_POST_VARS[betreff];

mail("kontakt@thomas-boos.com", $mailbetreff, $mailnachricht, "From: $email");
      echo "Mail wurde erfolgreich versandt!";
}
}
else
{
echo "ERROR. Ein Fehler ist aufgetreten.";
}


?>
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Mutated! »

Kann mir keiner weiter helfen?
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Mutated! »

Diese Fehler sind jetzt behoben worden.
Das Script ist jetzt so:

Code: Alles auswählen

<?php

if($abschicken)
{
if(empty($name) || empty($email) || empty($mailbetreff) || empty($mailnachricht))
{
echo "Bitte fülle alle Felder aus!";
}
else
{
while(list($feld,$wert)=each($HTTP_POST_VARS))
{
if($feld!='abschicken' AND $feld!='email' And $feld!='mailbetreff')
{
$mailtext.=ucfirst($feld).": $wert\n";
}
}
$mailbetreff=$mailbetreff;
$mailbetreff.=$HTTP_POST_VARS[betreff];

mail("kontakt@thomas-boos.com", $mailbetreff, $mailtext, "From: $email");
      echo "Mail wurde erfolgreich versandt!";
}
}
else
{
echo "ERROR. Ein Fehler ist aufgetreten.";
}


?>
Die Formular Felder:

Code: Alles auswählen

<form action="mailer.php" method="post"> <table>
<tr><td>Dein Name:</td> <td><input maxlength="35" size="40" name="name"></td></tr>
<tr><td>Deine E-Mail Adresse:</td><td><input maxlength="35" size="40" name="email"></td></tr>
<tr><td>Betreff:</td><td><input maxlength="35" size="40" name="mailbetreff"></tr>
<tr><td>Dein Text:</td> <td><textarea cols="30" rows="4" name="mailnachricht">
</textarea></td></tr>
<tr><td><input name="abschicken" type="submit" value="Senden"> <input type="reset" value="L&ouml;schen"></td></tr>
</form>
Ich möchte jetzt noch in dem Formular ein Anhangsfeld einbauen, in dem die Benutzer mir per Anhang an die E-Mail ein Bild etc. schicken können. Kann mir jemand dabei helfen?

Code: Alles auswählen

<tr> <td><font face="Comic Sans MS">Anhang:</b></td> <td><input name="upload" size="25" type="file"></input></td></tr>
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag von k-5 »

dafür musste schon einiges machen (vorallem das email versenden mit anhang ist nicht 0815) ..

1. neues eigabefeld vom typ file .. (is ja klar ;) )
2. enctype="multipart/form-data" .. _muß_ in der <form> definition rein .. method="POST" erklärt sich von selbst .. (den fehler sucht man sonst _stundenlang_ ;) )

gut das war der leichte teil ..

3. fileupload .. würde jetzt kommen aber das macht glücklicherweise die klasse ..

ok .. jetzt wirds hart :)

4. email versand .. du kannst dich mit den email definitionen rumschlagen .. aber ich würd ne email klasse empfehlen ..

http://www.phpguru.org/static/mime.mail.html

die wird es tun ..

denk mal so in der art sollte es gehen .. wahrscheinlich fehlen noch paar zeilen ..

$mail = new htmlMimeMail();
$file = $mail->getFile($_POST['file']);
$mail->addHtmlImage($file, 'file.jpg', 'image/jpg');

$mail->setReturnPath('ml@xxx.de');
$mail->setFrom('"MetalLetter" <ml@xxx.de>');
$mail->setSubject('MetalLetter');
$mail->setHeader('X-Mailer', 'HTML Mime mail class http://www.phpguru.org)');

$result = $mail->send(array('xxx@xxx.de', 'xxx@gmx.de' ), 'mail');
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Antworten

Zurück zu „Coding & Technik“