Bompel: Cgi Ausgabe nach Auflösung

Hi,

ich hab n problem...

Ich hab eine seite mit 2 hidden-fields, in dem einen ist der x-wert der bildschirmauflösung, in dem andern der y-wert (alles mit js ausgelesen)

Jetzt möchte ich mit einem perl script (es muss perl sein) die inhalte der fields auslesen und dann ausgeben.
Wie geht das??

  1. Halihallo

    Ich hab eine seite mit 2 hidden-fields, in dem einen ist der x-wert der bildschirmauflösung, in dem andern der y-wert (alles mit js ausgelesen)

    Jetzt möchte ich mit einem perl script (es muss perl sein) die inhalte der fields auslesen und dann ausgeben.

    Nein, es muss nicht Perl sein, kann sogar mit JS gemacht werden. Hier das Perl Beispiel:

    #!/usr/bin/perl

    use strict;
    use CGI;

    my $cgi = new CGI;

    print "Content-Type: text/html\n\n";
    print join('<br />', $cgi->param( 'x' ), $cgi->param( 'y' ) );

    Was willst und wie willst du die Daten denn ausgeben???

    Viele Grüsse

    Philipp

    1. Halihallo nochmals

      Nein, es muss nicht Perl sein, kann sogar mit JS gemacht werden. Hier das Perl Beispiel:

      [...]

      mit JS könnte es so aussehen:

      <script>
         function showContent (fiel_name) {
            var value = document.forms[0].elements[field_name].value;
            alert( value );
         }
         showContent('x');
         showContent('y');
      </script>

      Viele Grüsse

      Philipp

    2. Halihallo again

      Jetzt möchte ich mit einem perl script (es muss perl sein) die inhalte der fields auslesen und dann ausgeben.

      Ich kann vielleicht Lösungen vorschlagen, aber lesen scheint nicht meine Stärke zu sein (hab das 'es muss perl sein' doch voll als Frage interpretiert; der Grund dieser Interpretation ist mir jedoch selber schleierhaft) :-)

      Aber um doch noch was wissenswertes loszuwerden:

      Wenn du HTML-Formulare mit submit sendest, dann werden diese Daten über den HTTP-Request mitgesendet und vom Webserver durch die CGI-Schnittstelle dem Programm mitgeteilt. Falls das Formular im "GET"-Modus übertragen wurde, dann wird die Umgebungsvariable $ENV{QUERY_STRING} mit den Daten gefüllt, wenns ein "POST"-Request war, dann können die Daten über die Standardeingabe (STDIN) gespeist werden. Willst du dich nicht um diese CGI-Spezifizierungen kümmern, kannst du das genannte CGI-Modul verwenden.
      Die einzelnen Formularfelder lassen sich dann ganz einfach über params auslesen. Wenn du mehrere Felder des gleichen Namens hast, kannst du sie in ein Array einlesen lassen:

      my @names = $cgi->params( 'Namen' );

      Viele Grüsse

      Philipp

      1. Hi,

        danke erstmal für die Antworten

        Ich möchte eine frame seite erstellen, deren Maße der Auflösung angepasst sind

        Gruß Bompel

        1. Halihallo Bompel

          Ich möchte eine frame seite erstellen, deren Maße der Auflösung angepasst sind

          Fragen hierzu? - Oder kannst das Problem jetzt selber lösen?

          Wenn du die Masse der Fenstergrösse anpassen willst, dann kannst du auch prozentuale Angaben verwenden, oder willst du fixe Grössen von der Fenstergrösse abhängig machen?

          Viele Grüsse

          Philipp

          1. Danke für dein interesse,

            ich möchte die angaben in pixeln machen

            Gruß Bompel

            1. Halihallo Bompel

              Danke für dein interesse,
              ich möchte die angaben in pixeln machen

              Ah, ja, das ist natürlich ein ein sehr guter Grund, Herr Auftraggeber ;-)

              Viele Grüsse

              Philipp

      2. Kannst du mir vielleicht ein script in perl machen, was die daten

        als neue html datei ausgibt (z.B. <html><body><p>x,y</body></html>)

        oder so ähnlich..

        Danke schonmal

        1. Halihallo Bompel

          Kannst du mir vielleicht ein script in perl machen, was die daten

          als neue html datei ausgibt (z.B. <html><body><p>x,y</body></html>)

          #!/usr/bin/perl

          use strict;
          use POSIX;   # wird für floor() gebraucht => abhacken
                       # der Nachkommastellen
          use CGI;

          my $cgi = new CGI;

          print "Content-Type: text/html\n\n";

          my $x = $cgi->param( 'x' );
          my $y = $cgi->param( 'y' );

          my $col1 = floor($x / 5);  # 20% des Bildschirms

          print '<html>';
          print '<frameset cols="'.$col1.',*">';
          print '<frame src="test1.html">';
          print '<frame src="test2.html">';
          print '</frameset>';
          print '</html>';

          so was? - oder...

          #!/usr/bin/perl

          use strict;
          use CGI;

          my $cgi = new CGI;

          print "Content-Type: text/html\n\n";

          my $x = $cgi->param( 'x' );
          my $y = $cgi->param( 'y' );

          print '<html>';
          print '<h1>Your Screensize</h1>';
          print 'x-size: ' . $x . '<br />';
          print 'y-size: ' . $y . '<br />';
          print '</html>';

          Viele Grüsse

          Philipp

          1. Danke schön!!

            Das war genau das, was ich benötige!!

            Gruß Bompel

            1. Halihallo

              Danke schön!!

              Bitte, bitte ;)

              Das war genau das, was ich benötige!!

              Freut mich zu hören; ich schreibe eigentlich höchst ungern am Thema vorbei (und freue mich jedesmal, wenn's eben nicht so war) ;)

              Viele Grüsse

              Philipp