php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.10.2005, 08:59  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard Counter - Daten gelöscht - Erklärung??

Guten Morgen zusammen,

PHP-Code:
<?php
<?php


$count
=0;
$time time();
$ip $_SERVER['REMOTE_ADDR'];
$text=$time."#".$ip."\n";
$filename="counter.csv";
$zeile file($filename);
$datum=date("d.m.y");
$setdate=0;
$uhrzeit=date("H:i:s");
//Hier kann die Aufenthaltszeit für eine gültige Zählung und die Reloadsperre eingetragen werden (in sec)
$countgueltig=600;
$reload=600;

//Prüfung ob IP vorhanden
foreach($zeile as $sperre)
{
$arraysp explode("#",$sperre);

if(
$ip==rtrim($arraysp[1]) & $arraysp[0] > $time -$reload){$vorhanden=1;}
}
//Tages- und Gesamtwert ermitteln
foreach($zeile as $wert)
{
$array explode("#",$wert);
if(
$array[0]=='datum'rtrim($array[1])!=$datum){$setdate=1;}
if(
$vorhanden==1){
if(
$array[0]=='heute' $setdate==0){$heute=rtrim($array[1]);}
if(
$array[0]=='heute' $setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}

}
if(
$vorhanden!=1)
{

if(
$array[0]=='heute'$setdate==0){$heute=rtrim($array[1])+1;}
if(
$array[0]=='heute'$setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1])+1;}
}
}

//Tages- und Gesamtwert schreiben
$fpwrite fopen($filename "w");
fwrite ($fpwrite"datum"."#".$datum."\n"."heute"."#".$heute."\n"."gestern"."#".$gestern."\n"."gesamt"."#".$gesamt."\n".$text750);
fclose($fpwrite);



//Useronline schreiben
$fpanhaengen fopen($filename "a");
foreach(
$zeile as $useronline)
{
$arrayuseronline explode("#",$useronline);

if(
$arrayuseronline[0] > $time -$countgueltig $ip!=rtrim($arrayuseronline[1]))
{

fwrite ($fpanhaengen,$useronline750);

}
}
fclose($fpanhaengen);
//wieviele user online(für Anzeige)?
$zeile1 file($filename);


//Ausgabe


for($x=0;$x<count($zeile1);$x++){$count=$count+1;}
echo 
'<p align="left">[b]Datum: [/b]'; echo $datum; echo  '</font>
'
;
echo 
'[b]Uhrzeit: [/b]'; echo $uhrzeit; echo  '</font>
'
;
echo 
'[b]User online: [/b]'; echo $count=$count-4;echo  '</font>
'
;
echo 
'[b]Heute: [/b]'; echo $heute;echo  ' </font>
'
;
echo 
'[b]Gestern: [/b]'; echo $gestern;echo  ' </font>
'
;
echo 
'[b]Gesamt: [/b]'; echo $gesamt;echo  '</font></p>';

?>
?>
Ich benutze obigen Code für einen Counter.
Nun ist es mir gestern aber passiert, dass der Counter wieder auf 0 resettet wurde, ohne das ich etwas unternommen habe.

wie kann das sein? kann es Probleme geben wenn 2 user zur exakt gleich Zeit die Seite betreten?

Also die Daten liegen in counter.csv und die Datei wurde auch nicht manuell resettet. Irgendetwas am Programm muss das also gemacht haben.

Vielen Dank.

Gruß HaVoK
havok ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.10.2005, 13:23  
Gast
 
Beiträge: n/a
Standard

Der Code ist im Original auch komplett garnicht eingerückt?

Zitat:
kann es Probleme geben wenn 2 user zur exakt gleich Zeit die Seite betreten?
Ja kann es. Sowas nent sich race condition und unter wirklich unglücklichen Umständen kann dadurch Dein Counter auf 0 gesetzt werden.

http://de3.php.net/manual/en/function.flock.php kann Dir weiterhelfen.
 
Alt 18.10.2005, 13:30  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard

sorry, bin ein quick-Programmierer, ohne sauberen Stil. EInrücken ist nicht.
Programmiere mit PHPCoder, und der ist da net so toll. War bisher au zu faul um mir was besseres zu suchen.

Werde mal versuchen das mit flock zu sperren.

thx.

Gruß HaVoK
havok ist offline  
Alt 18.10.2005, 13:31  
Gast
 
Beiträge: n/a
Standard

Zitat:
sorry, bin ein quick-Programmierer, ohne sauberen Stil.
Also quick&dirty.
Macht sich in der Regel früher oder später sehr schlecht.
 
Alt 18.10.2005, 13:33  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard

naja, bei den eingeschränkten Projekten die ich mache, habe ich im moment noch den Überblick, aber haste schon recht.
Ich bin mir meines Problems bewusst, aber bisher zu bequem gewesen es zu ändern.

Gruß
havok ist offline  
Alt 18.10.2005, 16:02  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von havok
Ich bin mir meines Problems bewusst, aber bisher zu bequem gewesen es zu ändern.
Also daher kommen die Vorurteile, Programmierer seien faul und trinken nur Kaffee ... *kaffeeholundpausemach*

so nebenbei, ich progge nur mit dem Win Editor
 
Alt 18.10.2005, 17:18  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard

und mit dem rückst du alles ein???
da wirst ja wahnsinnig.
was machste wenn du dir irgendwoher paar Codeschnipsel besorgst und die zusammenklatscht?
Rückst du die dann alle ein? da investier ich meine Zeit lieber sinnvoller.

Gruß HaVoK
havok ist offline  
Alt 18.10.2005, 17:24  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Was verstehst du unter Codeschnipsel?
Irgendwelche Beispiele von Webseiten sind doch in der Regel bereits korreckt eingerückt.

Und wenn nicht, dann halt kurz selber machen. Mit einem gescheiten Editor kann man beliebig viele Zeilen gleichzeitig einrücken, also eine Frage von Sekunden.
Und für die ganz Faulen gibts noch Tools die das automatisch machen
webbi ist offline  
Alt 18.10.2005, 17:28  
Erfahrener Benutzer
 
Registriert seit: 30.08.2005
Beiträge: 179
havok
havok eine Nachricht über ICQ schicken
Standard

wo gibts so ein Tool?
was ist ein guter Editor?
havok ist offline  
Alt 18.10.2005, 20:51  
Gast
 
Beiträge: n/a
Standard

http://www.beautifier.org/ fällt mir so spontan ein.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
speicherung der daten bei stromausfall? MrCavity Datenbanken 2 19.11.2005 17:39
ein counter - und berechnungen netti PHP Tipps 2005-2 11 24.10.2005 21:03
Counter - Daten gelöscht - Erklärung?? havok PHP-Fortgeschrittene 5 20.10.2005 01:51
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
[Erledigt] Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten in Datenbank ändern PHP Tipps 2005 3 27.01.2005 14:40
Viele Daten in die Datenbank eintragen. sunset PHP Tipps 2005 10 11.01.2005 19:32
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
Problem mit einem Counter JeeZ PHP Tipps 2004 6 18.06.2004 13:36
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
aufenthaltszeit für eine gültige zählung und die reloadsperre, flock php, //hier kann die aufenthaltszeit für eine gültige zählung und die reloadsperre eingetragen werden (in sec), //hier kann die aufenthaltszeit für eine gültige zählung und die reloadsperre eingetragen werden (in sec) $countgueltig=10; $reload=30;, aufenthaltszeit für eine gültige zählung counter

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.