Kontaktformular funktioniert nicht

moin,
ich habe auf meinen Webspace ein Kontaktformular hochgeladen, das mit PHP funktioniert. Das Problem an dieser Sache ist, das ich zwar eine Mail geschickt bekomme, aber in der Mail nur der Standart-Text drinsteht und im php Fenster im Browser die eingegebenen Daten nicht angezeigt werden.

Mein PHP Code:

[i] Zuerst der HTML-Ausgestalltungsteil. Für meine Frage unwichtig…
<?php
echo “
Ihr Name lautet:

$name


E-Mail Adresse:

$mail


Ihr Betreff der Nachricht:

$betreff


Sie schrieben an uns:

$nachricht


Erwatren Sie eine Antwort von uns:

$antwort





”;

    $nachrichtentext = "
    //Etwas unwichtigeres gibt es nicht.
    ";

    $empfaenger = "-Meine Mail-";

    $betreff = "Formular von Progis-Web";

    $absender = "";

    mail($empfaenger, $betreff, $nachrichtentext, $absender);
    ?>
    Und wieder HTML-Code...[/i]

Jemand eine Idee an was es liegt ??
Die Feldnamen sind richtig benannt und der form-Befehl ist auch in Ordnung.

Denke im Voraus

Gruß
Jens Ullmert

Informiere dich ueber das Stichwort register_globals=off, und wie man richtig auf per Formular uebergebene Parameter zugreift.

Habe ich gemacht. Aber eine Lösung auf mein Problem steht nicht dabei.

Was du mit “richtig” meinst verstehe ich nicht. Das Formular ist eine Lehrgangsvorlage = richtig.

Und ich habe ja schon einmal gesagt, das das Formular sonst überall funktioniert.

Gruß
Jens

Überall? naja egal…
Da ich solche Antworten selber nicht mag erkläre ich dir das mal.

Wenn in der php configuration “register_globals = off” eingestellt ist, dann können so genannte Variablen (Platzhalter) nicht ganz “normal” übertragen werden.
Um das Problem zu lösen musst du die Variablen mit:

oder

(je nachdem wie dein HTMl-Quelltext aussieht.)
ersetzen.

mehr dazu?
Da hin

MfG
BeenGreen

Ach komm - wen willst du hier fuer bloed verkaufen?

Googlen nach register_globals=off bringt mir momentan als ersten Treffer das hier. Und da steht ganz genau drin, was du zu tun hast.

Dann ist die Lehrgangsvorlage hoffnungslos veraltet.
Als “richtig” kann und darf man das schon seid langem nicht mehr bezeichnen.

Ich dachte Forenintern^^

@BeenGreen: Irgendetwas klappt da nicht so, wie es soll…
Siehe HIER

@chrisb:
Den Post habe ich mir durchgelesen und bin jetzt schlauer wie vorher :smoke:

Kann mir vllt einfach ein netter Poster ein script für die 4 textfelder 1, 2, 3, 4 scripten. Ich übertrage dann alles so wie ich es brauche

Wenn nicht horche ich mich anderst wo um…

Gruß
Jens Ullmert

Guten Morgen,

inhalt der send.php:

//HTML CODE ...
<?php
//entgegennehmen der FormularDaten
$name = $_POST["name"];
$mail = $_POST["mail"];
$betreff = $_POST["betreff"];
$nachricht = $_POST["nachricht"];
$antwort = $_POST["antwort"];
//verarbeiten der Formulardaten
echo "
Ihr Name lautet:<br>
$name <br><br>
E-Mail Adresse: <br>
$mail <br><br>
Ihr Betreff der Nachricht:<br>
$betreff <br><br>
Sie schrieben an uns:<br>
$nachricht<br><br>
Erwatren Sie eine Antwort von uns:<br>
$antwort<br><br><br><br><br>
";

$nachrichtentext = "
//Etwas unwichtigeres gibt es nicht.
";

$empfaenger = "-Meine Mail-";

$betreff = "Formular von Progis-Web";

$absender = "";

mail($empfaenger, $betreff, $nachrichtentext, $absender);
?>
//HTML CODE ...

Bitte schön

Danke für den Code, aber:
Zwar wird jetzt das Formular angezeigt, aber die Variablen nicht…
Kannst die es ja gerne mal selbst ankucken…
>>Klick Mich an<<

Den Code habe ich 1 zu 1 übernommen. Nur die Mail eben umgeändert. Der nachrichtentext ist na noch unwichtig…

Gruß
Jens

Dein Formular wird ueber GET versandt, und deshalb steht logischerweise nix in $_POST.

Wenn du Methode hier mal auf Englisch richtig schreiben wuerdest - dann wuesste der Browser auch, dass er POST zum verschicken der Daten nutzen soll.

Eine Validierung haette dich uebrigens auf diesen Fehler hingewiesen - und auch auf die anderen, die da noch drinstecken.

chrisb kannst du bitte diesen agressiven unterton in deinen postings unterlassen? wäre das möglich?! jens hat hier ganz normal um hilfe gebeten!! man kann auch jemanden höflich und ohne niederschmetternde worte auf fehler hinweisen!

!warn letzte warnung

Klaerst du mich bitte auf, was genau du aggressiv fandest?

