shadow: + Perl Radio Button abfragen

Beitrag lesen

Hallo shadow

bitte noch mal von vorne, mit irgendeinem Beispiel. Eine testseite oder irgendeinem codeschnispel, mir ist nicht ansatzweise klar wovon du redest.

#!/usr/bin/perl

#Fehlerausgabe an den Browser use CGI qw/:standard/; use CGI::Carp qw(fatalsToBrowser);

---> Das ist der übergebene Wert von der Seite zuvor:

$ausgabe=$ENV{'QUERY_STRING'};

@werte = split (/&/, $ausgabe); foreach $werte (@werte) {    ($varmenu, $varpool) = split (/=/, $werte[0]); }

----> Dann lass ich mir den Pool anzeigen, den der Bunutzer ausgewählt hat

htmltag ();

$d=0; for ($d; $d<10; $d++) { $_DATEI="/usr/home/ronny/www/cgi-bin/system/$dir1[$d]"; }

print "$dir1[$d]<br>";

Der Wert nach dem gesucht werden soll

$eingabe = $varpool;

close(DATEI);

open(DATEI, "<$_DATEI") || die "Fehler beim öffnen der Datei: $DATEI - $!.\n"; while(<DATEI>) {  push(@fc,split(/\s*,\s*/,  $, 1)); }

