PHP-Formular - Inalte werden nicht übermittelt

Steffiberlin

Mitglied
Hallo,

ich habe nach einer Vorlage aus einem Webtutorial ein HTML-Formular mit einem PHP-Skript nachgebaut, das online eigentlich auch bestens funktioniert, d.h. man kann es ausfüllen, den Inhalt wahlweise wieder löschen oder absenden. Nach dem Absenden erscheint mittels des PHP-Skriptes auch eine Redirect-Seite mit Vielen Dank usw. also soweit eigentlich alles gut und schön.

Das Problem: Die weitergeleiteten Nachrichten aus dem Formular, die mir der Postmaster von Strato nach dem Testen auch immer gleich brav zusendet, sind leider leer.

Das heißt, es erscheint zwar

Nachricht:
Name:
Telefon:
Email:

aber leider dahinter nicht das, was ich in dem Formular online eingegeben habe. Hier der erste Teil vom PHP-Skript, der offenbar einen Fehler enthält, den ich derzeit aber einfach nicht finden kann:

PHP:
<?php
 
/* Betreff und Email Variable */
 
 $emailBetreff = 'testdomain.de Kontaktformular';
 $webmaster = 'info@testdomain.de';
 
/* Emailform Daten */
 
 $nachrichtFeld = $_POST['nachricht'];
 $nameFeld = $_POST['name'];
 $telefonFeld = $_POST['telefon'];
 $emailFeld = $_POST['email'];
 
 $body = <<<EOD
<br><hr><br>
Name: $name <br>
Email: $email <br>
Telefon: $telefon <br>
Nachricht: $nachricht <br>
EOD;

 $headers = "From: $email\r\n";
 $headers .= "Content-type: text/html\r\n";
 $headers = mail($webmaster, $emailBetreff, $body, $headers);
 
/* Antwort */

Kann mir jemand helfen? Vielen Dank im Voraus!
 
Ähm... *rotwerd* sorry bin totaler PHP-Newbee, soll ich var_dump($_POST) in meinem PHP-Skript einfügen? Und wenn ja, an welcher Stelle genau?
 
Wo du das einfügst ist relativ egal, zum Beispiel hier:

PHP:
<?php 
  
/* Betreff und Email Variable */ 
  
 $emailBetreff = 'testdomain.de Kontaktformular'; 
 $webmaster = 'info@testdomain.de'; 
  
/* Emailform Daten */ 
  
 $nachrichtFeld = $_POST['nachricht']; 
 $nameFeld = $_POST['name']; 
 $telefonFeld = $_POST['telefon']; 
 $emailFeld = $_POST['email'];

// Hier ist es
var_dump($_POST);

?>
 
Danke! Ich habe es so probiert:

PHP:
<?php
 
/* Betreff und Email Variable */
 
 $emailBetreff = 'selbst-bewusst-bewegen.de Kontaktformular';
 $webmaster = 'info@selbst-bewusst-bewegen.de';
 
/* Emailform Daten */
 
 $nachrichtFeld = $_POST['nachricht'];
 $nameFeld = $_POST['name'];
 $telefonFeld = $_POST['telefon'];
 $emailFeld = $_POST['email'];

var_dump($_POST);
 
 $body = <<<EOD
<br><hr><br>
Name: $name <br>
Email: $email <br>
Telefon: $telefon <br>
Nachricht: $nachricht <br>

Hab es hochgeladen, nach dem Ausfüllen und Absenden des Formulars erschien dann auch die Vielen Dank-Seite, dieses Mal allerdings nicht vollständig und oben drüber stand in Schwarz:

array(5) { ["nachricht"]=> string(36) "TDies ist ein weiterer Test." ["name"]=> string(15) "Stefanie" ["telefon"]=> string(12) "030.888888" ["email"]=> string(26) "hello@test-sitel.de" ["Senden"]=> string(19) "Mitteilung absenden" }

Die Nachricht von Strato wie bisher, also nur
Name:
Email:
Telefon:
Nachricht:

Oh je. Und nun? Grüße!
 
Du bist mir ja einer :D
Vergleiche mal die Namen der Variablen mit denen, wo du die POST Felder zuweist. Fällt dir was auf? ;)
 
Da musst du schon selber drauf kommen.
PHP:
error_reporting(E_ALL); //zeigt Fehlermeldungen an
//HIER DEFINIERST DU VARIABLEN
 $nachrichtFeld = $_POST['nachricht'];
 $nameFeld = $_POST['name'];
 $telefonFeld = $_POST['telefon'];
 $emailFeld = $_POST['email'];

//HIER VERWENDEST DU VARIABLEN, VERGLEICHE DIE MIT DEN DEFINIERTEN ;) 
 $body = <<<EOD
<br><hr><br>
Name: $name <br>
Email: $email <br>
Telefon: $telefon <br>
Nachricht: $nachricht <br>
 
Mein erster Versuch mit PHP - bitte hab Erbarmen. Also ich versuche mal zu kombinieren:
Oben im Bereich definiere ich die Variablen für das Formular. Darunter im Bodytag geht es um die spätere Ausgabe der Angaben im Mailprogramm was ja zurzeit noch nicht funktioniert. Ich tappe komplett im Dunklen. Liegt es evtl daran, dass unten die Reihenfolge der oben aufgezählten Variablen nicht übereinstimmt? Ich habe wirklich keine Ahnung.
 
Nein.
Also, ich helf dir mal mit einer Variable
Oben schreibst du
PHP:
$nachrichtFeld = $_POST['nachricht'];
Unten hast du dann
PHP:
Nachricht: $nachricht <br>

Nun, $nachrichtFeld ist ungleich $nachricht
Einer von beiden Variablennamen solltest du so ändern, dass er gleich heisst wie der Andere
 
Zurück