Hilfe für Shell CGI-Skript gesucht

Das Forum für Programmierer und Systemadmins. Von Shell-, Perl- und PHP-Scripts bis zur objektorientierten Programmierung mit C++.

Hilfe für Shell CGI-Skript gesucht

Beitragvon die0kleine0meinung » Sa 14 Mai, 2011 23:15

Guten Abend,

ich versuche seit einigen Stunden folgendes zu verwirklichen:
Für die Fritz!Box gibt es ein WOL Paket, mit welchem man über ein Interface verschiedene Computer auswählen kann, und anschließend per Buttom "WakeUp" den PC per WOL aufwecken kann.

Ich möchte nun in dieses Interface einen weiteren Button einbauen, welcher automatisch die Werte "mac" und "interf" setzt und anschließend ein submit macht

Mein Ansatz war, dies in einem Script zu durchlaufen, welches ich per OnClick aufrufe.... leider passiert hier nichts.

Mein bisheriger Versuch:
Code: Alles auswählen
<script>
function myEvents(macad,interfnam){
document.wake.mac.value=macad;
document.wake.interf.value=interfnam;
submit;
}
</script>

<TD> <input type="button" value="FamServer"
onclick="myEvents('00:27:0E:07:40:26','lan');"></TD>


Ganzes CGI:
Code: Alles auswählen
#!/bin/sh

cgi_width=560
. /usr/lib/libmodcgi.sh

cgi_begin 'Wake on LAN'

cat << EOF
<p>
Bekannte Hosts:
<select onChange="var s = this.options[this.options.selectedIndex].value; document.wake.mac.value = s.substr(0,s.search(/\*/)); document.wake.interf.value = s.substr(s.search(/\*/)+1); return false;">
<option value="*" selected>(w&auml;hlen)</option>
EOF

if [ -r /var/media/ftp/uStor01/Daten/wolHosts ]; then
   egrep -v '^(#|[[:space:]]*$)' /var/media/ftp/uStor01/Daten/wolHosts |
      while read -r ip mac interface host desc; do
         if [ dhcp-host = "$mac" ]; then
            if [ -n "$host" -a -r /var/tmp/multid.leases ]; then
               mac=$(sed "/${host}/!d;s/^lease //;s/ .*//" /var/tmp/multid.leases)
            else
               continue
            fi
         fi
         if [ -n "$mac" -a "$mac" != "*" ]; then
            if [ -n "$interface" -a "$interface" != "*" ]; then
               value="$mac*$interface"
            else
               value="$mac*"
            fi

            echo -n '<option value="'"$value"'">'
            if [ -n "$desc" ]; then
               [ '*' != "$host" ] && echo -n "$host "
               echo -n "$desc"
            elif [ -n "$host" -a "$host" != "*" ]; then
               echo -n "$host"
            else
               echo -n "$mac"
            fi
            echo '</option>'
         fi
      done
fi

cat << EOF
</select>
</p>
<p>MAC und Netzwerk-Schnittstelle f&uuml;r Etherwake angeben oder einen der bekannten Hosts w&auml;hlen.</p>
<form style="padding-top: 10px; padding-bottom: 10px;" name="wake" action="/cgi-bin/wake.cgi" method="post">
<table border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="200">MAC: <input type="text" name="mac" size="17" maxlength="17" value=""></td>
<td width="180">Interface: <select name="interf">
EOF
echo '<option title="" value=""></option>'

for INTERFACE in $(ifconfig | grep ^[a-z] | cut -f1 -d ' '); do
   echo '<option title="'$INTERFACE'" value="'$INTERFACE'">'$INTERFACE'</option>'
done

echo '</select></td>'

foundwol=$(which wol)
if [ -x "$foundwol" ]; then
cat << EOF
<td width="180">Methode:<select name="prog">
<option selected value='ether-wake'>ether-wake</option>
<option value='wol'>wol</option>
</select></td>
EOF
fi
cat << EOF
<td width="100"><input type="submit" value="WakeUp"></td>

<script>
function myEvents(macad,interfnam){
document.wake.mac.value=macad;
document.wake.interf.value=interfnam;
submit;
}
</script>

<TD> <input type="button" value="FamServer"
onclick="myEvents('00:11:22:33:44:55','lan');"></TD>

</tr>
</table>
</form>
EOF

cgi_end


Ich bin mit meinem Latein am Ende, bzw mir fällt auch nicht mehr ein nach was ich suchen muss, um weiter zu kommen,
daher bin ich für Tipps, Denkanstöße oder ev. sogar Lösungen dankbar.

MfG
die0kleine0Meinung
die0kleine0meinung
Neu im Board
Neu im Board
 
Beiträge: 20
Registriert: Mi 10 Feb, 2010 19:05

Re: Hilfe für Shell CGI-Skript gesucht

Beitragvon mo » So 15 Mai, 2011 09:26

Probiers mal in myEvents(macad,interfnam) mit:
document.wake.submit();
statt:
submit;
LINEA7/XPIRIO ADSL 2048/512 FLAT
mo
Board-Mitglied
Board-Mitglied
 
Beiträge: 185
Registriert: Do 06 Jan, 2005 16:45

Re: Hilfe für Shell CGI-Skript gesucht

Beitragvon die0kleine0meinung » So 15 Mai, 2011 18:02

Hallo,

hat so leider nicht funktioniert, habe aber einfach die Auswahl der Hosts auf das nötigste reduziert, das wird nun als Lösung herhalten müssen.

Trotzdem danke.

MfG kleine meinung
die0kleine0meinung
Neu im Board
Neu im Board
 
Beiträge: 20
Registriert: Mi 10 Feb, 2010 19:05


Zurück zu PROGRAMMIER FORUM

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste

cron