Fehler bei CGI Ausgabe

dark_ghost

Erfahrenes Mitglied
Hallo zusammen,

wieder hab ich eine Frage an euch.

Vorgeschichte in Stichpunkten:
# Übergabe der Parameter von einem HTML-Formular an ein Perlscript
# Auslesen und Auswerten der Parameter
# Sind die Angaben korrekt soll jetz nur zum testen eine Ausgabe erfolgen


Problem:
Das Script springt zwar in die richtige verzweigung und gibt auch das richtige aus, nur die Form der Ausgabe stimmt nicht:
Code:
Die XML-Seite kann nicht angezeigt werden 


Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später. An diese Stelle wurde kein Endtag erwartet. Fehler beim Bearbeiten der Ressource 'http://lnxmt01:12345/cgi-bin/searchfor.pl...

</body></html><b>konstellation2 - fall1: mit rechnungsnummer</b>1Content-Type: text/html; charset=IS...

Ich denke ich habe irgendetwas vergessen zu notieren, komm aber nicht drauf.

Code der CGI-Ausgabe:
Code:
print $cgi->header,
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation2 - fall1: mit rechnungsnummer'),
				print $cgi->end_html();

Im head meines Scriptes habe ich folgendes notiert:
Code:
use strict;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI;
my $cgi = new CGI;
print $cgi->header();
warningsToBrowser(1);


Ich hoffe ihr könnt mir auch diesmal wieder helfen oder auf die Sprünge helfen, Danke
Andreas
 
Code:
#!/usr/bin/perl -w
###############################################################################
### INFORMATION ###
###############################################################################
#Programmname:	 
#Version:		 0.1
#Erstellungsdatum: 2006-01-10
#Änderungsdatum:	2006-
#Autor:			 AB
#
#
#Zweck:			 Wertet die vom HTML-Formular empfangenen Parameter aus und
#				 zeigt Suchergebnisse entsprechend der gemachten Suchanfragen.
#				 
#
#
#Subroutinen:	 
###############################################################################
### MODULE ###
###############################################################################
use strict;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI;
my $cgi = new CGI;
print $cgi->header();
warningsToBrowser(1);
###############################################################################
### VARIABLEN ###
############################################################################### 
#Speichern der, vom Formular (rechnungsarchiv.html), übergebenen Parameter
#
#Pflichtparameter - diese Angaben müssen gemacht werden !!
#-> Datum_Von, Rechnung od. Lieferschein, RechnNR_Von
my $datum_von = $cgi->param('Datum_Von');
my $datum_bis = $cgi->param('Datum_Bis');
my $rechnung = $cgi->param('Rechnung');
my $lieferschein = $cgi->param('Lieferschein');
my $rechnr_von = $cgi->param('RechNR_Von');
my $rechnr_bis = $cgi->param('RechNR_Bis');
###############################################################################
### HAUPTPROGRAMM ###
###############################################################################
#Prüfung: Sind die Pflichtfelder korrekt gefüllt
if ( ($datum_von =~ /\d{2}\.\d{2}\.\d{4}/) && ($rechnr_von =~ /\d+/) )
{
	#Pflichtfelder wurden korrekt ausgefüllt
	#print $cgi->header(),
	#$cgi->start_html('|-Verarbeitung-|'),
	#	print $cgi->b("Alle Pflichtfelder gefuellt<br>"),
	#	print $cgi->end_html();
 
	#Sind die Pflichtfelder (korrekt) gefüllt -> sprung in die Subroutine &Werteprüfer
	&Wertepruefer($datum_von,$datum_bis,$rechnung,$lieferschein,$rechnr_von,$rechnr_bis);
}
else
{
	#Pflichtfelder wurden nicht bzw. nicht korrekt ausgefüllt
	print $cgi->header(),
	$cgi->start_html('|-Fehler-|'),
		print $cgi->b("Sie haben nicht alle Pflichtfelder gefuellt<br>" ),
		#weiterleitung zum rechnungsarchiv um das formular erneut auszufüllen
		print $cgi->end_html();
}
 
