Daten aus Forum

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Ähm, mit deinem Counter stimmt etwas nicht. Und zwar verwendest du 3 Variablen für den Counter, zwei davon sind aber undefiniert. Soweit ich das sehe, müsstest du diese drei Variablen durch eine (z.B. $rufauf, die ist nämlich definiert) ersetzen.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag von Andavos »

Verstehe ich nicht.
Der andere der einfach nur Zählt funkioniert doch auch so.
Kannst du mal coden was du meinst?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Du hast irgendwas an dem Code verändert, der alte sollte in der Tat funktionieren. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag von Andavos »

Code: Alles auswählen

<?php
				  echo "<b>***</b><br>";
		          if(!file_exists("***"))
		          {$counter=@fopen("***", "a");}
		          else
		          {$counter=@fopen("***.txt", "r+");}
		          $aufruf=fgets($counter,800);
		          $aufruf=$aufruf+1;
		          rewind($counter);
		          fputs($counter,$aufruf);
		          fclose($counter);
		          echo "Besucher insgesamt:&nbsp;$aufruf";
				  
				  // Timestamp auslesen bzw. das erste Mal schreiben 

					if (time() - $timestamp > 86400) 
					{ 
					  // neuen Timestamp speichern 
					  // Counter zurücksetzen 
					} 
					else 
					{ 
					  if(!file_exists("***"))
		          {$counter=@fopen("***", "a");}
		          else
		          {$counter=@fopen("***", "r+");}
		          $rufauf=fgets($counter,800);
		          $rufauf=$rufauf+1;
		          rewind($counter);
		          fputs($counter,$rufauf);
		          fclose($counter);
		          echo "Besucher heute:&nbsp;$rufauf";
					}
		?>
Das ist mein Code für beide, der untere ist eine kopie von oben mit S2Bs Code dazu. Nur die Variable $aufruf, habe ich auf $rufauf gewechselt, ich kann ja nicht zweimal die gleiche benutzen...

Was ist falsch?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Ich hab das ganze mal ein bisschen aufbereitet. Wenn du irgendwelche Fragen zum Code haben solltest, einfach fragen. :wink: Ach ja: Keine Garantie, dass der Code funktioniert. *g*

Code: Alles auswählen

<?php

	if (!file_exists('timestamp.txt'))
	{
		$stamp = @fopen('timestamp.txt', 'w');
		fputs($stamp, time());
		fclose($stamp);
	}
	else
	{
		$stamp = @fopen('timestamp.txt', 'r+');
		$timestamp = fgets($stamp, 800);
		rewind($stamp);

		if (time() - $timestamp > 86400)
		{
			fputs($stamp, time());
			$aufruf = 1;
		}

		fclose($stamp);
	}

	if (!file_exists('counter.txt'))
	{
		$counter = @fopen('counter.txt', 'a');
	}
	else
	{
		$counter = @fopen('counter.txt', 'r+');
	}

	if (!isset($aufruf))
	{
		$aufruf = fgets($counter,800);
		$aufruf++;
	}

	rewind($counter);
	fputs($counter, $aufruf);
	fclose($counter);

	echo "Besucher heute: $aufruf";

?>
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag von Andavos »

Code: Alles auswählen

 if (!file_exists('Counter/timestamp.txt')) 
   { 
      $stamp = @fopen('Counter/timestamp.txt', 'w'); 
      fputs($stamp, time()); 
      fclose($stamp); 
   } 
   else 
   { 
      $stamp = @fopen('Counter/timestamp.txt', 'r+'); 
      $timestamp = fgets($stamp, 800); 
      rewind($stamp); 

      if (time() - $timestamp > 86400) 
      { 
         fputs($stamp, time()); 
         $rufauf = 1; 
      } 

      fclose($stamp); 
   } 

   if (!file_exists('***.txt')) 
   { 
      $kcounter = @fopen('***.txt', 'a'); 
   } 
   else 
   { 
      $kcounter = @fopen('***.txt', 'r+'); 
   } 

   if (!isset($rufauf)) 
   { 
$rufauf = fgets($kcounter,800); 
      $rufauf++; 
   } 

rewind($kcounter); 
fputs($kcounter, $rufauf); 
 fclose($kcounter); 

   echo "Besucher heute: $rufauf"; 
Geht immer noch nicht, die Fehlermeldung lautet:
Warning: fgets(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 225

Warning: rewind(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 229

Warning: fputs(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 230

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 231
Zuletzt geändert von Andavos am 30.07.2006 09:35, insgesamt 2-mal geändert.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Verlinke mal deine komplette Datei, kA, auf welche Zeilen sich die Fehlermeldungen beziehen...
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag von Andavos »

Andavos hat geschrieben:

Code: Alles auswählen

  if (!file_exists('Counter/timestamp.txt')) 
   { 
      $stamp = @fopen('Counter/timestamp.txt', 'w'); 
      fputs($stamp, time()); 
      fclose($stamp); 
   } 
   else 
   { 
      $stamp = @fopen('Counter/timestamp.txt', 'r+'); 
      $timestamp = fgets($stamp, 800); 
      rewind($stamp); 

      if (time() - $timestamp > 86400) 
      { 
         fputs($stamp, time()); 
         $rufauf = 1; 
      } 

      fclose($stamp); 
   } 

   if (!file_exists('***.txt')) 
   { 
      $kcounter = @fopen('***.txt', 'a'); 
   } 
   else 
   { 
      $kcounter = @fopen('***.txt', 'r+'); 
   } 

   if (!isset($rufauf)) 
   { 
Linie 225   $rufauf = fgets($kcounter,800); 
      $rufauf++; 
   } 

Linie 229   rewind($kcounter); 
Linie 230  fputs($kcounter, $rufauf); 
Linie 231   fclose($kcounter); 

   echo "Besucher heute: $rufauf"; 
Geht immer noch nicht, die Fehlermeldung lautet:
Warning: fgets(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 225

Warning: rewind(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 229

Warning: fputs(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 230

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web176/html/Projekt-Fake/new_index.php on line 231
Ich habe die Linien oben im Zitat reingeschrieben!
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Teste mal das:

Code: Alles auswählen

if (!file_exists('timestamp.txt'))
{
	$stamp = @fopen('timestamp.txt', 'w');
	fputs($stamp, time());
	fclose($stamp);
}
else
{
	$stamp = @fopen('timestamp.txt', 'r+');
	$timestamp = fgets($stamp, 800);
	rewind($stamp);
	
	if (time() - $timestamp > 86400)
	{
		fputs($stamp, time());
		$rufauf = 1;
	}
	
	fclose($stamp);
}

if (!file_exists('counter.txt'))
{
	$kcounter = @fopen('counter.txt', 'w');
	$rufauf = 1;
}
else
{
	$kcounter = @fopen('counter.txt', 'r+');

	if (!isset($rufauf))
	{
		$rufauf = fgets($kcounter,800);
		$rufauf++;
	}

	rewind($kcounter);
}

fputs($kcounter, $rufauf);
fclose($kcounter);

echo "Besucher heute: $rufauf";
So funktioniert der Counter bei mir. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Andavos
Mitglied
Beiträge: 145
Registriert: 13.07.2006 11:50
Wohnort: Winterthur

Beitrag von Andavos »

Bei mir nicht, es kommen wieder Fehlermeldungen...?
Was für rechte muss den eigentlich timestamp.txt haben? CHMOD?

Und was muss ich am Anfang in timestamp.txt reinschreiben?
Antworten

Zurück zu „Coding & Technik“