Kontaktformular - Wie lese ich alle Variablen aus?

A

apstalker

Mitglied
Thread Starter
Dabei seit
02.09.2009
Beiträge
64
Reaktionspunkte
0
Hallo zusammen,

um vorzugreifen: Ich bin in Sachen PHP nicht gerade die Leuchte; bitte habt daher Rücksicht, dass ich bei dieser wenn auch für Euch simplen Sache auf individuelle Hilfe anstatt Pauschal-Tutorials angewiesen bin.

Ich habe in meine Seite ein Kontaktformular integriert:

HTML:
<form class="CSS3 Formular" method="post" action="send.php">  
     <p class="Username">  
           <input type="text" name="Username" id="Username" />  
           <label for="Username">Ihr Name</label>  
     </p>  
     <p class="E-Mail">  
         <input type="text" name="E-Mail" id="E-Mail" />  
         <label for="E-Mail">Ihre Email-Adresse</label>  
     </p>  
     <p class="Betreff">  
       <input type="text" name="Betreff" id="Betreff" />  
       <label for="Betreff">Ihr Betreff</label>  
    </p>  
    <p class="Nachricht">  
       <textarea name="text">Ihre Nachricht...</textarea>  
    </p>  
    <p class="Senden">  
       <input type="submit" value="Nachricht senden" />  
    </p>   
        </form>

Das damit verknüpfte "send.php" sieht so aus:

PHP:
<?php
mail("email_des_empfaengers@prov.de","Nachricht von $_POST[Username]",$_POST[text]);
?>

Die daraus resultierende E-Mail kommt so in meinem Postfach an:

"Anonymus" wäre hier die Mail-Adresse des Users, Nachricht von "#" ist der Name, "testmessage" ist die Nachricht. Der Betreff fehlt auch, daher wird der hier (normalerweise in fett) gar nicht dargestellt.

Ich würde jedoch gerne alle Angaben als Variablen übergeben, sodass die vom User angegebene Emailadresse als Absender und der Betreff eben als Betreff intepretiert wird. Wenn ich jedoch das PHP-Doc um die entsprechenden Variablen ergänze, funktioniert gar nichts mehr, bzw. es kommt gar keine Mail an.

Das Script habe ich mir aus verschiedenen Tutorials zusammengesetzt. Allerdings habe ich während des Googlens bezogen auf mein Problem Scripts gesehen, die ungefähr 3x so umfangreich wie das meine sind, was mich nun dazu bewegt hat, individuelle Hilfe zu beziehen.

Vielen Dank im Voraus!
 
guck mal:
ein kleines Script.
(deine Felder musst du allerdings anpassen)

PHP:
$from = "$_POST[email]";
 $to = "deine-adresse@web.de"; 
 $cc = "";
 $bcc = "";
 $date = strftime("%d.%m.%Y, %H:%M:%S",mktime());


mail(
"$to",
"Website-Anfrage von $name (ts: $date)",
"
Online-Anfrage vom $date
======================================
Name:    $_POST[name]
E-Mail:  $_POST[email]

Nachricht:
$_POST[Nachricht]

",
"Return-Path: $from
from: $from
cc: $cc
bcc: $bcc
X-Mailer: Intertrend Webmail.
");
 
Hallo stefan-b,

danke für deine schnelle Antwort und Hilfsbereitschaft!

Dein Script funktioniert soweit wunderbar, allerdings wäre es wünschenswert, die Variablen auch in den entsprechenden Positionen der Mail zu finden, statt alle in Reintext in der Mail selbst.
 
So, habe das PHP Script jetzt etwas überarbeiten können:

PHP:
<?php
$to      = 'meine_mail@prov.com';
$subject = $_POST['Betreff'];
$message = $_POST['Nachricht'];
$headers = 'From: '.$_POST['name'].'' . "\r\n" .
    'Reply-To: '.$_POST['email'].'' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Damit werden alle Variablen übergeben.

Allerdings habe ich jetzt das Problem, dass der Name des Absenders mit weiteren Angaben ergänzt wird, was nicht gerade wünschenswert ist:

Kann mir da jemand weiterhelfen?

Danke im Voraus!
 
Zurück
Oben Unten