Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przerobienie skryptu
Forum PHP.pl > Forum > Przedszkole
plusz01
Witam mam tai skrypt jak poniżej. On zapisuje dane do pliku a potem je odczytuje. Jest to plik statystyk jednak on zlicza każde odświeżenie jako kolejną odwiedzinę czy da rady przerobić go ta aby 1 ip liczył jako jedną odwiedzinę przez 24h po 24 h odnowa by zaliczył jako kolejną odwiedzinę z góry dzieki za pomoc


  1. <!--/***********************************************************************/
  2. /* see READMEfirst.txt before editing this file! */
  3. /* CENTER BLOCK addon for PHP-Nuke 5.3.1  */
  4. /* user stats and info in a center block on index.php */
  5. /* by: Bobby Apperson (bobby@bobbysays.org)  */ /* downloaded from: <a href=\"http://www.bobbysays.org\" target=\"_blank\">http://www.bobbysays.org</a>  */
  6. /* */
  7. /* for PHP-NUKE: Web Portal System  */
  8. /* version 5.3.1 (may work on other versions not tested - */
  9. /*  but please notify me if you have success!)  */
  10. /* ===========================  */
  11. /* */
  12. /* PHP-Nuke Copyright (c) 2001  */
  13. /* by Francisco Burzi (fbc@mandrakesoft.com)  */
  14. /* <a href=\"http://phpnuke.org\" target=\"_blank\">http://phpnuke.org</a>  */
  15. /* */
  16. /* Central Bottom Block for phpNuke ver 5.x */
  17. /* <a href=\"http://my-home.gr\" target=\"_blank\">http://my-home.gr</a>  */
  18. /* Copyright (c) 2002 Cleo Sakellari (cleo@attiki.net) */
  19. /* <a href=\"http://www.attiki.net\" target=\"_blank\">http://www.attiki.net</a> */
  20. /* */
  21. /* Daily Counter/total hits counter  */
  22. /*  <a href=\"http://www.proxy2.de/\" target=\"_blank\">http://www.proxy2.de/</a> - Free php and and perl script page  */
  23. /*  Daily Counter 1.1  */
  24. /* */
  25. /* This program is free software. You can redistribute it and/or modify */
  26. /* it under the terms of the GNU General Public License as published by */
  27. /* the Free Software Foundation; either version 2 of the License. */
  28. /* Central Bottom Block*/
  29.  
  30. /************************************************************************/-->
  31. <?
  32. echo '<center>';
  33. echo 'userów na stronie:<b> '.$GLOBALS['members'].'</b><br>';
  34. echo 'gości na stronie:<b> '.$GLOBALS['guests'].'</b>';
  35.  
  36. //open the file handler 
  37.  
  38. $fp=fopen("ip/counter.txt","r"); 
  39.  
  40. //Read the previous count 
  41. $count=fgets($fp,1024); 
  42.  
  43. //close the file. 
  44. fclose($fp); 
  45.  
  46. $fw=fopen("ip/counter.txt","w"); 
  47.  
  48. //Increment the counter 
  49. $cnew=$count+1; 
  50.  
  51. //write the counter back to the log file ie., acc.txt 
  52. $countnew=fputs($fw,$count+1); 
  53.  
  54. //Display VISITOR NUMBER - customize font!
  55.  
  56. echo " <br><br>Wszystkie wizyty: <b>$cnew</b>"; 
  57.  
  58. fclose($fw); 
  59.  
  60. ?> <?php
  61. // Daily Counter 1.1
  62. // Copyright (c)2000 Chi Kien Uong
  63. // URL: <a href=\"http://www.proxy2.de\" target=\"_blank\">http://www.proxy2.de</a>
  64.  
  65. // - chmod this document to 755! -
  66.  
  67. $fpt = "ip/daily.txt"; // path to counter log file - chmod it to 666
  68.  
  69. // optional configuration settings
  70.  
  71. $lock_ip =0; // IP locking and logging 1=yes 0=no
  72. $ip_lock_timeout =30; // in minutes  
  73. $fpt_ip = "ip/ip.txt"; // IP log file - chmod it to 666
  74.  
  75. // end configuration
  76.  
  77. function checkIP($rem_addr) {
  78. global $fpt_ip,$ip_lock_timeout;
  79. $ip_array = @file($fpt_ip);
  80. $reload_dat = fopen($fpt_ip,"w");
  81. $this_time = time();
  82. for ($i=0; $i<sizeof($ip_array); $i++) {
  83. list($time_stamp,$ip_addr,$hostname) = split("|",$ip_array[$i]);
  84. if ($this_time < ($time_stamp+60*$ip_lock_timeout)) {
  85. if ($ip_addr == $rem_addr) {
  86. $found=1;
  87. }
  88. else {
  89. fwrite($reload_dat,"$time_stamp|$ip_addr|$hostname");
  90. }
  91. }
  92. }
  93. $host = gethostbyaddr($rem_addr);
  94. if (!$host) { $host = $rem_addr; }
  95. fwrite($reload_dat,"$this_time|$rem_addr|$host\n");
  96. fclose($reload_dat);
  97. return ($found==1) ? 1 : 0;
  98. }
  99.  
  100. $this_day=(date("D, j F Y"));
  101. if (!file_exists($fpt)) {
  102. $count_dat = fopen($fpt,"w+");
  103. $count = 1;
  104. fwrite($count_dat,$count);
  105. fclose($count_dat);
  106. }
  107. else {
  108. $row = file($fpt);
  109. $test = chop($row[0]);
  110. $count = $row[1];
  111. if ($this_day == $test) {
  112. if ($lock_ip==|| ($lock_ip==&& checkIP($REMOTE_ADDR)==0)) {
  113. $count++;
  114. }
  115. }
  116. else {
  117. $count = 1;
  118. }
  119. $count_dat = fopen($fpt,"w+");
  120. fwrite($count_dat,"$this_day\n");
  121. fwrite($count_dat,$count);
  122. fclose($count_dat);
  123. }
  124. echo "<br>Dzisiaj: <b>$count</b><br><br>";
  125.  
  126. ?>
  127.  
  128. <?
  129.  
  130. $ip = getenv("REMOTE_ADDR");
  131. $browser = getenv( "HTTP_USER_AGENT");
  132.  
  133. echo "Twój IP: <b>".$ip;
  134. echo "</b><br>";
  135. echo "<br>Twoja Przeglądarka: <b><br><br>".$browser;
  136. echo "</b>";
  137.  ?>
  138. <script LANGUAGE="JavaScript">
  139. <!-- Begin
  140. var name = navigator.appName
  141.  if (name == "Microsoft Internet Explorer")
  142. document.write('<br>');
  143. else;
  144. // End -->
  145.  
  146. </SCRIPT>
  147. <br>
  148. <script LANGUAGE="JavaScript">
  149. <!-- Begin
  150. if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
  151.  
  152. var url="http://jportal2.com";
  153. var title="..:: JPORTAL ::..";
  154.  
  155. document.write('<A HREF="javascript:window.ext');
  156. document.write('ernal.AddFavorite(url,title);" ');
  157. document.write('onMouseOver=" window.status=');
  158. document.write("'..:: Dodaj do Ulubionych!! ::..'; return true ");
  159. document.write('"onMouseOut=" window.status=');
  160. document.write("' '; return true ");
  161. document.write('"><b>Dodaj do Ulubionych</b></a>');
  162. }
  163. else {;
  164. }
  165.  
  166. // End -->
  167. </SCRIPT>
  168. <br><br><i><b><a href="module.php?op=info">Więcej...</a>


