CSS Datei in von Perl erzeugtes HTML einfügen; Problem: Netscape
Oliver
- cgi
Hallo und guten Abend,
ein Problem schickt sich an, mir den Feierabend zu verderben: Per Perl erzeuge ich eine HTML-Seite, in der auf eine CSS verwiesen wird. IE5 setzt sowohl
<link rel=stylesheet type="text/css" href="styles.css">
als auch
start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'styles.css'})
korrket um. Netscape unter OMNIHTTPD zeigt lediglich eine CGI Fehler an.
Hat jemand schon mal ähnliche Probleme gehabt? Möglicherweise sogar eine Lösung gefunden?
Wäre sehr dankbar für Feedback!
Gruss
Oliver
Hallo,
Zeig mir mal ein Teil des Scriptes, in dem der Fehler passiert
Mfg Thomas
Hier nochmal das ganze Script, vielleicht sieht einer ja mehr als ich...
#!/usr/bin/perl -w
#Importanweisungen
use CGI qw/:standard/;
use Mail::Mailer;
#Parameterübergabe
@bestellte_artikel = param('artikel');
$vorname = param('vorname');
$zuname = param('zuname');
$strasse = param('strasse');
$ort = param('ort');
#HTML-Seiten-Ausgabe
print header,
start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'../styles.css'}), #bei ms möglich, bei netscape nicht!
print h1({-class=>'texthead'}, 'Ihre Bestellung');
print p({-class=>'text'}, "Vielen Dank, $vorname $zuname, für die Bestellung der folgenden Artikel. <br>");
print "<table border = '1'>";
$summe=0.000;
$separator = "\n";
foreach $i (@bestellte_artikel){
@artikel_und_preis = split (/_/, $i);
print "<tr><td class = 'text'>", $artikel_und_preis[0], "</td><td align = 'right'>", $artikel_und_preis[1], "</td></tr>";
@preis_DM = split (/ /, $artikel_und_preis[1]);
$summe = $summe + $preis_DM[0];
$content = join("", "$artikel_und_preis[0] ($artikel_und_preis[1])", $separator, $content );#Bestellungsliste für sendmail aufbauen
}
print "<tr><td> Gesamtbetrag:</td><td align = 'right'>";
print $summe;
if ($summe =~ /./){ #Formatieren der Summe
print "0 DM</td></tr>";
}else{
print ".00 DM</td></tr>";
}
print "</table>";
print p("Wir werden Ihre Einkäufe an folgende Adresse verschicken:");
print p("$vorname $zuname<br>$strasse<br>$ort<br>");
print end_html();
#Infos für Sendmail zusammenstellen
$betreff = "Bestellung von $vorname $zuname";
$opener = "---------------\nFolgende Bestellung ist eingegangen:\n";
$besteller ="---------------\n\n$vorname $zuname\n$strasse\n$ort\n\n---------------\n\n";
if ($summe =~ /./){ #Formatieren der Endsumme für sendmail
$ergaenzung = "0 DM";
}else{
$ergaenzung = ".00 DM";
}
$summe = join("",$summe, $ergaenzung);
$summe = "\n---------------\nGesamtsumme: $summe\n---------------\n";
$content = join($header, $opener, $besteller, $content, $summe);
#sendmail aufrufen; Empfänger beim MVV muß noch eingefügt werden; checken ob sendmail überhaupt vorhanden ist; bei NT eventuell einen Klon installieren!
$ab = 'ShopFormular'; #Gewünschte Absenderbezeichnung eingeben
$em = 'oliver.huber@stud.uni-muenchen.de'; #Gewünschten Empfänger eingeben
mehlen($ab, $em, $betreff, $content);
#test simuliert sendmail-ausgabe
#open(TEST, ">test.txt");
#print TEST $content;
#test ende
#Unterprogramm zum Aufruf von Sendmail (verlangt package MailTools!)
sub mehlen{
my $absender = $_[0]; #@ quoten!
my $empfaenger = $_[1]; #@ quoten!
my $betreff = $_[2];
my $rumpf = $_[3];
my $mailer = Mail::Mailer->new("sendmail");
$mailer->open({ From => $absender,
To => $empfaenger,
Subject => $betreff,
})
or die "Kann nicht oeffnen: $!\n";
print $mailer $rumpf;
$mailer->close;
}
##########################################################################################################################################################
Hallo, einen Fehler hats zumindest...
print header,
start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'../styles.css'}),
^ muss ein ";" sein weil Liste zuende
und die nächste Zeile mit print weitergeht.
Viele Grüße, Rolf
PS: Zischhhhhhhhh.....
Hallo,
Hallo und guten Abend,
ein Problem schickt sich an, mir den Feierabend zu verderben: Per Perl erzeuge ich eine HTML-Seite, in der auf eine CSS verwiesen wird. IE5 setzt sowohl<link rel=stylesheet type="text/css" href="styles.css">
als auch
start_html(-title=>'Ihre Bestellung',-style=>{'src'=>'styles.css'})
Syntax ist ok!
korrket um. Netscape unter OMNIHTTPD zeigt lediglich eine CGI Fehler an.
Schätze, das P liegt irgendwo anders weiter unten: schließendes Tag vergessen oder so... wie lautet denn die FM?
Viele Grüße, Rolf