Nora: "die" und Fehlermeldung und Javascript?

Ich hab ein Formular erstellt, und wenn ein Feld nicht ausgefüllt wird, soll das Programm beendet werden und eine Fehlermeldung im Browser zu lesen sein. "Die" schreibt doch aber nur in eine Log-Datei, oder? Am coolsten wäre es ja, wenn man die Eingabe auf Inhalt "undef" überprüft und für den Fall einer Nichteingabe einen Javascript-Alert ausgeben könnte. Ist das möglich? Und wenn, wie?

  1. Hallo Nora,

    warum so umständlich?
    Wenn Du ein nicht ausgefülltes Textfeld mit einem JavaScript-Alert melden möchtest, dann mach doch die Überprüfung auch gleich in JavaScript.
    Aber trotz JavaScript-Überprüfung sollte dein Perl-Script nicht alles akzeptieren was vom Browser kommt. Es könnte ja auch JavaScript deaktiviert sein!

    Gruß
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante
    1. Wenn Du ein nicht ausgefülltes Textfeld mit einem JavaScript-Alert melden möchtest, dann mach doch die Überprüfung auch gleich in JavaScript.
      Aber trotz JavaScript-Überprüfung sollte dein Perl-Script nicht alles akzeptieren was vom Browser kommt. Es könnte ja auch JavaScript deaktiviert sein!

      in Javascript bin ich nicht so überdimensional bewandert. Bis jetzt sieht es so aus, daß das Formular seine Daten an ein Perl-Script weitergibt, wo die Eingabe überprüft wird und anschließend ihre Werte an Variablen abgibt. Könnte ich denn erst JavaScript einsetzen(und wie?) und dann ein Perl-Script starten? Und wenn nun JavaScript wirklich deaktiviert ist, was passiert dann?

      Nora

      1. Hallo,

        nu mit Javascript würd ich garnicht erst versuchen zu prüfen oder Alerts auszugeben. Viel zu unzuverlässig.

        Besser ist es die ankommenden Daten mit Deinem Perlscript zu prüfen und per if-else + geeignetem Regex zu entscheiden ob es passt oder nicht.

        Man kann auch Fehlermeldung und Formular konbinieren, Stichwort "Affenformular". Das funktioniert so das beim absenden auf Fehler geprüft wird und imm Fehlerfall das Forrmular erneut angezeigt wird mit den Fehlermeldungen dazu.

        Gruß Helmut

  2. Ich hab ein Formular erstellt, und wenn ein Feld nicht ausgefüllt wird, soll das Programm beendet werden und eine Fehlermeldung im Browser zu lesen sein. "Die" schreibt doch aber nur in eine Log-Datei, oder? Am coolsten wäre es ja, wenn man die Eingabe auf Inhalt "undef" überprüft und für den Fall einer Nichteingabe einen Javascript-Alert ausgeben könnte. Ist das möglich? Und wenn, wie?

    Wieso soll das Programm denn sterben?
    lass es im Fehlerfall doch einfach eine Meldung ausgeben.

    Struppi.

    1. Wieso soll das Programm denn sterben?
      lass es im Fehlerfall doch einfach eine Meldung ausgeben.

      lieber Struppi,

      genau das ist das Problem. Wie gebe ich eine Meldung aus, die im Browser gelesen werden kann? Und das Programm muß doch sterben, wenn keine Eingabe gemacht wird: wenn nach der Fehlermeldung auf dieselbe eingegangen, das heißt etwas eingetragen und abgesendet wird, würde es doch nochmal gestartet werden, oder? Und dann liefe es ja mit sich selbst parallel.

      Nora

      1. lieber Struppi,

        danke - *g*

        genau das ist das Problem. Wie gebe ich eine Meldung aus, die im Browser gelesen werden kann? Und das Programm muß doch sterben, wenn keine Eingabe gemacht wird: wenn nach der Fehlermeldung auf dieselbe eingegangen, das heißt etwas eingetragen und abgesendet wird, würde es doch nochmal gestartet werden, oder? Und dann liefe es ja mit sich selbst parallel.

        Wie du programmierst ein CGI Skript und weißt nicht wie du eine Meldung im Browser bekommst?

        use CGI;
        print CGI::header(), CGI::start_html(), 'Meldung', CGI::end_html();

        Nach wie vor, wieso muss dein Programm sterben?
        Wie wäre es wenn du einfach die Funktion in ein sub packst und bei fehlenden Eingaben diese verläßt?

        sub checkEingabe()
        {
        if(!CGI::param('name')) return 'kein Name';
        return 'ok';
        }

        print checkEingabe();

        o.ä.

        Struppi.

  3. Vielen Dank, ihr beiden!