besonderes Formular

  • Hallo,

    ich habe ein HTML-Formular (Standard: Name, Mail, Betreff, Freitext) mit einem individuellen absenden- und löschen-Button, das heisst KEIN input type="submit":

    Löschen

    Senden

    der Kopf des Formulars lautet:

    <form name="Kontakt" method="post" enctype="text/plain">

    in der versenden.php steht:

    <?php
    $datum = date("d.m.Y - H:i");

    // Empfänger Email
    $empfaenger = "kontakt@xy.de";

    mail($empfaenger,"Nachricht von ".$name,"
    Datum: $datum
    Name: $name
    e-mail-Adresse: $mail
    -----------
    Betreff: $betreff
    -----------
    Nachricht: $nachricht
    -----------
    ","From: $name <$mail>");
    ?>

    Warum übergibt es mir die Variablen aus dem HTML-Formular nicht? Es wird zwar eine Mail verschickt, aber die ist leer. :cry:

    Danke,
    winnie12pooh

  • schau dir mal den mist an... du glaubst doch nicht wirklich dass das funktioniert:
    mail($empfaenger,"Nachricht von ".$name,"
    Datum: $datum
    Name: $name
    e-mail-Adresse: $mail
    -----------

    Betreff: $betreff
    -----------
    Nachricht: $nachricht
    -----------
    ","From: $name <$mail>");

    Zitat von SelfPHP

    mail(string to, string subject, string message [, string additional_headers])

    also in deinem fall:

    Code
    mail($empfaenger,"Nachricht von ".$name,"Datum: ".$datum."\nName: ".$name."\n...usw");

    nur weil du hier im php-quelltext absätze machst, heißt dass noch lange nicht dass die im mail auch vorhanden sind... deshalb das \n

  • Moin!

    Sorry Rocco, aber ich muß dir da mal teilweise widersprechen:

    Wenn den content-Type = text/plain ist, dann gehören da keine Zeilenumbruchzeichen rein, die würden nämlich genau so angezeigt werden. Es geht hier ja nicht um eine HTML-Message und auch dort würde das "\n" nur den Quelltext ordnen.

    @winnie12pooh:

    Dein Formular übergibt die Daten nicht, weil beim Form-Tag kein Hinweis darauf ist, was das Formular mit den Daten machen soll.
    Stattdessen rufst du die Datei "versenden.php" per Hyperlink auf, richtig wäre ein Action-Befehl:

    Code
    <form name="Kontakt" action="versenden.php" method="post" enctype="text/plain">

    Allerdings brauchst du nun wieder etwas, was den Versendevorgang auslöst, also einen Submit-Button.

    Tausche diesen Teil einmal aus:

    Code
    [url='javascript:document.Kontakt.reset()']L&ouml;schen[/url]
    
    
    [url='versenden.php']Senden[/url]


    gegen

    Code
    <input type="reset" value="L&ouml;schen">
    <input type="submit" value="Absenden">


    dann sollte es klappen.

    Grauß aus der Marsch!

    Ronald

  • Danke für die Antworten.

    Zitat

    schau dir mal den mist an... du glaubst doch nicht wirklich dass das funktioniert

    Rocco: Warum denn gleich so unfreundlich? Wenn ich nicht glauben würde, dass das funktioniert, würde ich es doch nicht probieren. Ausserdem dachte ich, dass ein Forum dazu da ist Hilfe zu bekommen und nicht blöd angeredet zu werden, wenn man was falsch macht. Wenn ich wüsste, wie es richtig geht bräuchte ich kein Forum zur Hilfe! Mal ganz davon abgesehen, dass der php-Teil funktioniert - mit Umbrüchen!! - wenn ich die Variablen aus Flash übergebe. Mein Problem ist, wie übergebe ich die Variablen aus HTML?

    Zitat

    <input type="reset" value="L&ouml;schen">
    <input type="submit" value="Absenden">

    Ronald: Danke für den Tip, aber mein Problem ist, dass ich eben nicht diesen Standard-Absende/Löschen-Button will, sondern eine Grafik mit Beschriftung habe und beim Anklicken der Grafik sollen die Variablen übergeben werden.

    Gruss,
    winnie12pooh[/quote]

  • Ronald:

    Zitat von winnie12pooh

    Warum übergibt es mir die Variablen aus dem HTML-Formular nicht? Es wird zwar eine Mail verschickt, aber die ist leer. :cry:

    Danke,

    winnie12pooh

    @Winnie:

    du musst die variablen (wie bei $name) außerhalb der " " hinschreiben. daran wirds wohl liegen. und sorry für die fehlinformation bzgl \n

    mfg

  • Zitat von Rocco


    @Winnie:

    du musst die variablen (wie bei $name) außerhalb der " " hinschreiben. daran wirds wohl liegen. und sorry für die fehlinformation bzgl \n

    mfg

    Sorry Roccco - aber du liegst schon wieder daneben.
    Du kannst Variablen auch innerhalb von Strings verwinden, wenn sie ebenfalls Stringvariablen sind. Es geht jedoch dann nicht, wenn nummerische Werte ins Spiel kommen, wie z.B. bei einem Array.

    Der Fehler liegt 1. im im weiterführenden Link, der in Wirlklichkeit ein ganz normaler HTML-Link ist und 2. im fehlenden Action im Form-Tag.

    Aber ich habe es ihm ja aufgeschrieben - wenn er nicht auf mich hören will, dann muß er das (noch) nicht, erst wenn ich hier 'Gott' geworden bin ;)

    G.a.d.M.

    Ronald

  • Ronald: den ersten Teil Deines Vorschlags hab ich auch umgesetzt, nur der zweite mit dem input type="submit" bringt mir nichts, da ich nicht diesen häßlichen Absendebutton will. Auch bei SelfHTML hab ich leider nichts gefunden. Ich will ja einen ganz speziellen Absendebutton, der in die Seite passt und nicht einen grauen Klotz.

    Rocco: liegt der Fehler nicht schon an dem HTML-Dokument? Ich brauche irgendeinen Tip, wie ich globale Variablen erzeuge, bzw. Variablen von einer Seite auf die nächste übergebe ohne den input type="submit"-Button.

    6_freddy: der Link schaut doch mal gut aus. Das werd ich gleich mal ausprobieren.

    Danke...

  • Du kannst dem grauen Klotz mit CSS viele verschiedene Aussehen geben und du kannst auch eine Grafik als Absendebutton benutzen.

    Du hast in deinem geposteten Quelltext aber nichts von einem grafischen Button stehen, versteckt der sich in Stylesheets?

    G.a.d.M.

    Ronaldd

  • Ronald

    der Quelltext sieht genaugenommen so aus:

  • Also es geht auch mit Stylesheets und Input-Button einwandfrei, schau es dir mal an, so sieht es dann aus:

    http://web306.server3.webplus24.de/testseiten/winnie12pooh

    Wenn es das ist, dann poste ich dir hier den Quelltext der Formulardatei:

    Ach ja, den Hover-Effekt mache ich mit einem 2. (grünen) Button, den habe ich die als Attachment beigefügt.
    Die Schriftfarben werden oben in den Stylesheets angepaßt, du kannst ja mal ein wenig experimentieren.

    Have Fun!

    Ronald

  • Super! Danke! Ich war echt schon am Verzweifeln, da nichts geklappt hat. Mit

    komme ich zwar auf die PHP-Seite, aber es übergibt mir einfach die Variablen nicht. Ich werd Deins gleich mal testen!

  • Ich hab den Fehler. Es lag an dem

    Code
    <form name="Kontakt" action="versenden.php" method="post" enctype="text/plain">

    Ich hab es durch

    Code
    <form name="Kontakt" action="versenden.php" method="post">


    ersetzt und es geht!!!

  • Den Fehler hatte ich ja schon rausgenommen.

    Allerdings hast du mit deinem Script immer noch das Problem, daß es sich nur mit aktiviertem Javascript absenden läßt, während meine Version auch fehlerfrei funktioniert, wenn Javascript deaktiviert ist.

    G.a.d.M.

    Ronald

  • Das ist mir erst eben aufgefallen, dass Du das rausgenommen hattest. Und ich hab die ganze Zeit an allenmöglichen Stellen gesucht. Dein Tip mit dem JavaScript ist gut. Das werd ich noch anpassen. Danke für die Hilfe!!