Skocz do zawartości

A- A A+
A A A A
Zdjęcie

Problem z uruchomieniem licznika


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Totto

Totto

    Podpowiadacz

  • Przyjaciele
  • PipPipPipPipPip
  • 275 postów

Napisano 27 styczeń 2003 - 18:39

Mam problem z uruchomieniem skryptu licznika na stronie www. Wstawiłem taki oto skrypt:

$myFile = fopen("licznik.txt","r");
while(!feof($myFile))
{
$liczba = fgets($myFile, 255);
}
fclose($myFile);
if($licz=="")
{
$liczba = $liczba + 1;
}

if($liczba > 10)
{
if($liczba < 100)
{
print("000$liczba");
}
}

if($liczba >= 100)
{
if($liczba < 1000)
{
print("00$liczba");
}
}

if($liczba >= 1000)
{
if($liczba < 10000)
{
print("0$liczba");
}
}

if($liczba >= 10000)
{
print("$liczba");
}

$myFile = fopen("licznik.txt","w");
fputs($myFile, "$liczba");
fclose($myFile);
?>

Niestety na stronie nic się nie wyświetla. Dlaczego?

To moje pierwsze kroki w zastosowaniu PHP, więc pewnie robię coś nie tak ale nie mam pojęcia co. Pomóżcie proszę!!!


  • 0

Totto :)
 


#2 Gość_konto_skasowane_*

Gość_konto_skasowane_*
  • Gość

Napisano 27 styczeń 2003 - 22:00

Witaj Totto,
Cieszę się że bierzesz się za pisanie w PHPie :)

Zmodyfikowałem troszkę podany przez Ciebie kod aby był bardziej czytelny, tzn. powywalałem niepotrzebne rzeczy które zasmiecały kod czyniąc go nieczytelnym.

Jesli chodzi o twój problem to na poprawionym kodzie widac to wyraźnie

to moja poprawka

if ($liczba < 100)   print("[i][b]000$liczba[/b][/i]"); 


a to twój stary kod

if($liczba > 10)  { 

  if($liczba < 100) { 

    print("[i][b]000$liczba[/b][/i]"); 

  } 

} 


zrobiłeś błąd przy sprawdzaniu wielkości zmiennej liczba ponieważ zrobiłeś warunek że skrypt wyświetli licznik dla liczby > 10 ale < od 100

oto kod licznika :

<? 

$myFile = fopen("licznik.txt","r"); 



while(!feof($myFile)) { 

  $liczba = fgets($myFile, 255); 

}



fclose($myFile); 



// linia poniżej robi to samo co  $liczba = $liczba + 1;

// tylko że szybciej działa



$liczba++;   



// tu był błąd

if ($liczba < 100)   print("[i][b]000$liczba[/b][/i]"); 

if (($liczba >= 100)  && ($liczba < 1000))  print("[i][b]00$liczba[/b][/i]"); 

if (($liczba >= 1000) && ($liczba < 10000)) print("[i][b]0$liczba[/b][/i]"); 

if ($liczba >= 10000) print("[i][b]$liczba[/b][/i]"); 



$myFile = fopen("licznik.txt","w"); 

fputs($myFile, "$liczba"); 

fclose($myFile); 

?>

Twoje warunki

if($liczba >= 1000) 

{ 

if($liczba < 10000) 

{ 

coś tam

} 

} 

można napisać czytelniej dodajac operator AND

if (($liczba >= 1000) && ($liczba < 10000)) { coś tam } 


  • 0

#3 Totto

Totto

    Podpowiadacz

  • Przyjaciele
  • PipPipPipPipPip
  • 275 postów

Napisano 28 styczeń 2003 - 11:49

Dzięki Nortonie za poprawienie błędów. Licznik jednak nadal się nie wyświetla. :( Być może czegoś jeszcze bakuje? Oto cały blok BODY:








Zamienilem nawet znaczniki ""
bo myślałem, że może mam starą wersję intepretatora skryptów. Na nic się to jednak zdało. :( Co robię źle :?: :?: :?:
  • 0

Totto :)
 



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych