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

Updatescript, IE bringt "Die Seite kann nicht ..": Bei Firefox alles ok!



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Tom
 2005-10-31 21:14
#5894 #5894
User since
2003-09-20
470 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

Ich habe ein UpdateScript geschrieben dass mit Firefox ordnungsgemäß funktioniert, aber im IE wird die zweite Seite nicht angezeigt, es kommt nur die Meldung "Die Seite kann nicht angezeigt werden."

Aber warum, im Firefox gehts doch auch.

Hier der Teil der nicht angezeigt wird.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
if ($schritt eq "1")
{
$x = 0;

my $update_year = "$prog_lib/update";
opendir(DIR,$update_year) or die $!;
@update_years = grep{-d $update_year.'/'.$_ && $_ =~ /^\d{4}$/}readdir(DIR);
closedir(DIR);


my $year = ();
foreach $year (@update_years)
{
my $update_month = "$prog_lib/update/" . $year;
opendir(DIR,$update_month) or die $!;
@update_months = grep{-d $update_month.'/'.$_ && $_ =~ /^\d{2}$/}readdir(DIR);
closedir(DIR);

my $month = ();

foreach $month (@update_months)
{
my $update_day = "$prog_lib/update/" . $year . "/" . $month;
@update_days = ();
find(sub {push(@update_days,$_) unless $_ eq '.' or $_ eq '..' or $_ eq 'Thumbs.db'},$update_day);

my $day =();
foreach $day (@update_days)
{
my $filetoopen = "$prog_lib/update/" . $year . "/" . $month . "/" . $day;
open(FILE, "$filetoopen") or die $!;
@events = <FILE>;
close(FILE);

my @sortevents = sort{ $a <=> $b }@events;

foreach (@sortevents)
{
$x++;
my $beginn = ();
my $name = ();
my $veranstalter = ();
my $titel = ();
my $ort = ();
my $location = ();
my $am = ();
my $art = ();
my $mail = ();
my $url = ();
my $sonstiges = ();
my $ipaddress = ();
my $mday = ();
my $mon = ();
my $myear = ();
my $hour = ();
my $min = ();
my $time = ();


($beginn, $name, $veranstalter, $titel, $ort, $location, $am, $art, $mail, $url, $sonstiges, $ipaddress) = split(/\|/,$_);

# Timestamp errechnen für $day
eval
{
($mday, $mon, $myear) = split ('\.', $day, 3);
($hour, $min) = split ('\:', $beginn, 2);
$time = timelocal(00,$min,$hour,$mday,$mon-1,$myear);
};

# Ende Timestamp für $am

# Timestamp für Eintragszeit
my $timestamp = time();
# Timestamp für Eintragszeit


$dbh = DBI->connect( "$dbms:$dbname","$dbuser","$dbpasswd", {PrintError => 0, RaiseError => 1}) || die
"Verbindung zur Datenbank fehlgeschlagen: $DBI::errstr";

$sql = qq{INSERT INTO ${table_prefix}topic (name, veranstalter, veranstaltungsort, location, time, titel, mail, url, beschreibung, timestamp, poster_ip) VALUES(?,?,?,?,?,?,?,?,?,?,?)};
$sth = $dbh->prepare($sql) or die $dbh->errstr();
$sth->execute($name,$veranstalter,$ort,$location,$time,$titel,$mail,$url,$sonstiges,$timestamp,$ipaddress) or die $dbh->errstr();
}
}
}
}
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Update</title>\n";
print "<style type=\"text/css\">
body{
color:�
background-color:#EFF6FB;
}
a:link,a:active,a:visited{
color : #0B70A2;
}
td.update{
background-image:url(../../yambe/bilder/cellpic3a.gif);
}
</style>
</head>
<body>
<br />
<table align=\"center\" width=\"75%\" border=\"1\">
<tr>
<td>

<table width=\"100%\" border=\"0\">

<tr>

<td>
<center>

<font size=5 color=\"#000000\"><b>Willkommen beim Update von v1.x auf v2.0.0</b></font>

<br />

</center>

</td>
</tr>
</table>
<br />

<table width=\"100%\" border=\"0\">

<tr>

<td class=\"update\">

<center>

<font size=4 color=\"#000000\"><b>Update erfolgreich abgeschlossen</b></font>

</center>

</td>

</tr>

</table>

<br />

<form name=\"Schritt1\" method=post action=\"event.cgi\">

<input type=hidden name=\"schritt\" value=\"1\">

<center>
<b>Das Update wurde erfolgreich abgeschlossen, es wurden insgesamt $x Events hinzugefügt.<br />
<br/>
Klicken Sie jetzt auf \"YAMBE starten\" um YAMBE aufzurufen.</b>

</center>
<br />

<table width=\"100%\" border=\"0\">

<tr>

<td align=\"center\" class=\"update\" height=25></td>

</tr>

<tr>

<td>

<div align=\"center\">

<br />

<input type=\"submit\" name=\"Button2\" value=YAMBE starten>
</div>

</td>

</tr>

</table>

</form>
</td>
</tr>
</table>
</body>
";
};


Lass ich die ganzen foreach-Schleifen weg, zeigt der IE die Seite an.

Wo ist da der Fehler?

Tom
Computerprobleme??? -> http://www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
renee
 2005-11-01 04:11
#5895 #5895
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
kann es vielleicht sein, dass die Ausfuehrung des Scripts etwas lange dauert und es daher zu einem Timeout kommt??
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/
Tom
 2005-11-01 07:46
#5896 #5896
User since
2003-09-20
470 Artikel
BenutzerIn
[Homepage] [default_avatar]
Glaube ich zwar nicht, aber wie kann ich die Ausführungszeit messen?

Tom
Computerprobleme??? -> http://www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
renee
 2005-11-01 08:20
#5897 #5897
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die primitivste Loesung ist es, an verschiedenen Punkten (am Anfang, Zwischendurch und am Ende) mit my $time = time; zu arbeiten und dann immer die Differenz am besten in ein Logfile zu schreiben...

Eine etwas professionellere Loesung ist es, mit CPAN:Devel::Timer zu arbeiten...
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/
ptk
 2005-11-01 10:25
#5898 #5898
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=renee,01.11.2005, 07:20]Die primitivste Loesung ist es, an verschiedenen Punkten (am Anfang, Zwischendurch und am Ende) mit my $time = time; zu arbeiten und dann immer die Differenz am besten in ein Logfile zu schreiben...

Eine etwas professionellere Loesung ist es, mit CPAN:Devel::Timer zu arbeiten...[/quote]
Das Apache-Logformat kennt auch einen Platzhalter %t oder %T (einfach in Doku nachschauen), mit dem man die Requestdauer mitloggen kann.
Tom
 2005-11-05 12:57
#5899 #5899
User since
2003-09-20
470 Artikel
BenutzerIn
[Homepage] [default_avatar]
Habe mir mal die Zeit mit Firefox ausgeben lassen, und da dauert der Vorgang 2 Sekunden, das dürfte doch nicht zulange sein oder?

Was könnte es denn sonst noch sein?

Habe mal nach der zweiten foreach-Schleife ein print "Content-type: text/html\n\n"; gesetzt, da wird dann die Seite angezeigt, hat der IE Probleme mit zuvielen foreach-Schleifen?

Tom
Computerprobleme??? -> http://www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
nepos
 2005-11-05 13:51
#5900 #5900
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein, hat der IE nicht, weil der IE die gar nicht zu Gesicht bekommt ;)
Btw, kleiner Tipp am Rande: schau dir mal an, wie du CGI.pm mit den Funktionen fuer die HTML-Tags nutzt. Das ist einfacher als man anfangs denkt und produziert normal sauberes HTML ;)
Ach ja und mittels z.B.
Code: (dl )
print qq#... html-krams ...#;
koenntest du die das escapen der " sparen.\n\n

<!--EDIT|nepos|1131191597-->
Tom
 2005-11-07 00:48
#5901 #5901
User since
2003-09-20
470 Artikel
BenutzerIn
[Homepage] [default_avatar]
Keiner eine Idee mehr?

Tom
Computerprobleme??? -> http://www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
Tom
 2005-11-13 19:56
#5902 #5902
User since
2003-09-20
470 Artikel
BenutzerIn
[Homepage] [default_avatar]
Könnte es mit einer Meldung "Bitte Warten" und dann einer Verzögerung klappen?

Wie mache ich überhaupt eine Verzögerung?

Tom
Computerprobleme??? -> http://www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen
renee
 2005-11-14 01:15
#5903 #5903
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Vielleicht hilft Dir ja CPAN:CGI::ProgressBar...
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/
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-10-31 21:14.