Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]749[/thread]

FF zeigt nur Quellcode an, IE kann HTML darstellen



<< |< 1 2 3 >| >> 30 Einträge, 3 Seiten
Gast Gast
 2006-06-08 18:45
#7953 #7953
Hi,

ich habe ein Gästebuch in Perl realisiert, verknüpft mit einer mysql Datenbank. Funktioniert an sich ganz gut.
Leider gibts einen bösen Bug
Firefox zeigt nach den letzten änderungen (zusätzliche Subprozeduren) nur noch den Quellcode im Browser an, obwohl dieser mit einleitendem HTML Tag, wie vorher als es noch angezeigt wurde beginnt.
Im IE wird alles noch normal angezeigt?!

Allerdings gibts auch hier das Problem, dass ich oft auf neu laden klicken muss, biss es endlich mal angezeigt wird, machmal muss ich nur einmal F5 drücken, manchmal aber auch öfters, da ein Servererror zu Stande kommt (loggfile ist für mich nicht einsehbar :( )

Bitte um Hilfe, das Teil muss auch im FF laufen. Ich kann es euch leider nicht zeigen, da es auf dem eigenen Server liegt, aber vielleicht weis ja auch so jemand etwas!?

Hier mal den Anfang von dem Script, und die 2 Subprozeduren die ich vor kruzen noch eingebaut habe, dannach ging nichts mehr im FF. Das zweite ist eine Prozedur für uhrzeit u. Datum von SelfHTML. Bitte nicht so viele Codeoptimierungen, bin noch ziehmlicher Anfänger, sondern Hilfe zum eigentlichen Problem

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#! /usr/bin/perl -w

use DBI;
use CGI;

if($ENV{'REQUEST_METHOD'} eq 'GET') #Abfragen ob der user eine Eingabe gemacht hat
{
&GaestebuchEintrag();
}

&htmlGaestebuch();


#====================================================#

sub GaestebuchEintrag
{

my $cgi = new CGI;

$name = $cgi->param('name');
$mail =$cgi->param('mail');
my $homepage =$cgi->param('homepage');
my $titel =$cgi->param('titel');
my $nachricht =$cgi->param('nachricht');

&dateNow();

#$datum =@dateNow[0];
#$zeit =@dateNow[1];

#$sql = qq{insert into gaestebuch (name, datum, zeit, titel, text, mail, website) values (?,?,?,?,?,?,?)};
#$sth =dbh->prepare($sql);
#$sth->execute($name, $datum, $zeit, $titel, $text, $mail, $homepage);
#$sth->finish();
}


sub dateNow
{

my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat+=1;
$Jahrestag+=1;
$Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat;
$Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag;
$Stunden = $Stunden < 10 ? $Stunden = "0".$Stunden : $Stunden;
$Minuten = $Minuten < 10 ? $Minuten = "0".$Minuten : $Minuten;
$Sekunden = $Sekunden < 10 ? $Sekunden = "0".$Sekunden : $Sekunden;
$Jahr+=1900;
my @Wochentage = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
my @Monatsnamen = ("","Januar","Februar","M&auml;rz","April","Mai","Juni",
"Juli","August","September","Oktober","November","Dezember");

#@dateNow=(["$Monatstag. $Monatsnamen[$Monat] $Jahr<br>\n"], ["$Stunden.$Minuten Uhr<br>\n"]);
$dateNow[0]="$Monatstag. $Monatsnamen[$Monat] $Jahr<br>\n";
$dateNow[1]="$Stunden.$Minuten Uhr<br>\n";

}
esskar
 2006-06-08 18:47
#7954 #7954
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wie ist den die url zu deinem gästebuch?
GwenDragon
 2006-06-08 19:26
#7955 #7955
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
Fügst du noch
Code: (dl )
1
2
3
use strict;
use warnings;
use CGI::Carp qw/fatalsToBrowser/;
kannst du dir doch eventuelle Probleme anzeigen lassen, anstatt nur die Serverfehlerseite zu bekommen.\n\n

<!--EDIT|GwenDragon|1149780412-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

renee
 2006-06-08 20:38
#7956 #7956
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und sprintf macht Deinen Code schöner!

Statt:
Code: (dl )
1
2
3
4
5
    $Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat;
$Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag;
$Stunden = $Stunden < 10 ? $Stunden = "0".$Stunden : $Stunden;
$Minuten = $Minuten < 10 ? $Minuten = "0".$Minuten : $Minuten;
$Sekunden = $Sekunden < 10 ? $Sekunden = "0".$Sekunden : $Sekunden;


einfach:
Code: (dl )
1
2
3
4
5
    $Monat = sprintf("%02d",$Monat);
$Monatstag = sprintf("%02d",$Monatstag);
$Stunden = sprintf("%02d",$Stunden);
$Minuten = sprintf("%02d",$Minuten);
$Sekunden = sprintf("%02d",$Sekunden);


Und statt "M&auml;rz" solltest Du mal 'M&auml;rz schreiben...
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/
Thorium
 2006-06-09 00:22
#7957 #7957
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Und mit XHTML kannst du statt 'M&auml;rz' einfach 'März' schreiben...
Und statt 'März', 'April', 'Mai', kannst du mit
qw() einfach qw(Januar Februar März April Mai) schreiben, was auch übersichtlicher ist...
Und statt $Monat+=1; schreibst du ++$Monat;

Ausserdem dürfte vor allem die CGI->header zeile interessant sein, weil das stinkt hier verdächtig nach: FF schaut auf die Doctypes, IE nicht...
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
ptk
 2006-06-09 01:26
#7958 #7958
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Auch bei HTML ohne XHTML kann man Umlaute verwenden, wenn charset richtig deklariert ist.
Danwe
 2006-06-09 11:35
#7959 #7959
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
[quote=ptk,08.06.2006, 23:26]Auch bei HTML ohne XHTML kann man Umlaute verwenden, wenn charset richtig deklariert ist.[/quote]
Klar kann man immer Umlaute verwenden, das funktioniert eigentlich auch immer unter Windows, allerdings nicht auf allen anderen Systemen. Auf einem Mac z.B. sollte es dann Probleme geben, hier werden keine Umlaute erkannt, die Zeichenketten für Umlaute u. Sonderzeichen hingegen können dann auch auf einem Mac ausgewertet werden. Außerdem ist es so doch W3 konformer, oder etwa nicht? Soviel dazu.

use strict möchte ich nicht verwenden, weil ich trottel einige globale Variablen verwende, das mache ich irgendwie immer so wenn ich gerade eine neue Sprache lerne, wird aber noch besser hoffe ich :-)