a to drugi skrypt do którego sie odwołuje ten pierwszy

  1. <?
  2.  
  3. /*****************************************************/
  4. /* jaco.PORTAL - darmowy system portalowy  */
  5. /*****************************************************/
  6. /* autor: PaweŚ 'jaco' Jaczewski  */
  7. /* email: jaco@4me.pl */
  8. /* www:  www.phparea.4me.pl www.jportal.one.pl */
  9. /*****************************************************/
  10. /*  Bramka www2gg  */
  11. /*****************************************************/
  12. /* autor: Piotr Mach  */
  13. /* email: pm@gg.wha.la  */
  14. /* www:  gg.wha.la */
  15. /*****************************************************/
  16. /* Przystosowanie bramki do jaco.PORTAL'u  */
  17. /*****************************************************/
  18. /* autor: Dawid 'Bags Bunny' Humbla */
  19. /* email: bags@kk.com.pl  */
  20. /* www:  bags.kk.com.pl  */
  21. /*****************************************************/
  22.  
  23. ?>
  24. <script>
  25. <!--
  26. function displayWindow(url, width, height) {
  27. var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=no,toolbar=no,scrollbars=no,menubar=no,status=no' );
  28. }
  29. //-->
  30. </SCRIPT>
  31. <?
  32.  
  33.  
  34. function module_start() { }
  35.  
  36. function module_main($cmd) {
  37.  
  38.  
  39.  
  40.  
  41. main_title_open();
  42. echo 'Info';
  43. main_title_close();
  44. main_text_open();
  45. ?>
  46.  
  47. <div align="center"><h5>Parę informacji o Tobie....</h5></div>
  48. <table class="uni_01" WIDTH="100%" align=center border=0>
  49. <tr>
  50.  <td><b>Server:</b></td>
  51.  <td></td>
  52. </tr>
  53. <? $ipaddr = getenv("REMOTE_ADDR"); ?>
  54. <tr>
  55.  <td>Adres IP:</td>
  56.  <td><?echo $ipaddr; ?></td>
  57. </tr>
  58. <?
  59. $what = gethostbyaddr($ipaddr);
  60. if ($ipaddr != $what) {
  61. echo ("<tr>\n <td>Host:</td>\n <td>$what</td>\n</tr>\n");
  62. }
  63. ?>
  64. <tr>
  65.  <td>Zapytanie:</td>
  66.  <td><?echo getenv("REQUEST_METHOD"); ?></td>
  67. </tr>
  68. <tr>
  69.  <td>Server Protokół:</td>
  70.  <td><?echo getenv("SERVER_PROTOCOL"); ?></td>
  71. </tr>
  72. <tr>
  73.  <td>Przeglądarka:</td>
  74.  <td><?echo getenv("HTTP_USER_AGENT"); ?></td>
  75. </tr>
  76. <tr>
  77.  <td>Język:</td>
  78.  <td><?echo getenv("HTTP_ACCEPT_LANGUAGE"); ?></td>
  79. </tr>
  80. <tr>
  81.  <td>Port:</td>
  82.  <td><?echo getenv("REMOTE_PORT"); ?></td>
  83. </tr>
  84. <tr>
  85.  <td><b>Java Script:</b></td>
  86.  <td></td>
  87. </tr>
  88. <tr>
  89.  <td>Przeglądarka:</td>
  90.  <td><script>document.write(navigator.appName)</script></td>
  91. </tr>
  92. <tr>
  93.  <td>System operacyjny:</td>
  94.  <td><script>document.write(navigator.platform)</script></td>
  95. </tr>
  96. <tr>
  97.  <td>Rozdzielczość:</td>
  98.  <td><script>document.write(screen.width + " x " + screen.height)</script></td>
  99. </tr>
  100. <tr>
  101.  <td>Kolory:</td>
  102.  <td><script>document.write(screen.colorDepth + " bit")</script></td>
  103. </tr>
  104. <tr>
  105.  <td>Java włączona?</td>
  106.  <td><script language="JavaScript">
  107. if(navigator.javaEnabled()){document.write("Tak")}
  108. else{document.write("Nie")}
  109.  </script></td>
  110. </tr>
  111. <script language="JavaScript">
  112.  for(i=0; i<navigator.plugins.length; i++){
  113.  document.writeln("<tr>");
  114.  document.writeln("<td colspan=2>" + navigator.plugins[i].name + "</td>");
  115.  document.writeln("</tr>");
  116.  }
  117. </script>
  118. </table>
  119.  
  120. <?
  121.  
  122. main_text_close();
  123.  
  124. } 
  125.  
  126.  
  127.  
  128. function module_info($co) {
  129.  
  130. if($co=='title')
  131. return 'Info o Tobie :)';
  132.  
  133. }
  134. ?>
rzymek01
najprościej to utwórz ciacho, które wygasa po 24h, a cały kod odpowiedzialny za zapis daj pod if'a: if (!isset($_COOKIE['wizyta'])) { zapis danych }
plusz01
Ale ciasteczka można bardzo szybko usunąć i będzie dalej zliczać jako kolejne odwiedzenie. Myslałem o tym żeby skrypt zapisywał adres ip do pliku i przy każdym odswierzeniu strony czy tez podstrony wyciągał dane z pliku i jeżeli adres jest to nie dodawał odwiedziny a jezeli nie ma zeby dodał i zeby adresy kasowały sie o polnocy każdego dnia. Tylko jestem początowym programistą i dopiero się ucze dlatego proszę o wyrozumiałość pozdrawiam
Cysiaczek
Zabezpieczasz zrówno IP jak i Cookies.
Skoro wiesz, że musisz zabepieczyć IP, to w czym jeszcze możemy pomóc? Przedstaw jakiś konkretny fragment kodu. Wrzucasz cały skrypt i myślisz, że ile osób go przeczyta?

Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole
plusz01
Jest to dla mnie zbyt trudne dlatego prosiłbym o pomoc większych profesionalistów
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.