exit 0;
###############################################################################
### SUBROUTINEN ###
###############################################################################
###############################################################################
#SubName:		 Wertepruefer		 
#Autor:			 AB
#Datum:			 2006-01-23
#Änderungsdatum:		
#
#Zweck:			 Überprüft die Werte der Parameter und erstellt eine 'Liste'
#				 nach was gesucht werden soll
#
#Übergabeparameter: $datum_von	 -> Ab diesem Datums soll gesucht werden oder genau dieses Datum wird gesucht 
#				 $datum_bis	 -> Bis zu diesem Datum soll gesucht werden
#				 $rechnung	 -> Wird nach einer Rechnung gesucht steht diese Variable auf 'on'
#				 $lieferschein -> Wird nach einer Lieferschein gesucht steht diese Variable auf 'on'
#				 $rechnr_von	 -> Ab dieser Rechnungs,- Lieferscheinnummer suchen oder ganau nach dieser nummer suchen
#				 $rechnr_bis	 -> Bis zu dieser Rechnungs,- Lieferscheinnummer suchen
###############################################################################
sub Wertepruefer
{
	#Übergabeparameter vom Hauptprogramm empfangen und speichern
	my ($datum_von,$datum_bis,$rechnung,$lieferschein,$rechnr_von,$rechnr_bis) = @_;
 
 
	#
	#Es gibt zwei Hauptkonstellationen mit jeweils 3 Fällen 
	#
 
	#Konstellation 1: Zeitraum, Nummernkreis
	# -> $datum_von, $datum_bis, $rechnr_von, $rechnr_bis müssen (korrekt) gefüllt sein
	if ( ($datum_von =~ /\d{2}\.\d{2}\.\d{4}/) && ($datum_bis =~ /\d{2}\.\d{2}\.\d{4}/) && ($rechnr_von =~ /\d+/) && ($rechnr_bis =~ /\d+/) )
	{
		#Daten aufbreiten und dann das file einlesen und vergleichen, übereinstimmende ergebnisse in einem temp verz. ablegen
 
		#Fall 1:	 Rechnung und Lieferschein
		if ( ($rechnung eq 'on') && ($lieferschein eq 'on') )
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation1 - fall1: mit rechnung und lieferschein'),
				print $cgi->end_html();
		}
 
 
		#Fall 2:	Rechnungsnummer
		elsif ($rechnung eq 'on')
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation1 - fall2: mit rechnungsnummer'),
				print $cgi->end_html();
		} 
 
		#Fall 3:	 Lieferschein
		else
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation1 - fall3: mit lieferschein'),
				print $cgi->end_html();
		}
	}
 
 
	#Konstellation 2: Bestimmtes Datum, Bestimmte Nummer
	# -> Nur $datum_von und $rechnr_von dürfen gefüllt sein
	elsif ( ($datum_von =~ /\d{2}\.\d{2}\.\d{4}/) && ($rechnr_von =~ /\d+/) )
	{
		#Daten aufbreiten und dann das file einlesen und vergleichen, übereinstimmende ergebnisse in einem temp verz. ablegen
 
		#Fall 1:	 Rechnung und Lieferschein
		if ( ($rechnung eq 'on') && ($lieferschein eq 'on') )
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation2 - fall1: mit rechnung und lieferschein'),
				print $cgi->end_html();
		}
 
 
		#Fall 2:	Rechnungsnummer
		elsif ($rechnung eq 'on')
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation2 - fall2: mit rechnungsnummer'),
				print $cgi->end_html();
		} 
 
		#Fall 3:	 Lieferschein
		else
		{
			print $cgi->header(),
			$cgi->start_html('|-Verarbeitung-|'),
				print $cgi->b('konstellation2 - fall3: mit lieferschein'),
				print $cgi->end_html();
		}
	}
 
 
 
 
}

Hat sich leider etwas verzerrt, hoffe aber dass es dennoch lesbar ist.

Danke
Andreas
 
Guten morgen renee,

vielen Dank für deine Hilfe, habe bei allen Ausgaben die Anweisung print $cgi->header() rausgeschmissen.
Funktioniert einwandfrei !!


Vielen Dank
Andreas
 
Zurück