Schrift
[thread]379[/thread]

Button funktionieren nicht!

Leser: 1


<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten
Gast Gast
 2004-12-15 11:18
#3708 #3708
Moin moin,
hmmm kann mir bitte jamnd verraten warum meine buttons nicht mehr funktionieren?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sub such_eintr {
       my ($param)=@_;
       print "Content-type: text/html\n\n";
       print "<HTML>\n";
       print "<HEAD><TITLE>FORMULAR</TITLE>";
       print '<script type="text/javascript">
               <!--
....
...
      print '<form method="POST" action="/cgi-bin/frontl.cgi">';
....
....
       if ($eintragen){
               print '<p><INPUT name="eintragen" TYPE="button" VALUE="Eintragen" onclick="?????">&nbsp';
               }
       print '<input name="neu" type="button" value="Neu" onClick="????">';
       print "</FORM>
               </BODY>
               </HTML>";
}

der "eintragen" button soll einfach nur in tab_einf() springen und der "neu" buton soll auf die index.html (Anfangsseite)springen...\n\n

<!--EDIT|renee|1103102612-->
renee
 2004-12-15 11:25
#3709 #3709
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
mach mal:
Code: (dl )
1
2
3
4
 if ($eintragen){
print '<p><INPUT name="eintragen" TYPE="submit" VALUE="Eintragen">&nbsp';
}
print '<input name="neu" type="submit" value="Neu">';
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Kathrin
 2004-12-15 11:51
#3710 #3710
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
hab ich schon ausprobiert renee ;-)
aber es passiert nicht das was ich will. muss ich bei method und action vieleicht was ändern?
bei "neu" wird nur ein Internal Server error ausgegeben und bei "eintagen" wird frontl.cgi ohne werte aufgerufen, anstelle von tab_einf().
Die such_eintr() und tab_einf() befinden sich ja beide im frontl.cgi unter "httpd/cgi-bin".
Und index.html befindet sich unter "httpd/htdocs"
format_c
 2004-12-15 12:09
#3711 #3711
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
bind mal was ein um Fehlerouputs an den Browser zu schicken:
Code: (dl )
use CGI::Carp qw/fatalsToBrowser/;


Ansonsten poste mal das Script, wenns nicht all zu lang ist.
Desweiteren solltest du sicher gehen, wenn der Host keine Windows-Betriebssystem hat, wovon ich ausgehe, dass du die zeilenenden von UNIX (LF) benutzt. auf Unix wird eine Windows Zeilenumbruch als ^M ausgedrückt (Strg+M)

Dann knallt es beim Shebang bevor das programm überhaupt an perl geht, da der kernel den interpreter /usr/bin/perl^M nicht kennt.
Shebang 1.Zeile:
Code: (dl )
#!/pfad/zu/perl


Ach ja um die Zeilenenden umzuwandeln: [google=%22dos2unix%22]dos2unix[/google].
Gruß Alex\n\n

<!--EDIT|format_c|1103105665-->
Kathrin
 2004-12-15 12:28
#3712 #3712
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
Hi Alex,
Fehleroutputs werden bereits an den Browser geschickt.
Zu dem Shebang, ich glaub nicht dass es damit was zu tun hat, weil es ja auf einer anderen Variante schon lief. Aber da war es halt auf der Indexseite mit "Submit".
bisschen code noch vom frontl.cgi:
Code: (dl )
1
2
3
4
5
6
7
8
sub main {
if ($suchen) {
suchen()
}
elsif ($eintragen) {
such_eintr()
}
}

such_eintr() hab ich ja bereits oben angegeben. Er springt mir dann auch in such _eintr(). und ab da geht gar nichts mehr!\n\n

<!--EDIT|Kathrin|1103106860-->
format_c
 2004-12-15 12:57
#3713 #3713
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wenn die Fehlerouptuts an den Browser geschickt werden, steht dann nicht nur "Internal Server Error"! Es sei denn, es passiert ein Fehleroutput vom Betriebssystem bevor, das script an perl übergeben wird. Siehe oben. Siehst du denn Fehleroutputs von CGI::Carp bei dem 500'er?

Irgendwie verstehe ich nicht so ganz was du willst.
Der HTML-Output wird doch von deinem scirpt frontl.cgi generiert?
UNd es soll zwei Buttons haben.
- Eintragen => Script soll sich selbst mit dem parameter "eintragen=Eintragen" aufrufen und in die subroutinge tab_einf() springen?
- Neu => Der Browser soll direkt auf eine andere HTML-Seite gelenkt werden?

Gruß Alex
Kathrin
 2004-12-15 13:09
#3714 #3714
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
genauer steht folgendes da:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, root@test.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


ja das Html-Formular wird vom cgi-script (such_eintr()) generiert.
-eintragen: beim klick auf eintragen soll er mir mit den werten aus dem generierten Formular in die subroutine tab_einf() springen.
-neu:wie du gesagt hast auf die HTML seite springen
Relais
 2004-12-15 13:17
#3715 #3715
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Kathrin,15.12.2004, 12:09]Internal Server Error[/quote]
Dann teste /cgi-bin/frontl.cgi mal auf der Kommandozeile.
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Kathrin
 2004-12-15 13:22
#3716 #3716
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
hab ich schon, läuft einwandfrei durch
format_c
 2004-12-15 13:59
#3717 #3717
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
hast du es auch mal mit ./frontl.cgi aufgerufen wenn du dich auch gerade in dem Verzeichnis befindest? Also nicht perl frontl.cgi

Gruß Alex
<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten



View all threads created 2004-12-15 11:18.