Und was war an meiner Antwort “niederschmetternd”? Ich habe ihn darauf hingewiesen, wo sein Fehler liegt, an welcher Stelle er seinen Code berichtigen sollte.

[color=#0000FF]///edit by dmc

antwort findest du im postfach[/color]

Nein wird es nicht. Im Quelltext auf der Seite UND auf meiner lokalen Datei ist 1. methode richtig geschrieben und 2. ist die Methode POST!

[quote=“chrisb”]<form name=“formular” action=“send.php” methode=“POST”>

Wenn du Methode hier mal auf Englisch richtig schreiben wuerdest - dann wuesste der Browser auch, dass er POST zum verschicken der Daten nutzen soll.[/quote]
Auf dem Serverplatz meines Freundes unter einem anderen Anbieter hat das Formular aber GENAU SO wie ich es habe funktionier, wie ich es anfangs hatte…

[quote=“chrisb”]
Eine Validierung haette dich uebrigens auf diesen Fehler hingewiesen - und auch auf die anderen, die da noch drinstecken.[/quote]
Die Validierung zeigt mir Fehler an wo meiner Meinung nach keine sind…

Hat noch einer eine Idee an was es liegt ??

Hier der Code von allem was zwischen <form> und </form> steht:
[code]
 <form name="formular" action="send.php" methode="POST">
         <fieldset>
         <legend align=left>Persöhnliche Angaben</legend><br>
         <input type="text" name="name" value="Vollständiger Name" onFocus="if(value == 'Vollständiger Name'){value = ''}" onBlur="if(value == ''){value = 'Vollständiger Name'}"size="40"></input><br>
         <br><input type="text" name="mail" value="E-M@il Adresse" onFocus="if(value = 'E-M@il Adresse'){value = ''}" onBlur="if(value == ''){value = 'E-M@il Adresse'}" size="40"></input> <br><br>
         </fieldset><br>

         <fieldset>
         <legend align=left>Ihr Anliegen an uns</legend><br>
         <input type="text" name="betreff" value="Betreff" onFocus="if(value == 'Betreff'){value = ''}" onBlur="if(value == ''){value = 'Betreff'}" size="40"></input><br><br>

         <textarea name="nachricht" rows="4" cols="40" onFocus="if(value == 'Ihre Nachricht'){value = ''}" onBlur="if(value == ''){value = 'Ihre Nchricht'}">Ihre Nachricht</textarea><br><br>
         </fieldset><br>

         <fieldset>
         <legend align=left>Letzter Schritt</legend><br>
         Möchten Sie von uns eine Antwort erhalten ?? <select name="antwort"><option>Ja</option><option>Nein</option></select><br><br>
         <input type="submit" value="Senden" onDblClick="w1()"></input></font><br><br>
         </fieldset>
         </form>
[/code]


Jens

wie schon erwähnt, stimmt der Form Tag nicht.

ändere:

<form name="formular" action="send.php" methode="POST">

in:

<form name="formular" action="send.php" method="POST">

und das Script läuft.

Und zum Thema auf dem anderen Server läufts… Wenn auf dem anderen register_globals=On gesetzt ist, braucht PHP keine method Anweisung um die Daten zu empfangen. Deswegen ist dir auch noch nicht aufgefallen, dass das falsch geschrieben ist.

Greez

Nein wird es nicht. Im Quelltext auf der Seite UND auf meiner lokalen Datei ist 1. methode richtig geschrieben und 2. ist die Methode POST![/quote]
Nein, der Attributname ist NICHT richtig geschrieben in der Beispielseite, die du verlinkt hast.

Und dass dein Formular aktuell sehr wohl per GET versandt wird, erkennst du ganz leicht daran, dass nach dem Abschicken die ganzen Parameter aus dem Formular in der Adresszeile deines Browsers auftauchen …

Ob etwas korrekt ist, haengt nicht von deiner “Meinung” ab, sondern davon, ob es den Standards entspricht oder nicht.

Wenn du einige Meldungen trotz der eigentlich recht ausfuehrlichen Erklaerung des Validators (Tipp: Die Option “Verbose Output” liefert noch mehr Details) nicht verstehst, koennen wir die gerne hier diskutieren.

An dem, worauf ich dich bereits hingewiesen habe!

[quote]Hier der Code von allem was zwischen und steht:

[code]

[/code][/quote] Da ist der Attributname immer noch falsch geschrieben.

Noch mal: Auf Englisch - und HTML ist nun mal “in Englisch” - heisst das Ding nicht Methode

Stimmt :slight_smile:
Das ist mir garnicht aufgefallen :unamused:

Resultat: Das Formular funtzt jetzt endlich —> Big THX

Gruß
Jens

Ich bin zwar kein Mod, aber diese Aggresion finde ich unangebracht…
@Jens Ullmert: Bitte m Zweifelsfall fragen…
@chrisb: Bitte direkt auf den Fehler hinweisen…

Wie sähe dieses Forum denn aus:
“Das stimmt”
“Nein ist falsch”
“Doch hat wonaders auch funktioniert”
“Funzt aber hier nicht”
“Muss hier funzen”
“Tut es aber nicht”
“Dann sag doch was falsch ist”
“Verwende Google”
“Da finde ich nix mit ‘methode’”