Cgi Ausgabe nach Auflösung
Bompel
- cgi
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??
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
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
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
Hi,
danke erstmal für die Antworten
Ich möchte eine frame seite erstellen, deren Maße der Auflösung angepasst sind
Gruß Bompel
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
Danke für dein interesse,
ich möchte die angaben in pixeln machen
Gruß Bompel
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
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
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
Danke schön!!
Das war genau das, was ich benötige!!
Gruß Bompel
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