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

Counter

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
pktm
 2004-05-31 14:35
#2630 #2630
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich würde mal gerne wissen, wie so ein Copunter funktioniert.
Kann mir wer den Workflow davon kurz darstellen?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
[E|B]
 2004-05-31 16:58
#2631 #2631
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich versteh nicht was du meinst... Ein ganz, stink normaler Besucher Counter? Oder was für einen Counter meinst du?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
rio
 2004-05-31 23:06
#2632 #2632
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
du erstellst nen perl script das eine datei öffnte mit

open FILEHANDLE counter.txt

dann liest die zahl aus die drinne steht , erhöhst die zahl um 1 und schreibst die wieder rein und schliest die datei wieder
renee
 2004-06-01 01:27
#2633 #2633
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
besser ist direkt mit anzugeben, ob Du die Datei nur lesen, nur schreiben oder beides willst!

nur lesen:
Code: (dl )
open(FILEHANDLE,"<$datei") or die $!;


nur schreiben:
Code: (dl )
open(FILEHANDLE,">$datei") or die $!;


beides:
Code: (dl )
open(FILEHANDLE,"+<$datei") or die $!;
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/
pktm
 2004-06-01 01:48
#2634 #2634
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, ok ich gebe zu, die Informationm war etwas knapp.
Dass ich einfach alle Counts in die Datei schreibe (bei mir isses halt ne Datenbank) ist klar, aber wie verhindert man denn so, dass ein Besucher die Seite 20mal refresht und dadurch 20 Views generiert?
Mit IP-Sperre oder wie?
Was gibt es da für techniken?
Und sollte ich das Ding lieber in mein bestehendes Script mit einbinden oder als externes kleines Laufen lassen?

Und zwar geht es mir im Moment um mein Kleines Mietköcheverzeichnis dass ich für meinen Vater gemacht habe.
Da können wir (nachdem wir alles pberprüft haben ...) Köche eintragen. Bei der Suche (im Moment nue nach Postleitzahlen) werden die Köche dann Mit namen, Kurzbeschreibung den nötigesten Daten, Link zur Detailansicht und Kontakt und Views und Kontakte angezeigt.
Kontakte zu zählen ist recht simpel, da ich einfach den Count nach erfolgreichem absenden erhöhe.
Aber wie siehts da mit dem Besuchercounter (der Detailansicht) aus?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2004-06-01 01:49
#2635 #2635
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=rio,31.05.2004, 21:06]du erstellst nen perl script das eine datei öffnte mit

open FILEHANDLE counter.txt

dann liest die zahl aus die drinne steht , erhöhst die zahl um 1 und schreibst die wieder rein und schliest die datei wieder[/quote]
Code: (dl )
1
2
3
4
5
6
    my $fh = FileHandle->new();
my $filec = "erwartet: $file";
if( $fh->open( $file )){
$filec = join"",$fh->getlines();
$fh->close();
}

gefällt mir besser :)
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2004-06-01 01:55
#2636 #2636
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da müsstest Du eine Datei anlegen (oder in einer Datenbank speichern), in der alle IPs stehen, die die Seite besucht haben. Mit timestamp. Wenn jetzt Deine Seite aufgerufen wird, müsstest Du diese Datei auslesen, die Besucher-IP mit denen in der Datei vergleichen...
Dann entscheiden, ob Counter hochgezählt werden soll oder nicht...

Damit das schneller geht, würde ich in der Datei nur die IPs der letzten 30 Minuten (oder wielange die IP-Sperre auch sein soll) speichern...
Alle Zugriffe, die länger als 30 min her sind einfach aus der Datei schmeißen!

Aber mit der IP-Sperre wirst Du Leute, die hinter einem Proxy sitzen kaum treffen, da diese in den allerseltensten Fällen zweimal kurz hintereinander die gleiche IP haben...
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/
rio
 2004-06-01 16:36
#2637 #2637
User since
2004-05-31
105 Artikel
BenutzerIn
[default_avatar]
du kannst auch mit csv eine kleine "datenbank" machen , und da die ips speichern. dann einfach nurnoch zählen wieviele lines da drinne sind und dann hast das ja auch fast

frag mich aber nich wie csv(oder cvs [eins vond en beiden] )funktioniert
[E|B]
 2004-06-01 17:48
#2638 #2638
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Quote
Da müsstest Du eine Datei anlegen (oder in einer Datenbank speichern), in der alle IPs stehen, die die Seite besucht haben. Mit timestamp. Wenn jetzt Deine Seite aufgerufen wird, müsstest Du diese Datei auslesen, die Besucher-IP mit denen in der Datei vergleichen...
Dann entscheiden, ob Counter hochgezählt werden soll oder nicht...


Zu aufwendig. SIDs sind zwar eine gute und sichere Lösung, jedoch dann nur mit Timestamps.
Mein Vorschlag wäre eine Variante mit Cookies gewesen. Du speicherst ein Cookie mit der aktuellen IP ab. Bei jedem Seitenaufruf guckst du, ob die abgespeicherte IP der aktuellen entspricht.
Wenn ja => nicht counten.
Wenn nein => counten und Cookie neu setzen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
renee
 2004-06-01 17:50
#2639 #2639
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
dann musst Du den expires-Zeitraum aber unbedingt setzen, sonst schließt Du DSL-Benutzer aus...
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 >| >> 15 Einträge, 2 Seiten



View all threads created 2004-05-31 14:35.