Thread Counter zählt nicht. (19 answers)
Opened by cbxk1xg at 2009-11-18 11:59

cbxk1xg
 2009-11-18 11:59
#128268 #128268
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ich habe ein total merkwürdiges Problem. Ich will in meinem CMS einen kleinen Zähler für die Seitenauffrufe integrieren. Dafür schreibe ich in eine CSV Datei alle Dateinamen und dahinter die Zahl der Auffrufe. Aus irgendeinem Grund wird aber nicht hochgezählt. Der Dateiname stimmt, die Zeile wird gefunden und neu geschrieben, aber der Wert bleibt immer 1. Normalerweise zähle ich integer mit $counter++ oder $counter += 1 hoch. Hier funktioniert es aber überhaupt nicht.

Im Hauptprogramm benutze ich use strict use warnings und den Taint mode. Or die beim öffnen oder schliessen benutze ich absichtlich nicht, da der Counter im Frontend Skript läuft. Wenn hier nur der olle Counter ein Problem hat, dann sollte bitte nicht das ganze Frontend abstürzen.

Aufbau der CSV
Code: (dl )
1
2
static/AboutUs/Testartikel_de=1
dated/Markus/ERsterTest024_de=1


Code (perl): (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
sub CountAccess
{
my ($pid) = @_;
my $filename = $PMroot.$PMcounter;
my $Result = "";

my @FILE = ();
open( FILE, "$filename" );

        for my $line (<FILE>) {
        $line =~ tr-\n\r--d;
        push( @FILE, $line );
        }

close( FILE );


        for my $i (@FILE) {
                if ($i =~ /$pid\=(.*?)/) {
                my $counter = $1;
                $counter += 1;
                $Result .= "$pid=$counter\n";
                }

                else {$Result .= $i."\n";}

        }

open( FILE, ">$filename" );

        for my $line ($Result) {
        print FILE $line;
        }

close( FILE );

}

Last edited: 2009-11-18 12:00:17 +0100 (CET)

View full thread Counter zählt nicht.