Pflicht (Text)feld

  • Hallo liebe User!

    Hab schon den ganzen gestrigen Tag gegoogelt, zwar genug Codeschnipsel gefunden, aber irgendwie will das bei mir nicht funktionieren.
    Hab ein (mMn relativ simples) Formular und hätte einfach gern, dass gewissen Textfelder (Bandname zB) als Pflichtfelder definiert werden.
    Könnt ihr mir sagen was und vor allem wo ich hier in meiner PHP Datei den Code platzieren muss?
    Irgendwie will das bei mir nicht funktionieren.

    So sind meine 2 Dateien aufgebaut.

    formular.html

    HTML
    <p>&nbsp;</p>
      <table width="100%" border="0">
        <tr>
          <td width="33%">Bandname: (*)</td>
          <td width="4%">&nbsp;</td>
          <td width="63%"><label>
            <input name="tf_bandname" type="text" id="tf_bandname">

    sent.php

  • Ein Beispiel (ungetestet) :

    HTML
    <html>
    <body>
    <form action="check.php" method="POST">
      Name: <input type="text" name="name"><br>
      Vorname: <input type="text" name="vorname"><br>
      <input type="submit" name="submit" value="Check">
    </form>
    </body>
    </html>
  • hm, danke für deinen Versuch, da haut er mir allerdings für diese Zeile Fehlermeldung raus.

    PHP
    echo implode (" und ", $errors) . " nicht eingegeben!";
  • da haut er mir allerdings für diese Zeile Fehlermeldung raus.


    Und die Fehlermeldung ist so geheim, dass du sie uns nicht verräts?

  • Code
    [COLOR=#000000][COLOR=#006600]echo [/COLOR][COLOR=#0000cc]$tf_bandname[/COLOR][COLOR=#006600];
    
    echo [/COLOR][COLOR=#cc0000]"<br>"[/COLOR][COLOR=#006600];
    if(!isset([/COLOR][COLOR=#0000cc]$_POST[/COLOR][COLOR=#006600][[/COLOR][COLOR=#cc0000]'tf_bandname'[/COLOR][COLOR=#006600]])){ echo [/COLOR][COLOR=#cc0000]"Name eingeben"[/COLOR][COLOR=#006600];}[/COLOR][/COLOR]

    Hi.
    Das du den Bandnamen ausgibst bevor du prüfst ob er eingegeben wurde, macht für mich keinen Sinn...

    Ansonsten, dein php-code fügst du in die Datei ein, auf die du in deinem Form-tag verweist (der Form-tag ist in deinem Bsp jedoch leider nicht zu sehen).

    Ich würde übrigens alle Aktionen die nach dem ersten IF für die Bandnamenabfrage kommen nur ausführen wenn der Bandname auch wirklich eingegeben wurde. Derzeit wird ja immer eine Email geschickt.

  • genau, das ist mir auch schon aufgefallen, die Reihenfolge scheint irgendwie ja auch nicht richtig zu sein.
    ....
    hm...

    ich poste hier nochmal meine komplette html seite. (wobei ich hier ja php technisch nichts ändern bzw. einfügen kann)
    ...

  • Baue doch erst mal deine registersend.php nach dem von mir gezeigtem Beispiel um. Wenn es damit dann Probleme gibt, meldest du dich noch einmal.

  • wenn ich das ganze so in meine php datei eingebe


    zeigt er mir nach dem Senden, folgendes an:

  • Ein sehr schönes Bsp Bandit.

    aber muss hier:

    Code
    [COLOR=#000000][COLOR=#006600]else
        echo [/COLOR][COLOR=#cc0000]"Keine Daten vorhanden"[/COLOR][COLOR=#006600];[/COLOR][/COLOR]

    nicht eigentlich noch eine Klammer rum?

  • haasi
    Da hat sich ein Fehler eingeschlichen. Ändere

    PHP
    $errors = "Name";

    in

    PHP
    $errors[] = "Name";

    Das gleiche auch bei Vorname.

    thilda
    Nein, muss nicht sein. Bei einer Anweisung kannst du die Klammern bei if/else weglassen.

  • yesss, jetzt funktioniert's, vielen DANK!
    Jetzt hab ich nur mehr das Problem, dass er das Formular natürich trotzdem abschickt, obwohl Daten fehlen. :(
    ...

  • prüf vor dem senden ob in $errors was drinsteht....

    edit: argh.. zu kurz gelesen. prüfst ja schon. gib bei der fehlgeschlagenen prüfung noch ein exit(); ein

  • prüf vor dem senden ob in $errors was drinsteht....

    hm...und wie? :o

    EDIT: Wo muss ich das " exit();" platzieren?
    Damit er mir auch nach wie vor ausgibt, was derjenige (wenn richtig) ausgefüllt hat.
    ?
    puh, da hab ich mir wohl mehr zugetraut als erwartet...:(

    Einmal editiert, zuletzt von haasi (12. Mai 2009 um 11:55)

  • Du brauchst kein exit.

  • mann, oh mann...
    wenn ich das ganze so reinhau, funktioniert das formular zwar an sich, er zeigt mir auch an wenn ein Feld nicht ausgefüllt ist, senden tut ers allerdings trotzdem..:(