www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges" - Counter
Counter < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Counter: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:33 Mo 05.04.2010
Autor: pythagora

Hallo,
ich habe schwierigkeiten mir (m)einem Counter.. und zwar würde ich gerne auf meiner Seite die Besucher zählen (nicht Aufrufe).. ich habe (früher) mal einen counter geschrieben, der echt super funktionierte und dann auf einmal nicht mehr (ich weiß nicht wirklich warum).. daraufhin hab ich dann mal was neues probiert:

[Dateianhang nicht öffentlich]

problem ist nur, dass der irgendwie nicht zählt, also der counter bleibt einfach stehen...

Kann mir jemand helfen??

Vielen Dank schonmal.
LG
pythagora

Dateianhänge:
Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
        
Bezug
Counter: Antwort
Status: (Antwort) fertig Status 
Datum: 00:29 Di 06.04.2010
Autor: felixf

Moin pythagora,

>  ich habe schwierigkeiten mir (m)einem Counter.. und zwar
> würde ich gerne auf meiner Seite die Besucher zählen
> (nicht Aufrufe).. ich habe (früher) mal einen counter
> geschrieben, der echt super funktionierte und dann auf
> einmal nicht mehr (ich weiß nicht wirklich warum)..
> daraufhin hab ich dann mal was neues probiert:
>  
> [Dateianhang nicht öffentlich]
>  
> problem ist nur, dass der irgendwie nicht zählt, also der
> counter bleibt einfach stehen...

das sieht eigentlich ganz ok aus. (Mal abgesehen von ein paar Problemen, die das ganze Programmdesign hat, sobald mehr als zwei Personen gleichzeitig auf deiner Seite sind.)

Kann es sein, dass das Programm keine Schreibrechte hat fuer die Datei? Versuch mal, eventuelle Fehler beim Schreiben des neuen Zaehlerstandes (und er IP-Adresse) abzufangen und (testweise) auszugeben.

LG Felix


Bezug
                
Bezug
Counter: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:43 Di 06.04.2010
Autor: pythagora

Hi,
danke für die super-schnelle antwort

>  
> das sieht eigentlich ganz ok aus. (Mal abgesehen von ein
> paar Problemen, die das ganze Programmdesign hat, sobald
> mehr als zwei Personen gleichzeitig auf deiner Seite
> sind.)

Ja, und da weiß ich leider auch nicht weiter :( kann ich da (in kurzform) was machen??

> Kann es sein, dass das Programm keine Schreibrechte hat
> fuer die Datei? Versuch mal, eventuelle Fehler beim
> Schreiben des neuen Zaehlerstandes (und er IP-Adresse)
> abzufangen und (testweise) auszugeben.

hört sich jetzt vielleicht komisch an, aber wie meinst du das mit dem abfangen??

LG
pythagora

Bezug
                        
Bezug
Counter: Antwort
Status: (Antwort) fertig Status 
Datum: 00:49 Di 06.04.2010
Autor: felixf

Huhu,

>  danke für die super-schnelle antwort

bitte :)