oK; DANK dieser Zeilen wird nun auch eine Fehlermeldung ausgegeben (auf die Server Logfiles habe ich z.z. leider keinen Zugriff):


use warnings;
use CGI::Carp qw/fatalsToBrowser/;

(woz brauche ich diese Parameter hinter dem :: wenn ich sowieso schon use CGI; angegeben habe???)


Aber das grundlegende Problem ist noch nicht behoben. Im Firefox Browser wird noch immer der Quellcode angezeigt, und nicht die Website!?

URL gibts nicht, ich erstelle das z.z. nur zu übungszwecken. Ich hätte auch nicht die Zugriffsrechte um es online zu stellen.
renee
 2006-06-09 11:58
#7960 #7960
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
CPAN:CGI und CPAN:CGI::Carp sind unterschiedliche Module...
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/
esskar
 2006-06-09 12:05
#7961 #7961
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Danwe,09.06.2006, 09:35]use strict möchte ich nicht verwenden, weil ich trottel einige globale Variablen verwende, das mache ich irgendwie immer so wenn ich gerade eine neue Sprache lerne, wird aber noch besser hoffe ich :-)[/quote]
globale variablen funktionieren auch mit use strict;
man muss sie eben nur auch global deklarieren.
esskar
 2006-06-09 12:06
#7962 #7962
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Danwe,09.06.2006, 09:35]URL gibts nicht, ich erstelle das z.z. nur zu übungszwecken. Ich hätte auch nicht die Zugriffsrechte um es online zu stellen.[/quote]
dann musst du schon bitte das gesamte script posten;
bzw. vorallem den teil, der den http-header setzt.
<< |< 1 2 3 >| >> 30 Einträge, 3 Seiten



View all threads created 2006-06-08 18:45.