+ Antworten
Ergebnis 1 bis 6 von 6

Thema: PHP-Formular leere Formular-Felder nicht versenden

  1. #1
    TP-Member dasko macht alles soweit korrekt
    Registriert seit
    Apr 2001
    Beiträge
    33

    PHP-Formular leere Formular-Felder nicht versenden

    Hallo,
    ich habe mit Hilfe dieses Forums ein Formular zusammengebaut.
    Es wird nach dem ausfüllen versendet und als HTML-Seite erstellt,
    damit sich der User seine Daten ausdrucken kann.
    Es sind aber nicht alles Pflichtfelder, also können einige Felder leer bleiben.
    Gibt es die Möglichkeit, daß die leeren Felder nicht mitgeschickt werden
    und daß es keinen Zeilenumbruch gibt, wenn dieses Feld leer bleibt.
    Also so, daß z.B. Option 1,3 und 10 direkt untereinenader stehen obwohl
    dazwischen die Optionen 2 und 4-9 stehen die aber nicht ausgefüllt sind.
    Der Code sieht folgendermaßen aus:

    <?php
    $mail_text="Beruf: ".$Beruf."\n
    Firma: ".$Firma."\n
    Funktion: ".$Funktion."\n
    Beruf: ".$Beruf."\n
    Strasse: ".$Strasse."\n
    Stadt: ".$Stadt."\n
    Land: ".$Land."\n
    Email: ".$Email."\n
    Internet: " .$Internet."\n
    Telefon: ".$Telefon."\n
    Telefax: " .$Telefax."\n
    Grundkonfiguration: " .$Grundkonfiguration."\n
    Vertragsart: " .$Vertragsart."\n
    Einsatzgebiet: ".$Einsatzgebiet."\n
    Option: ".$Option1."\n
    Option: ".$Option2."\n";
    mail("\" irgenwas@test.de\" < irgenwas@test.de>","Info-Anfrage",$mail_text,"From: \"Partnerseite\" <absender@email.de>\n");
    ?>

    <html>
    <style type="text/css">
    <!--
    .copy {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    color: #000000;
    }
    -->
    </style>
    <span class="copy">Firma: <?PHP echo $Firma; ?></span><br>
    <span class="copy">Funktion: <?PHP echo $Funktion; ?></span><br>
    <span class="copy">Beruf: <?PHP echo $Beruf; ?></span><br>
    <span class="copy">Strasse, Hausnummer: <?PHP echo $Strasse; ?></span><br>
    <span class="copy">PLZ, Stadt: <?PHP echo $Stadt; ?></span><br>
    <span class="copy">Land:<?PHP echo $Land; ?></span><br>
    <span class="copy">Email:<?PHP echo $Email; ?></span><br>
    <span class="copy">Internet:<?PHP echo $Internet; ?></span><br>
    <span class="copy">Telefon: <?PHP echo $Telefon; ?></span><br>
    <span class="copy">Telefax: <?PHP echo $Telefax; ?></span><br>
    <span class="copy">Grundkonfiguration: <b><?PHP echo $Grundkonfiguration; ?></span><br>
    <span class="copy">Vertragsart: <?PHP echo $Vertragsart; ?></span><br>
    <span class="copy">Einsatzgebiet: <?PHP echo $Einsatzgebiet; ?></span><br>
    <span class="copy"><?PHP echo $Option1; ?></span><br>
    <span class="copy"><?PHP echo $Option2; ?></span><br>
    </html>

    Habe eben grade schon daß Forum und diverse Seiten durchsucht,
    die Probleme waren aber immer, daß ein Feld nicht gesendet oder
    dargestellt wurde, ich brauche eigentlich das Gegenteil, nur eben
    bei nicht ausgefüllten Feldern.
    Danke für Tipps im vorraus.
    David

  2. #2
    TP-Specialist Dennis The Menace bringt sich richtig ein Dennis The Menace bringt sich richtig ein Avatar von Dennis The Menace
    Registriert seit
    Nov 2004
    Ort
    Ich komme aus dem Zauberwald
    Beiträge
    2.035
    PHP-Code:
    <?php

    //Definieren einer neuen Variablen
      
    $mail_text '';

    //Dynamisches Abfangen sämtlicher ausgefüllten felder
    foreach( $_POST as $key => $val )
     if( !empty( 
    $val ) )
      
    $mail_text .= $key.": ".$val."\n";

    //Versenden der Email
    mail("irgenwas@test.de","Info-Anfrage",$mail_text,"From: \"Partnerseite\" <absender@email.de>\n");
    ?>
    Wär jetzt mein Vorschlag
    Geändert von Dennis The Menace (15.01.2005 um 15:44 Uhr)
    Zwei Dinge sind Unbestreitbar:
    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
    • Die Erde ist eine Scheibe!
    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  3. #3
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Ich baue noch trim() rein, um Leerzeichen und sonstige Zeichen am Anfang und Ende abzuschneiden.

  4. #4
    TP-Member dasko macht alles soweit korrekt
    Registriert seit
    Apr 2001
    Beiträge
    33

    Variable definieren?

    Sorry, daß ich noch mal nachfrage, muss ich jetzt bei:

    <?php

    //Definieren einer neuen Variablen
    **$mail_text = '';

    eine neue Variable definieren? Wenn ja, welche. Ich kann ja nicht allen
    Feldern den gleichen Namen geben, da ja nur einige Pflichtrfelder sind.
    Habe auf verschiedene Art und Weise den Code umgeschrieben
    bekomme aber immer diese Meldung:

    Parse error: parse error, unexpected T_VARIABLE in /homepages/17/d11196075/htdocs/......./felder.php on line 4.

    Wäre für weitere Tipps dankbar.
    Gruß David

  5. #5
    TP-Specialist Dennis The Menace bringt sich richtig ein Dennis The Menace bringt sich richtig ein Avatar von Dennis The Menace
    Registriert seit
    Nov 2004
    Ort
    Ich komme aus dem Zauberwald
    Beiträge
    2.035
    <?php

    //Definieren einer neuen Variablen
    **$mail_text = '';
    Die beiden ** dürfen da nicht hin - siehe Original Code!

    eine neue Variable definieren? Wenn ja, welche
    Du musst eigentlich gar nichts mehr machen, der Code da oben war schon lauffähig und fängt automatisch sämtliche Felder ab, die ausgefüllt wurden.

    Ansonsten ist der Code da oben lauffähig
    Zwei Dinge sind Unbestreitbar:
    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
    • Die Erde ist eine Scheibe!
    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  6. #6
    TP-Member dasko macht alles soweit korrekt
    Registriert seit
    Apr 2001
    Beiträge
    33
    Hallo, danke für die schnelle Antwort. Wie die beiden ** in den
    Code gekommen sind weiß ich nicht. Sie sind aber nicht im PHP Formular,
    muss irgendwie beim kopieren passiert sein.
    Habe jetzt nochmal folgenden Code eingesetzt (die Kommentare habe
    ich weggelassen):

    <?php
    $mail_text = '';

    foreach( $_POST as $key => $val )
    if( !empty( $val ) )
    $mail_text .= $key.": ".$val."\n";

    mail("meineemail@test.de","Info-Anfrage",$mail_text,"From: \"Partnerseite\" <meineemail@test.de>\n");
    ?>

    Bekomme aber trotzdem die folgende Meldung:
    Parse error: parse error, unexpected T_VARIABLE in /homepages/17/d11196075/htdocs/..../felder.php on line 2

    Kann es sein, daß die Felder in meinem HTML-Formular eine besondere
    Bezeichnung bekommen müssen? Ich hab das erst mal auf einem
    kleinen Testformular ausprobiert mit nur 6 Feldern.
    PHP funktioniert im Prinzip auf dem Server, das erste Formular oben
    geht ja ohne Probleme.
    Ich hab den Code so übernommen und dann nur meine Emailadresse eingesetzt. Habe also keine Ahnung was ich falsch mache.
    Es gibt scheinbar nur das Problem mit der Definition der Variable.

+ Antworten

Ähnliche Themen

  1. Fehlermeldung bei Formular mit PHP
    Von Bany64 im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 18.06.2004, 18:58
  2. formular absenden klappt nicht
    Von halla im Forum HTML & CSS
    Antworten: 1
    Letzter Beitrag: 25.11.2003, 11:41
  3. kontaktformular nicht in php oder cgi/pl
    Von hotdog im Forum Webdesign allgemein
    Antworten: 3
    Letzter Beitrag: 23.11.2003, 20:10
  4. Farbige Formular Felder
    Von fanta4all im Forum HTML & CSS
    Antworten: 5
    Letzter Beitrag: 12.09.2002, 08:59

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51