Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XAMPP i problem z wyświetlaniem licznika
Forum PHP.pl > Forum > Przedszkole
MFrost
Witam

Zainstalowałem wersje XAMPP 1.7.3 i mam problem z poprawnym wyświetlaniem licznika gości
chodzi mi o to stronkę
przykład
u mnie na lokalnym kompie wygląda to tak, że zamiast licznika mam taki o to tekst

Odwiedziło nas "; $i++; endwhile; } ?> osób

wcześniej miałem zainstalowaną wersję XAMPP 1.7.2 i licznik wyświetlał się poprawnie, może ktoś wie o co w tym chodzi?

pozdrawiam
IceManSpy
Może pokaż kod? I raczej nie ten dział.
MFrost
  1. <?
  2. ##########################################
  3. # #
  4. # Jinx M's Basic Hit Counter #
  5. # #
  6. # www.jinxm.co.uk spam@jinxm.co.uk #
  7. # #
  8. ##########################################
  9.  
  10. ################################################################################
    ###############
  11. #
  12. # Although there are probably better ways of doing this, I had to work it out for myself.
  13. # Its a simple script looking at it now, yes, but working out how to do it was a learning
  14. # process for me.
  15. #
  16. # So please, don't pass this script off as your own work or make money out of it in any way.
  17. # If you distribute it, please distributed it along with the readme.txt file.
  18. #
  19. ################################################################################
    ###############
  20.  
  21. #version 1.0
  22.  
  23. # Righto, get all the variables and stuff from the edit.me file
  24. include ('edit.me');
  25.  
  26. # set a session ID
  27.  
  28. # This is the bit which adds to the count.txt file
  29.  
  30. if ($count_what == 'visitors') {
  31. # First it creates a session Id for each visit so that it counts
  32. # visits rather than how many times a page is loaded.
  33. if (!$_REQUEST['PHPSESSID']) {
  34. $thefile = file("count.txt");
  35. $count = implode("", $thefile);
  36. $count++;
  37. $myfile = fopen("count.txt","w");
  38. fputs($myfile,$count);
  39. fclose($myfile);
  40. }
  41. # done
  42. }
  43.  
  44. else {
  45. # Else it will count every page load
  46. $thefile = file("count.txt");
  47. $count = implode("", $thefile);
  48. $count++;
  49. $myfile = fopen("count.txt","w");
  50. fputs($myfile,$count);
  51. fclose($myfile);
  52. }
  53.  
  54. ?>
  55.  
  56. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  57.  
  58. <html>
  59. <head>
  60. <title></title>
  61. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  62.  
  63.  
  64. </head>
  65. <body>
  66.  
  67.  
  68.  
  69. <div style="font-family: Helvetica; font-size: 12px; background:#399003; font-weight: bold; margin-bottom: 0px; margin-top: 0px; color:white;">Odwiedziło nas&nbsp;&nbsp;
  70. <!-- Now read the count.txt file and print it -->
  71. <!-- You can surround this with HTML like <font> tags or whatever -->
  72. <?
  73. $thefile = file("count.txt");
  74. $count = implode("", $thefile);
  75.  
  76. # now print either the text version...
  77. if ($print_what == 'text') {
  78. print $count;
  79. }
  80.  
  81. #else print graphics
  82. else {
  83. $num = strlen ($count);
  84. $i = 0;
  85. while ($i < $num) :
  86. $graphic = substr ($count, $i, 1);
  87. print "<img src=\"$url/$graphic.$ext\" border=\"0\" alt=\"$graphic\">";
  88. $i++;
  89. endwhile;
  90. }
  91. ?>
  92. &nbsp;&nbsp;osób</div>
  93.  
  94. </body>
  95. </html>
Ramzaa
Ah.. pozamieniaj wszystkie znaczniki <? na <?php. Pomoże na pewno winksmiley.jpg
MFrost
po zmienieniu znaczników na <?php (w tym pliku były tylko dwa) nie wyświetla się w ogóle licznik, natomiast gdy zmienię tylko drugi znacznik, licznik się wyświetla ale w formie tekstowej
kokers
Skoro pojawia Ci się tekst, zamiast obrazka, to znaczy, że źle jest coś z tym:
  1. print "<img src=\"$url/$graphic.$ext\" border=\"0\" alt=\"$graphic\">";


nie widzę nigdzie w kodzie, żeby była zdefiniowana zmienna $ext która jest pewnie rozszerzeniem dla grafiki... Zobacz po wywołaniu strony źródło i sprawdź jaki "src=..." dokładnie Ci wyświetla.
I najlepiej używać <?php niż <?. Przenosząc się na inny serwer może być wyłączona dyrektywa short_open_tags
MFrost
hmm rzeczywiście coś jest z tą ścieżką, bo poprawiłem ją przez firebuga i zadziałało ale niestety nie wiem jak to zrobić na stałe w tym pliku, zmienna $ext jest zdefinowana w pliku edit.me, a zdjęcia liczb do licznika przechowywane są w katalogu img

  1. <?
  2. # Set up some variables and stuff...
  3.  
  4. # What do you want? A plain text count or one with graphics?
  5. # Its set to $print_what = 'text'; but if you want graphics
  6. # change it to $print_what = 'graphics';
  7.  
  8. $print_what = 'Liczba odwiedzin';
  9.  
  10.  
  11. # Assuming you want graphics, what type do you want?
  12. # Put the extention type here eg, gif, jpg, jpeg, png
  13.  
  14. $ext = 'gif';
  15.  
  16. # And where are these graphics? Put the URL to the folder
  17. # they are in here but no trailing / though please :)
  18.  
  19. $url = 'img';
  20.  
  21. # And lastly, WHAT do you want to count? Do you want to count each
  22. # time the page is loaded (refreshing the page will add to the count)
  23. # or count each visitor only once (until they go away and come back again)
  24. # Counting just visitors is much more accurate representation of visits to
  25. # your site.
  26. # $count_what = 'visitors' for visitors or $count_what = 'hits' for hits.
  27.  
  28. $count_what = 'visitors';
  29.  
  30. ?>
kokers
a jaka ścieżka dla img pojawia się w źródle po wykonaniu kodu?
MFrost
dla pierwszej cyfry pojawia się tak ścieżka
  1. <img border="0" alt="1" src="/1.">

kokers
include jest ok, string jest ok... Teraz widzę. Tak jak Ramzaa napisał zmień znacznik <? na <?php ... W pliku edit.me też powinieneś to zrobić. powinno zadziałać.
MFrost
ufff już zaskoczyło smile.gif dzięki wielkie za pomoc, pozdrawiam

a jeszcze takie pytanko z ciekawości, jak włączyć dyrektywę short_open_tags w xamppie?, bo w poprzedniej wersji tego pakietu chyba była włączona, skoro znaczniki były w stylu <?
kokers
w pliku php.ini (katalog apache) php.ini

lepiej jest jednak używać <?php ?>
potem skrypt przeniesiesz na jakiś hosting gdzie ta dyrektywa bedzie wyłączona i nie będzie możliwości zmiany i będziesz musiał przekopywać się przez wszystkie pliki i zmieniać. lepiej już teraz wyrabiać sobie nawyki
MFrost
ok dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.