Formulardaten werden nicht akzeptiert. Was nun?

  • Hab ein Problem. Ich sollte das folgende Kontaktformular erfolgreich mit PHP versenden. Aber i-wie akzeptiert das SendeScript die Eingaben nicht. Was ist daran falsch?:

    Ich habs mal upgeloadet:
    Kontaktformular
    Sendescript

    Code vom Kontaktformular:

    Code vom Sendescript:

  • Code
    if ( ! empty ($_POST['NAME']) && 
         ! empty ($_POST['$VORNAME]) &&
         ! empty ($_POST['$EMAIL]) && 
         ! empty ($_POST['$TELEFON]) && 
         ! empty ($_POST['$MITTEILUNG]))


    Alle Variablen aus dem Formular über $_POST ansprechen!

  • Code
    if ( ! empty ($_POST['NAME']) &&
         ! empty ($_POST['$VORNAME']) &&
         ! empty ($_POST['$EMAIL']) &&
         ! empty ($_POST['$TELEFON']) &&
         ! empty ($_POST['$MITTEILUNG']))

    Nicht so? ;)

    Ich probiers mal aus!

    //edit: GEHT NICHT. :( Was mache ich falsch?

  • Hab noch was kleines abgeändert:

    Code vom Skript

    Code vom Kontaktformular:

    Code vom CSS:

  • Du musst alle Post folgendermaßen ändern

    für ein Inputfeld:

    <input type="text" name="beispiel" value="" />

    kannst du mit

    $_POST['beispiel'] dann den Inhalt des feldes bekommen, bei einfachen Anführungszeichen -> ' <- beachtet php aber kene Variablen

    beispiel
    <?php $test = "ausgabe";
    echo $test; // ausgabe
    echo '$test'; // $test
    ?>

    in deinem Fall musst du sowieso die $ ais der Klammer rausnemen:
    als
    $_POST['$VORNAME'] in $_POST['VORNAME'] umändern ;)

    da deine Variablen in der Ausgabe $vorname bei JEDEM Seitenaufruf neu geladen wird, ist sie noch leer, deshalb musst du nach deiner if-Abfrage noch folgendes für jede machen:
    $vorname = $_POST['VORNAME'] ;

    oder alternativ an jeder Stelle echo "mein String".$_POST['VORNAME']." wird ausgegeben.";


    edit : by the way schreib Variablen klein, Konstanten werden groß geschrieben.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Was mache ich falsch?

    Jetzt übernimmt der Skript bloss das erste Input Feld... Und wenn ich in EINEM Feld nichts habe, dann sagt er mir, ich habe in allen Feldern etwas ausgelassen!
    Und es wird gar keine Mail verschickt!

    Habs nochmal upgeloadet:
    http://www.technetium.ch.vu/inkasso/konakt.php

    Hier der Code vom Sendeskript:

  • um es dir klar zu machen was du tust:
    $name = ""; // Name ist Leer
    $name = $_POST['NAME']; // der inhalt von $_POST name wird in $name gespeichert.

    das must du EINMAL für jede Variable machen , nicht öfters ;)

    denn

    Code
    $name = $_POST['NAME'];
    
    
    [ ... hier 2000 Zeilen dazwischen Code ... ]
    
    
    $name = $_POST['NAME'];

    verändert ja den Inhalt nicht.


    Dann noch eine Sache , das Simikolon lässt das Echo denken, es sei fertig, da muss nen Punkt hin ;)

    ersetz
    ' . $NAME = $_POST['NAME'] ; '
    mit
    ' . $NAME . '

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