Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Wrzucanie IP do bazy i usuwanie po 24h
Forum PHP.pl > Forum > Przedszkole
b4x
  1. <?php
  2.  
  3. $ip = $_SERVER['REMOTE_ADDR'];
  4.  $ip_search = "SELECT * FROM ip where ip = $ip";
  5.  $row = @mysql_fetch_row ($ip_search);
  6.  
  7.  if ($row["ip"] == NULL ){
  8.  
  9. $ip_input = "INSERT INTO ip (ip) values ('', '$ip', '1')";
  10. @mysql_query ($ip_input);
  11.  
  12. $query = "SELECT num FROM counter WHERE id = 1";
  13. $result = @mysql_query($query);
  14.  
  15. $row = @mysql_fetch_array( $result );
  16.  
  17. $i = $row["num"];
  18. ++$i;
  19.  
  20. $query2 = "UPDATE counter SET num = $i";
  21. @mysql_query($query2); 
  22. ?>


Cos takiego mam ale niewiem :/
snipe
napisalbys jak wygladaja twoje tabele w db winksmiley.jpg a tak poza tym ip w tym przypadku bedzie stringiem wiec powinienes go ujac w apostrofy: $ip_search = "SELECT * FROM ip where ip = '$ip'"; smile.gif
b4x
  1. <?php
  2.  
  3.  
  4. -- Struktura tabeli dla `st_stats`
  5. -- 
  6.  
  7. CREATE TABLE `st_stats` (
  8. `stat_id` mediumint(8) unsigned NOT NULL auto_increment,
  9. `ip_id` mediumint(9) NOT NULL default '0',
  10. `referer_id` mediumint(9) NOT NULL default '0',
  11. `agent_id` mediumint(9) NOT NULL default '0',
  12. `date` datetime NOT NULL default '0000-00-00 00:00:00',
  13. PRIMARY KEY (`stat_id`),
  14. UNIQUE KEY `stat_id` (`stat_id`)
  15. ) TYPE=MyISAM AUTO_INCREMENT=18 ;
  16.  
  17.  
  18. ?>


A plik licz.php wyglada tak :

  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. @mysql_connect ('localhost', 'root', 'krasnal') OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error());
  4. @mysql_select_db ('krasnal') OR die ('Nie udało mi się wybrać bazy danych: ' . mysql_error());
  5. if ($host != 'twoj.host' && $ip != 'twoje.ip')
  6. {
  7. if($visited != 1)
  8. {
  9.  
  10. // dodaj wszystko do statystyk
  11. mysql_query("insert into st_stats (stat_id, ip_id, referer_id, agent_id, date) values ('', '$ip_id', '$referer_id', '$agent_id', now())");
  12.  
  13. }
  14.  
  15. }
  16. else
  17. {
  18. $how = 'brak';
  19. }
  20.  
  21. // pobierz ilosc wszystkich odwiedzin
  22. $result = mysql_query("select stat_id from st_stats order by 'st_stats', 'stat_id' desc limit 0,1;");
  23. $row = mysql_fetch_array($result);
  24. $all_visit = $row[0];
  25.  
  26. // wyswietl wyniki
  27. echo '
  28. UNIQ: <b>'.$all_visit.'</b><br />
  29. ';
  30.  
  31. // zakończ połączenie z bazą danych
  32. ?> 


Che to tutaj jakos wrzucic smile.gif
snipe
z tego co widze to tutaj: if ($host != 'twoj.host' && $ip != 'twoje.ip') masz sprawdzana zmienna $host a nigdzie jej nie deklarujesz, jesli chcesz sprawdzac hosta przypisz tej zmiennej jakas wartosc, w przeciwnym wypadku wywal ja smile.gif
b4x
mam to biggrin.gif
Tylko ze nie wkleiłem tongue.gif
acztery
a jak usuwasz z bazy to gdzie masz DELETE questionmark.gif?

tak lepiej chyba

  1. <?php
  2.  
  3.  
  4. if ((gethostbyaddr($ip)) != 'twoj.host') && ($ip != 'twoje.ip'))
  5.  
  6. ?>


acha moze sie myle ale nie wiem czy dobre jest stosowac mediuminit9 na ip i host proponuje varchar(32)
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.