> > das sieht eigentlich ganz ok aus. (Mal abgesehen von ein
> > paar Problemen, die das ganze Programmdesign hat, sobald
> > mehr als zwei Personen gleichzeitig auf deiner Seite
> > sind.)
>
>  Ja, und da weiß ich leider auch nicht weiter :( kann ich
> da (in kurzform) was machen??

Ich weiss nicht, wie gut du dich in PHP auskennst, aber PHP hat eine eingebaute Session-Verwaltung. Du koenntest einfach schauen, ob die Session neu ist und dann den Counter erhoehen (und die Session dann als "nicht neu" markieren).

>  > Kann es sein, dass das Programm keine Schreibrechte hat

> > fuer die Datei? Versuch mal, eventuelle Fehler beim
> > Schreiben des neuen Zaehlerstandes (und er IP-Adresse)
> > abzufangen und (testweise) auszugeben.
>
>  hört sich jetzt vielleicht komisch an, aber wie meinst du
> das mit dem abfangen??

Also []fopen() liefert FALSE zurueck, falls die Datei nicht geoeffnet werden konnte, und []fwrite() gibt bei Fehlern ebenfalls FALSE zurueck (und ansonsten die Anzahl der geschriebenen Bytes). Mit ein paar if-Abfragen kannst du testen, ob so etwas passiert ist.

LG Felix


Bezug
                                
Bezug
Counter: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:13 Di 06.04.2010
Autor: pythagora

hi,
  

> Ich weiss nicht, wie gut du dich in PHP auskennst, aber PHP
> hat eine eingebaute Session-Verwaltung. Du koenntest
> einfach schauen, ob die Session neu ist und dann den
> Counter erhoehen (und die Session dann als "nicht neu"
> markieren).

aha, ok, kenne ich leider (noch) nicht... :(

> >  > Kann es sein, dass das Programm keine Schreibrechte hat

> > > fuer die Datei? Versuch mal, eventuelle Fehler beim
> > > Schreiben des neuen Zaehlerstandes (und er IP-Adresse)
> > > abzufangen und (testweise) auszugeben.
>  >

> >  hört sich jetzt vielleicht komisch an, aber wie meinst du

> > das mit dem abfangen??
>  
> Also []fopen()
> liefert FALSE zurueck, falls die Datei nicht geoeffnet
> werden konnte, und
> []fwrite()
> gibt bei Fehlern ebenfalls FALSE zurueck (und ansonsten die
> Anzahl der geschriebenen Bytes). Mit ein paar if-Abfragen
> kannst du testen, ob so etwas passiert ist.

ok
ich werde es morgen mal probieren..
danke soweit
LG
pythagora


Bezug
                                
Bezug
Counter: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 13:04 Di 06.04.2010
Autor: pythagora

Hallo,
ich hab das mit open und write versucht, kenne das aber gar nicht un weiß nicht wirklich, was ich damit machen soll :-(
Ich glaube so stimmt das nicht:
[Dateianhang nicht öffentlich]

Kann mir jemand helfen??

LG
pythagora

Dateianhänge:
Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
Bezug
                                        
Bezug
Counter: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:22 Do 08.04.2010
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Counter: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:20 Do 08.04.2010
Autor: pythagora

Hallo,
ich habe derweil noch mal ein bisschen rumprobiert, aber leider will es noch immer nicht funktionieren.. das Einsetzten von open und write geht leider nicht (ich kenne mich damit leider nicht sooo gut aus :( )

kann mir jemand helfen??
Vielen Dank
Pythagora

Bezug
                
Bezug
Counter: Antwort
Status: (Antwort) fertig Status 
Datum: 23:59 Do 08.04.2010
Autor: cycore

hey,
ich kann dir nicht sicher sagen, woran dein code scheitert, falls es nicht die Dateiberechtigungen sind - wie bereits erwähnt wurde ist aber der ganze aufbau zweifelhaft^^
habe hier in den tiefen meiner ordner einen alten counter gefunden, der ähnlich funktioniert - vielleicht hilft dir das als anregung^^
1:
2: <?php
3:
4: $IPfilePath = "counter/ip_data.dat"; 
5: $countFilePath = "counter/count.dat"; 
6:
7: $readErr = "Read error, contact Webmaster";
8: $writeErr = "Write error, contact Webmaster";
9:
10: $hitMessage ="Besucher:";
11:
12:
13: $IPnum = "0.0.0.0"; 
14: $userStatus = 0;
15:
16: $IPnum = getenv("REMOTE_ADDR");
17:
18: $IPlist = @fopen($IPfilePath, "r") or die($readErr);
19: $IPdata = fread($IPlist,filesize($IPfilePath));
20: fclose($IPlist);
21:
22: $IParray = explode(" ",$IPdata); 
23:
24: $userStatus = 0;
25: foreach ($IParray as $value)
26: {
27: if($value == $IPnum){
28:   $userStatus = 1;
29:   }
30: }
31:                   
32:  
33: if($userStatus == 0){                           
34:                             $IPfile = @fopen($IPfilePath, "a") or die ($writeErr); //  Write the new IP to ip_data.dat
35:                             @fwrite($IPfile, " $IPnum") or die($writeErr);                         
36:                             fclose($IPfile);
37:
38: $incCount = @fopen($countFilePath, "r") or die ($readErr);
39: $theCount = fread($incCount, filesize($countFilePath));
40: $theCount++;
41: fclose($incCount);
42:
43: $incCount = @fopen($countFilePath, "w") or die ($readErr);
44: @fwrite($incCount, $theCount) or die ($writeErr);
45: fclose($incCount);
46: }
47:
48: elseif($userStatus == 1){
49:                             $incCount = @fopen($countFilePath, "r") or die ($readErr);
50: $theCount = fread($incCount, filesize($countFilePath));
51: fclose($incCount);
52: }
53:                       
54: $kcount = "$hitMessage $theCount";
55: ?>


Bezug
                        
Bezug
Counter: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:03 Fr 09.04.2010
Autor: pythagora

Hey,
ich danke dir für deine Mühe, werde mir das mal anschauen und weiterbasteln..

LG
pythagora

Bezug
                        
Bezug
Counter: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:32 Fr 09.04.2010
Autor: felixf

Moin,

hier kannst du noch ein break einbauen, sobald du die IP gefunden hast:

1: foreach ($IParray as $value)
2: {
3: if($value == $IPnum){
4:   $userStatus = 1;
5:   }
6: }


Dein Counter hat (neben den Ueberschreib-Problemen, die der andere Counter schon hat) das Problem, dass die IP-Datei regelmaessig geloescht werden sollte, damit sie nicht zu gross (und der Counter damit zu lahm) wird.

Das beste ist vermutlich, das ganze ueber Sessions zu loesen, etwa so:

1: <?php
2:   session_start();
3:
4:   $countFile = @fopen("counter.txt", "r");
5:   $counter = intval(fgets($countFile));
6:   fclose($countFile);
7:
8:   if (!isset($_SESSION['counter_was_here']))
9:   {
10:         $_SESSION['counter_was_here'] = 1;
11:         ++$counter;
12:         $countFile = @fopen("counter.txt", "w");
13:         @fwrite($countFile, $counter);
14:         fclose($countFile);
15:   }
16:   
17:   echo $counter;
18: ?>


LG Felix


Bezug
                                
Bezug
Counter: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:40 Fr 09.04.2010
Autor: cycore

hehe...du glaubst nich wirklich das ich den noch verwende...der is geschätzte 6/7 jahre alt^^hab ihn unverändert gepostet...das break müsste nicht unbedingt sein, wenn man die ohnehin optimierte fct. in_array verwendet ;)

wenn ich mich recht erinnere hab ich damals die ipdatei regelmäßig selbst gelöscht hehe

Bezug
                                        
Bezug
Counter: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:07 Fr 09.04.2010
Autor: felixf

Moin,

> hehe...du glaubst nich wirklich das ich den noch
> verwende...

das hatte ich gehofft ;-) Aber es haette sein koennen, dass jemand anders ihn verwenden will.

> der is geschätzte 6/7 jahre alt^^hab ihn
> unverändert gepostet...das break müsste nicht unbedingt
> sein, wenn man die ohnehin optimierte fct. in_array
> verwendet ;)

Ja, das waer noch besser.

> wenn ich mich recht erinnere hab ich damals die ipdatei
> regelmäßig selbst gelöscht hehe

Ok :)

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]