for ($f; $f<= @farb-1; $f++) {     # farb.txt werte werden aufgeteilt und in ein Array gespeichert  ($name,$erkennung,$wert)=split(/,/, @farb[$f]);  @werte[$f] = $wert; }

$i ermittelt die Anzahl der Zeilen

for ($i; $i<= @fc-1; $i++) {

($pool,$voll,$leer,$recy,$nutz,$gesamt)=split(/,/, @fc[$i]);

if ( $varpool eq $pool ) {

$pro40 = $gesamt*@werte[1]/100;   $pro20 = $gesamt*@werte[2]/100;

if ( $nutz and $gesamt < 1 ) {    print "<tr><td align=left bgcolor=#000000><font color=#FFFFFF>$pool</font></td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro20 ){    print "<tr><td align=left bgcolor=#ff0000>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff0000>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro40 ){    print "<tr><td align=left bgcolor=#ffcc00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff6600>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz > $pro40 ) {    print "<tr><td align=left bgcolor=#99ff00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";

}

}

}

----> hier erstelle ich die Radio Buttons

print "<p><h4>History erstellen mit den letzten: </h4></p>"; print "<p><h4>";

print "<input type=radio name=methode value=h10 onClick='location.reload();'>10 Erstellten Textdateien<br>"; print "<input type=radio name=methode value=h30 onClick='location.reload();'>30 Erstellten Textdateien<br>";

print CGI::radio_group(-name=>'history',                           -values=>['10 Textdateien anzeigen','30 Textdateien anzeigen'],                           -linebreak=>'true',                           -labels=>%labels);

##############################################################################################################

print "<br><br>Ausgabe des Pools<br><br>";

##############################################################################################################

----> dann mach ich den ganzen spass nochmal nur diesmal mit einer Schleife für die jeweiligen Radio Buttons. In den fall 10 mal und weiter unten nochmal für 30. Und dann würde die History fertig sein.

if ($value=h30) {

htmltag ();    print "<br><br>"; $d=0; for ($d; $d<10; $d++) { $_DATEI="/usr/home/ronny/www/cgi-bin/system/$dir1[$d]";

$eingabe = $varpool;

close(DATEI);

open(DATEI, "<$_DATEI") || die "Fehler beim öffnen der Datei: $DATEI - $!.\n"; while(<DATEI>) {  push(@fc,split(/\s*,\s*/,  $, 1)); }

for ($f; $f<= @farb-1; $f++) {  ($name,$erkennung,$wert)=split(/,/, @farb[$f]);  @werte[$f] = $wert; }

for ($i; $i<= @fc-1; $i++) {

($pool,$voll,$leer,$recy,$nutz,$gesamt)=split(/,/, @fc[$i]);

if ( $varpool eq $pool ) {

$pro40 = $gesamt*@werte[1]/100;   $pro20 = $gesamt*@werte[2]/100;

if ( $nutz and $gesamt < 1 ) {    print "<tr><td align=left bgcolor=#000000><font color=#FFFFFF>$pool</font></td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro20 ){    print "<tr><td align=left bgcolor=#ff0000>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff0000>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro40 ){    print "<tr><td align=left bgcolor=#ffcc00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff6600>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz > $pro40 ) {    print "<tr><td align=left bgcolor=#99ff00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

}

}}}

#######################################################################################################################

elsif  ($value=h30) {  htmltag ();    print "<br><br>"; $d=0; for ($d; $d<30; $d++) { $_DATEI="/usr/home/ronny/www/cgi-bin/system/$dir1[$d]";

$eingabe = $varpool;

close(DATEI);

open(DATEI, "<$_DATEI") || die "Fehler beim öffnen der Datei: $DATEI - $!.\n"; while(<DATEI>) {  push(@fc,split(/\s*,\s*/,  $, 1)); }

for ($f; $f<= @farb-1; $f++) {  ($name,$erkennung,$wert)=split(/,/, @farb[$f]);  @werte[$f] = $wert; }

for ($i; $i<= @fc-1; $i++) {

($pool,$voll,$leer,$recy,$nutz,$gesamt)=split(/,/, @fc[$i]);

if ( $varpool eq $pool ) {

$pro40 = $gesamt*@werte[1]/100;   $pro20 = $gesamt*@werte[2]/100;

if ( $nutz and $gesamt < 1 ) {    print "<tr><td align=left bgcolor=#000000><font color=#FFFFFF>$pool</font></td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro20 ){    print "<tr><td align=left bgcolor=#ff0000>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff0000>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz <= $pro40 ){    print "<tr><td align=left bgcolor=#ffcc00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC><font color=#ff6600>$nutz</font></td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

elsif ( $nutz > $pro40 ) {    print "<tr><td align=left bgcolor=#99ff00>$pool</td>";    print "<td align=right bgcolor=#FFFFCC>$voll</td>";    print "<td align=right bgcolor=#FFFFCC>$leer</td>";    print "<td align=right bgcolor=#FFFFCC>$recy</td>";    print "<td align=right bgcolor=#FFFFCC>$nutz</td>";    print "<td align=right bgcolor=#FFFFCC>$gesamt</td></tr>";  }

}

}}}

print "</h4></p>";

---->Hier erstelle ich die Spalten Überschriften als sub routine

sub htmltag { #################################################

Ausgabe der Spalten Köpfe in HTML-Tag

################################################# print <<"Page_Done";

<HTML> <HEAD><TITLE>Bandpoolabfrage</TITLE></HEAD> <META CONTENT="300;HREF=http://131.0.3.52/ronny/www/cgi-bin/system/StartFormular.cgi"> <BODY bgcolor="c0c0c0"> <table border=0 cellspacing=2 frame=void rules=rows>     <tr>  <th width=170 bgcolor=#000000><FONT COLOR=#FFFFFF>Pool Name</FONT></th>  <th width=140 bgcolor=#000000><FONT COLOR=#FFFFFF>Voll</FONT></th>  <th width=140 bgcolor=#000000><FONT COLOR=#FFFFFF>Leer</FONT></th>  <th width=140 bgcolor=#000000><FONT COLOR=#FFFFFF>Recycelt</FONT></th>  <th width=140 bgcolor=#000000><FONT COLOR=#FFFFFF>Nutzbar</FONT></th>  <th width=140 bgcolor=#000000><FONT COLOR=#FFFFFF>Gesamt</FONT></th>     </tr> </BODY> </HTML>

Page_Done #################################################

Schließen des HTML-Tag

################################################# }

---> und damit lese ich das Verzechniss aus um die Textdateien die ich erstelle anzuzeigen

sub datei { #################################################

Verzeichniss Auslesen nach txt Dateien

#################################################

$dir = '/usr/home/ronny/www/cgi-bin/system/';

@dir = (); opendir DIR , $dir || die "Fehler: $!"; for (readdir(DIR)) { next unless /.+.txt/i; push @dir ,$_ } closedir DIR;

@dir1=reverse(@dir); #################################################

Verzeichniss Auslesen nach txt Dateien

################################################# }

Nun frag ich mich ob es möglich ist die ganze Sache auf einer Seite zu machen oder muss ich zwangsweise auf eine neue um dort die ergebnisse anzeigen zu lassen. Aber es müsste doch möglich sein die ganze Ausgabe auf der selben seite zu machen oder? Und mit der If-Anweisung bekomm ich irgendwie nicht richtig hin!

cu shadow