Michi: cgi Formular + pl, Komische sache !

Hallo und schönen guten Vorrweihnachtsabend :-) !

Habe da eine kleine Frage an heuch... Habe ein Formular mir mehreren Feldern... aber irgendwie mag cgi das nicht so recht...

Ausschnitt :
@recipient='webmaster@michael-sirl.de';
$myaddress=$FORM{'email'};
$realname=$FORM{'organisation'};
$realname1=$FORM{'kunde'};
$realname2=$FORM{'art'};
$realname3=$FORM{'name'};
$realname4=$FORM{'telefon'};
$realname5=$FROM{'konau'};
$realname6=$FORM{'beteff'};
$realname7=$FORM{'betreffanders'};
$message=$FORM{'kommentar'};

Wie bringe ich diese Felder alle unter... ?  Gibt es dazu bessere oder andere $-Feldnamen ?

Liebe Grüße

Michi

  1. use Mosche;

    Habe da eine kleine Frage an heuch... Habe ein Formular mir mehreren Feldern... aber irgendwie mag cgi das nicht so recht...

    Keine sehr genaue Fehlerbeschreibung.

    Ausschnitt :
    @recipient='webmaster@michael-sirl.de';

    Links: Array
    Rechts: Skalar
    suboptimal, mach aus dem @ am Anfang ein $

    $myaddress=$FORM{'email'};
    $realname=$FORM{'organisation'};
    [...]

    Wie bringe ich diese Felder alle unter... ?  Gibt es dazu bessere oder andere $-Feldnamen ?

    Wie wäre es mit einem Hash?
    use Tschoe qw(Matti);

    --

      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    1. Wie bringe ich diese Felder alle unter... ?  Gibt es dazu bessere oder andere $-Feldnamen ?
      Wie wäre es mit einem Hash?
      use Tschoe qw(Matti);

      Hi!

      Einem Hash? Das höre ich heute zum ersten mal! Was ist das ?
      Habe so eine ähnlisches Script auch bei einer anderen Web-Seite... Ich bin der meinung, dß es an den realnamen liegt... habe ja von _ bis 7 einfach durchnummeriert... von _ bis 2 geht es, aber sobald es mehr sind... beist es aus...

      Gruß

      Michi

      1. hallo ;-)

        Einem Hash? Das höre ich heute zum ersten mal!

        oh, dann hast du noch nicht in SELFHTML hineingeschaut. Hol das mal nach und fang vielleicht bei http://selfhtml.teamone.de/cgiperl/sprache/hashes.htm an

        Christoph S.

  2. hi Michi,
    dir auch einen erfreulichen Vorweihnachtsabend, aber ...

    @recipient='webmaster@michael-sirl.de';
    $myaddress=$FORM{'email'};
    $realname=$FORM{'organisation'};
    $realname1=$FORM{'kunde'};
    $realname2=$FORM{'art'};
    $realname3=$FORM{'name'};
    $realname4=$FORM{'telefon'};
    $realname5=$FROM{'konau'};
    $realname6=$FORM{'beteff'};
    $realname7=$FORM{'betreffanders'};
    $message=$FORM{'kommentar'};
    Wie bringe ich diese Felder alle unter... ?

    gehts bitte etwas präziser mit der Fragestellung? Bisher ist nur sichtbar, daß du eine Reihe von Formularfeldern irgendwie mit Hilfe eines Arrays auslesen möchtest. Das kann man machen, wenn auch vielleicht nicht unbedingt "so". Aber wohin soll das ausgelesen werden, sollen die Informationen weiterbearbeitet werden, gespeichert, geschrieben, verworfen ... Du sagst nur, du möchtest sie "unterbringen". Aber wo möchtest du das? Sollen sie auf dem Server gespeichert oder umgehend an den Client zurückgeliefert werden? Das ist beides durchaus möglich  -  und noch weit mehr. Versuch bitte, deine Fragestellung zu präzisieren, wenns geht. Und es ist nicht ganz unwichtig, welche Sprache du verwendest. Anzunehmen ist, daß du PERL meinst, aber sicher bin ich mir da nicht.

    Gibt es dazu bessere oder andere $-Feldnamen ?

    "andere" gibt es nach Belieben, ob sie dann auch "besser" sind, muß man probieren. Zumindest sind deine Feldnamen durchaus möglich. Sie müssen nur auch im entsprechenden (HTML-)Formular vorkommen, das ist alles

    Grüße zurück aus Berlin

    Christoph S.

    1. $realname=$FORM{'organisation'};

      Hi,
      also ich habe folgendes vor... Diese Daten sollen ausgelesen werden und danach per sendmail versendet werden... an meine Webmasteradresse.
      Nach dem Auslesen, sollten diese Daten mehr oder weniger innerhalb der Mail formatiert werdne und versenden werden.
      Formatiert... meine ich damit in einer bestimmten reihenfolge :-)
      Die Sprache ist Perl bzw. als CGI-Script deklariert (sendmail.cgi)
      .
      Es wäre mir natürlich am liebsten diese Daten in einer... am liebsten in einer Access (Microsoft) zu speichern, aber das habe ich bisher inmmer nur versucht und habe immer "versagt". ...darum sende ich lieber per Mail an mich selbst... tut ja auch seinen zweck.
      Das mit der Datenbank... wäre mir schn wie gesagt am liebsten... aber habe ja nichtmal einen ansatz wie ich dann das script und die dazugehörigen Einstellungen machen muß. In der Hinsicht leider Anfänger!
      Ist das zurückgeben an den Browser sogemeint..., daß ich diese Daten z.B. in einem Feedbackbestätigungsformular dann auch nach dem Mail versenden noch möglich ist... dachte immer, wenn es ausgelesen ist und versendet ist... ist eine erneute Ausgabe an Browser nicht möglich!??

      Gruß

      Michi

      1. hallo Michi,

        Es ist nicht ganz leicht, zu begreifen, was du möchtest.

        also ich habe folgendes vor... Diese Daten sollen ausgelesen werden und danach per sendmail versendet werden... an meine Webmasteradresse.

        Das heißt, du hast einen ISP, der dir eigene CGI-Scripts (PERL) erlaubt und auf seinem Server auch sendmail installiert sowie dir mitgeteilt hat, wie du an _sein_ sendmail-Prgramm herankommst, richtig?

        Nach dem Auslesen, sollten diese Daten mehr oder weniger innerhalb der Mail formatiert werdne und versenden werden.

        Das ist die verkehrte Reihenfolge. Die "Daten" sollen empfangen und an einen formatierten Ausgabestring weitergereicht werden, der dann per sendmail auf die Reise geht, richtig?

        Formatiert... meine ich damit in einer bestimmten reihenfolge :-)

        Die "Reihenfolge legst du mit deinem Script fest.

        Die Sprache ist Perl bzw. als CGI-Script deklariert (sendmail.cgi)

        ok, die Sprache ist also PERL. PERL hat mit CGI nur insofern zu tun, als diese Schnittstellendefinition eben auch für die Annahme und Weiterleitung von "Daten", die ihr von PERL übergeben werden, entsprechende Routinen vorsieht. Ob dein PERL-Script, dessen Ausgabe über CGI weitergeleitet werden soll, nun auch *.cgi heißt oder meinshalb *.hanswurscht ist zweitrangig. Die nachfolgenden Routinen und "Programme" (beispielsweise ein Webserver wie Apache) müssen damit umgehen können und entsprechend konfiguriert sein. Es ist durchaus denkbar, daß ein Apache gar keine *.cgi-Dateien erkennen kann, stattdessen aber mit *.pl-Dateien sehr wohl etwas anzufangen weiß, obwohl der geschriebene Inhalt exakt derselbe ist.

        Es wäre mir natürlich am liebsten diese Daten in einer... am liebsten in einer Access (Microsoft) zu speichern,

        hm. Wahrscheinlich meinst du, daß du deine vom Server (deinem ISP) entgegengenommenen Daten in einer Datenbank speichern möchtest. Das ist problemlos möglich, allerdings ist der Wunsch nach "Microsoft Access" dafür doch eher "exotisch", auch wenn das wahrschinlich geht  -  ich habe allerdings auf die Schnelle in meiner Doku nicht gefunden, wie. Viel gebräuchlicher dürfte es sein, als Datenbankformat eines der "gängigen" Datenbankformate zu benutzen und beispielsweise mit mySQL zu arbeiten.

        ...darum sende ich lieber per Mail an mich selbst... tut ja auch seinen zweck.

        Wer soll jetzt was senden: dein ISP was an dich, oder du an "wen auch immer"? Der Server deines ISP hat offenbar die benötigten Daten, und soll sie dir jetzt per mail schicken. Das geht wie oben angedeutet.

        Das mit der Datenbank... wäre mir schn wie gesagt am liebsten... aber habe ja nichtmal einen ansatz wie ich dann das script und die dazugehörigen Einstellungen machen muß. In der Hinsicht leider Anfänger!

        Dann, bei aller Freundschaft: probier es noch nicht. Mach dich erstmal mit den Grundlagen von PERL vertraut. Und nimms nicht übel: wer heute zum erstenmal von "Hashes" hört, sollte sich wirklich nicht gleich an die Konfiguration eines PERL-Scripts wagen, das Datenbankinformationen einerseits speichern und andrerseits per mail weiterschicken soll. Versuch erstmal, deine "Daten"  -  also die Ausleseergebnisse aus einer HTML-Datei - irgendwo auf dem Server zu speichern. Wenn du das geschafft hast, ist dann erst der nächste Schritt, zu überlegen, wie das mit einer Datenbankanbindung optimiert werden könnte.

        Ist das zurückgeben an den Browser sogemeint..., daß ich diese Daten z.B. in einem Feedbackbestätigungsformular dann auch nach dem Mail versenden noch möglich ist...

        <seufz>deutsches Sprach, schweres Sprach ...</seufz>
        Wie ist das jetzt zu verstehen?
        Der Besucher deiner Webseite mit dem Formular soll also eine Bestätigung erhalten: "Sie haben eben an ... folgendes geschickt ..."  -  und gleichzeitig soll bei dir das mail-Programm zu piepsen anfangen und dir sagen: "hallo, da hat wer was geschrieben"? Selbstverständlich ist so etwas möglich. Dazu definierst du ganz einfach in deinem PERL-Script mehrere Unterprogramme, fertig.

        dachte immer, wenn es ausgelesen ist und versendet ist... ist eine erneute Ausgabe an Browser nicht möglich!??

        an wessen Browser denn? Und "ausgelesen" heißt ja nicht, daß die Daten verschwunden sind. Nein, sie stehen weiterhin zur Verfügung, und können beinahe so oft wie gewünscht nochmal und nochmal und nochmal weiterverarbeitet werden. Das hängt einfach von der Gültigkeit dieser Daten ab, also davon, wie lange die "Hashes" vorhanden sind und den entsprechenden Inhalt haben.

        Christoph S.

        1. Hallo Christoph S.,

          möchte mich vorab für deine Antwort bedanken, Sie hat mir viel zum denken aufgegeben.
          Ich werde da jetzt mal darüber nachdeken und morgen darauf antworten.
          Vielleicht kannst du mir -und wer weis auch anderen einen Tipp dann geben wo ich für meine Anliegen nachlesen kann oder vielleicht kannst du mir dann einen tipp geben...
          Aber ich versuche jetzt erstmal nachzudenken...

          Nochmal danke !!!

          Michi