Berechnung in Perl
MaschaS
- design/layout
ich übergebe Eingabefelder die innerhalb der index.html als Formular dargestellt werden an ein Perl-Modul weiter, um dort diese EingabeWerte zu berechnen. Das Perl-Modul wird als CGI-Script aufgerufen, die Datei steht auf dem Webserber im cgi-Verzeichnis. Die Berechnungen werden korrekt ausgeführt, auch die Ergebnisausgabe (mit print). Bis hier hin alles ok!
Allerdings erfolgt die Ergebnis-Ausgabe immer in einem separaten Browserfenster und dass versuche ich zu ändern. Soll heissen: das Ergebnis der Berechnung soll auch innerhalb des Formulars, in denen die Eingabefelder eingegeben werden, in ein dafür vorgesehenes Feld ausgegeben werden.
Als Alternative, wenn dies vielleicht mit den Mitteln HTML und PERL nicht möglich ist, dies in ein Popup-Fenster zu stellen, damit könnte ich auch leben.
Weiss hier jemand von euch einen Rat, wäre sehr dankbar für Unterstützung.
Danke und Gruss
Maschas
ich übergebe Eingabefelder die innerhalb der index.html als Formular dargestellt werden an ein Perl-Modul weiter, um dort diese EingabeWerte zu berechnen. Das Perl-Modul wird als CGI-Script aufgerufen,
Sorry diese Aussage macht keinen Sinn.
Eine .pm-Datei wird via use oder require eingebunden, wird aber niemals von Perl als mainscript geparst
die Datei steht auf dem Webserber im cgi-Verzeichnis. Die Berechnungen werden korrekt ausgeführt, auch die Ergebnisausgabe (mit print). Bis hier hin alles ok!
Allerdings erfolgt die Ergebnis-Ausgabe immer in einem separaten Browserfenster und dass versuche ich zu ändern.
Dies passiert, wenn du im HTML ein target Attribut in <form> oder <a> verwendest.
Einfach zu reparieren.
Soll heissen: das Ergebnis der Berechnung soll auch innerhalb des Formulars, in denen die Eingabefelder eingegeben werden, in ein dafür vorgesehenes Feld ausgegeben werden.
Dann gebe mittels Perl das Formular aus und trage die neuen Werte in die Felder ein, indem die die value-Attribute entsprechend belegst.
Als Alternative, wenn dies vielleicht mit den Mitteln HTML und PERL nicht möglich ist, dies in ein Popup-Fenster zu stellen, damit könnte ich auch leben.
Perl hat nichts damit zu tun, wo im Browser die Ausgabe stattfindet.
Offensichtlich ist ein Themewechsel nach HTML angebracht.
Weiss hier jemand von euch einen Rat, wäre sehr dankbar für Unterstützung.
Entferne das falsche target-Attribut.
mfg Beat
Hallo Beat, erst mal danke für deine antwort, allerdings
ich habe gar kein target-Attribut in der html-datei drin??
die Übergabe der Variableninhalte erfolgt durch:
<form action="/cgi-bin/bmi.cgi" method="post" accept-charset="ISO-8859-1">
und die Ausgabe der Variablen durch print innerhalb des cgi,s:
print "Gewicht: $gewicht Kg";
print "<br>"; # zeilenumbruch (Auszug aus meiner cgi)
mfg maschas
ich übergebe Eingabefelder die innerhalb der index.html als Formular dargestellt werden an ein Perl-Modul weiter, um dort diese EingabeWerte zu berechnen. Das Perl-Modul wird als CGI-Script aufgerufen,
Sorry diese Aussage macht keinen Sinn.
Eine .pm-Datei wird via use oder require eingebunden, wird aber niemals von Perl als mainscript geparstdie Datei steht auf dem Webserber im cgi-Verzeichnis. Die Berechnungen werden korrekt ausgeführt, auch die Ergebnisausgabe (mit print). Bis hier hin alles ok!
Allerdings erfolgt die Ergebnis-Ausgabe immer in einem separaten Browserfenster und dass versuche ich zu ändern.Dies passiert, wenn du im HTML ein target Attribut in <form> oder <a> verwendest.
Einfach zu reparieren.Soll heissen: das Ergebnis der Berechnung soll auch innerhalb des Formulars, in denen die Eingabefelder eingegeben werden, in ein dafür vorgesehenes Feld ausgegeben werden.
Dann gebe mittels Perl das Formular aus und trage die neuen Werte in die Felder ein, indem die die value-Attribute entsprechend belegst.
Als Alternative, wenn dies vielleicht mit den Mitteln HTML und PERL nicht möglich ist, dies in ein Popup-Fenster zu stellen, damit könnte ich auch leben.
Perl hat nichts damit zu tun, wo im Browser die Ausgabe stattfindet.
Offensichtlich ist ein Themewechsel nach HTML angebracht.Weiss hier jemand von euch einen Rat, wäre sehr dankbar für Unterstützung.
Entferne das falsche target-Attribut.
mfg Beat
Mahlzeit Maschas,
ich habe gar kein target-Attribut in der html-datei drin??
Aber irgendwer bzw. irgendwas hat Deinem Browser gesagt, dass er die Ausgabe des Formularziels in einem neuen/anderen Fenster/Frame darstellen soll - möglicherweise durch eine entsprechende <http://de.selfhtml.org/html/kopfdaten/basis.htm#zielfenster@title=<base>>-Angabe?
Wie sieht der relevante HTML-Quellcode aus?
und die Ausgabe der Variablen durch print innerhalb des cgi,s:
ausgabe des angegebenen gewichts
print "Gewicht: $gewicht Kg";
print "<br>"; # zeilenumbruch (Auszug aus meiner cgi)
Ich schätze, Beat meinte die Ausgabe der verarbeiteten Daten in einer Art Affenformular.
mfg maschas
ich übergebe Eingabefelder die innerhalb der index.html als Formular dargestellt werden an ein Perl-Modul weiter, um dort diese EingabeWerte zu berechnen. Das Perl-Modul wird als CGI-Script aufgerufen,
TOFU mag hier übrigens niemand so wirklich ...
MfG,
EKKi
Hi EKKi,
hier der html-Code dazu:
ist nur ein kleines Ding, aber für mich mit grosser Wirkung, bin kein Entwickler!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- title>BMI Rechner</title-->
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"> <!--Angabe zur Zeichenkodierung -->
</head>
<body>
<!-- h1>BMI</h1-- >
<form action="/cgi-bin/bmi.cgi" method="post" accept-charset="ISO-8859-1">
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td align="left">Bitte geben Sie hier Ihre Daten ein:</td><tr>
<p> <tr>
</p>
<tr><td align="left">Gewicht in kg:</td>
<td><input name="gewicht" type="text" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="left">Größe in cm:</td>
<td><input name="groesse" type="text" size="20" maxlength="20"></td>
</tr>
<tr>
<!td align="left"></td>
<td><input name="löschen" type="reset" value="Werte zurücksetzen"></td>
<td><input name="berechnen" type="submit" value="BMI berechnen"></td>
</tr>
</table>
</form>
</body>
</html>
Und dazu das perl-modul:
#!/usr/bin/perl -T
use CGI qw(:standard); # CGI.pm einbinden
use strict;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
my $gewicht = param('gewicht');
my $groesse = param('groesse');
my $a;
my $b;
my $bmi;
$a = $groesse / 100;
print "Gewicht: $gewicht Kg";
print "<br>"; # zeilenumbruch
print "Größe: $a m";
print "<br>"; # zeilenumbruch
$b = $a * $a;
$bmi = $gewicht / $b;
print "BMI: $bmi";
print "<br>"; # zeilenumbruch
print "<br>"; # zeilenumbruch
print '<a href="/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-rechner/index.html">zurück</a>';
print "<br>"; # zeilenumbruch
print '<a href="/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-tabellen">BMI-Tabelle</a>';
kannste mal reinschauen, super
MFG
Maschas
Mahlzeit Maschas,
ich habe gar kein target-Attribut in der html-datei drin??
Aber irgendwer bzw. irgendwas hat Deinem Browser gesagt, dass er die Ausgabe des Formularziels in einem neuen/anderen Fenster/Frame darstellen soll - möglicherweise durch eine entsprechende <http://de.selfhtml.org/html/kopfdaten/basis.htm#zielfenster@title=<base>>-Angabe?
Wie sieht der relevante HTML-Quellcode aus?
und die Ausgabe der Variablen durch print innerhalb des cgi,s:
ausgabe des angegebenen gewichts
print "Gewicht: $gewicht Kg";
print "<br>"; # zeilenumbruch (Auszug aus meiner cgi)Ich schätze, Beat meinte die Ausgabe der verarbeiteten Daten in einer Art Affenformular.
mfg maschas
ich übergebe Eingabefelder die innerhalb der index.html als Formular dargestellt werden an ein Perl-Modul weiter, um dort diese EingabeWerte zu berechnen. Das Perl-Modul wird als CGI-Script aufgerufen,
TOFU mag hier übrigens niemand so wirklich ...
MfG,
EKKi
Mahlzeit Maschas,
hier der html-Code dazu:
Also aus dem Code wird nicht ersichtlich, wieso irgendein Browser die Antwort des Formular-verarbeitenden Skripts in einem neuen Fenster/Tab darstellen sollte. Hast Du das vielleicht in Deinem Browsers so konfiguriert?
ist nur ein kleines Ding, aber für mich mit grosser Wirkung, bin kein Entwickler!
Ähm ... wenn Du nicht der Entwickler bist, was genau willst Du dann an dem Verhalten ändern?
Und dazu das perl-modul:
Das an dieser Stelle vollkommen irrelevant ist.
TOFU mag hier übrigens niemand so wirklich ...
Was genau hast Du daran eigentlich nicht verstanden?
MfG,
EKKi
Hi Ekki,
Also aus dem Code wird nicht ersichtlich, wieso irgendein Browser die Antwort des Formular-verarbeitenden Skripts in einem neuen Fenster/Tab darstellen sollte. Hast Du das vielleicht in Deinem Browsers so konfiguriert?
nein
Ähm ... wenn Du nicht der Entwickler bist, was genau willst Du dann an dem Verhalten ändern?
ich hab die Site erstellt, bin aber kein Entwickler (beruflich betrachtet - mehr ein nebenjob)
schau doch mal unter: http://www.4beauty-balance.de/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-rechner/index.html dann wirds wahrscheinlich deutlich, was ich will.
Das an dieser Stelle vollkommen irrelevant ist.
das modul steht im cgi-bin verzeichnis, hab es nur angehängt, ob evtl. da ein fehler ersichtlich ist
TOFU mag hier übrigens niemand so wirklich ...
danke für den hinweis, war mir nicht bekannt.
MfG,
maschas
schau doch mal unter: http://www.4beauty-balance.de/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-rechner/index.html dann wirds wahrscheinlich deutlich, was ich will.
Du willst deine
Fehler korrigieren!
mfg Beat
schau doch mal unter: http://www.4beauty-balance.de/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-rechner/index.html dann wirds wahrscheinlich deutlich, was ich will.
Du willst deine
Fehler korrigieren!
»»» zum testen der website echt gut, danke für den link, meinem ziel bin ich dadurch aber nicht näher gekommen. sei,s drum - ich versuch es jetzt mit php
mfg Maschas
mfg Beat
Mahlzeit maschas,
schau doch mal unter: http://www.4beauty-balance.de/diaetprogramme-gesundes-abnehmen-ernaehrung/gewichtstabellen/bmi-rechner/index.html dann wirds wahrscheinlich deutlich, was ich will.
Die 21 Errors, 1 warning(s) solltest Du dringend beheben. Schau Dir dabei insbesondere die Zeilen 82, 83 und folgende an ... irgendwie stoppelst Du da offenbar ein vollständiges HTML-Dokument (inkl. Dokumenttyp-Deklaration) in ein anderes vollständiges HTML-Dokument (inkl. Dokumenttyp-Deklaration) - das *kann* nichts Vernünftiges geben. Du kannst nicht ernsthaft erwarten, dass alle Browser das Gleiche raten, wenn Du ihnen invaliden Code vorsetzt ...
MfG,
EKKi
@@maschas:
nuqneH
TOFU mag hier übrigens niemand so wirklich ...
danke für den hinweis, war mir nicht bekannt.
Und lass bitte die Zeichen '»» ' vor dem zitierten Text, auf den du dich beziehst. Dein Text sollte sie nicht davor haben. Nur so ist nachvollziehbar, was du zitiert hast und was von dir stammt.
Qapla'