Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sprawdzanie ip,klikanie w baner i dopisywanie ip do .txt
Lonely wolf
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.06.2006

Ostrzeżenie: (0%)
-----


A więc prosiłbym kogoś o pomoc w stworzeniu następującego skryptu:
Każdy wchodzący na strone aby dostać się do treści właściwej, musiałby kliknąć raz w miesiącu na baner. Chciałbym, żeby oparty był na wpisywaniu numerów IP do pliku tekstowego np. ip.txt. Miło byłyby żeby także wpisywał przy okazji date klikniecia. A więc:

Narazie jestem laikiem w dziedzienie php wiec:
- na poczatku bedzie czytany ip.txt
- nastepnie bedzie pobierany nr IP
- potem byloby sprawdzane czy dany numer IP (ciąg znaków) znajduje sie juz w pliku
- jezeli jest to odrazu otwiera mu index.php, natomiast jezeli nie, to otwiera specjalnie przygotowana strone z danym banerem i jakims napisem
- po kliknieciu strona zostalaby otwarta w nowym oknie, numer IP wraz z datą byłby dopisywany do ip.txt
- po tej operacji skrypt odczekiwalby 5 sekund i otwieralby strone


Jak narazie sam doszedlem do tego:
  1. <?
  2. $dane = fread(fopen("ip.txt","r"),filesize("ip.txt")); /* wczytujemy stare IP */
  3. $czas = time();
  4. $new = getenv("REMOTE_ADDR").'-'.date("d/m/Y", $czas).'-'.strip_tags($ref).'n'; /* ten fragment skopiowalem, 
  5. a funkcja strip_tags ma cos zabezpieczac - szczerze powiedziawszy to nie wiem na jakiej dziala zasadzie */
  6.  
  7. /* Tu mi brakuje sprawdzania nr ip, klikania w baner */
  8.  
  9. $new .= $dane;
  10. $fp = fopen("file/ip.txt","w"); /* zapisujemy nowe IP gdy ktos nie klikal - dopiero po kliknieciu */
  11. fputs($fp,$new);
  12. fclose($fp);
  13. ?>


Jezeli nikomu nie bedzie sie chcialo za to zabrac to prosze o podpowiedzi w stulu funkcja sprawdzajaca ciag znakow, z tym klikaniem(dla mnie najtrudniejszy element) i odczekiwanie 5s. Sprobuje sam to wszystko posklejac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Lonely wolf 6.06.2006, 22:01:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Speedy
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


Apropos kodu nr 1.

Lepiej zrób tablicę z tego pliku, to wtedy łatwiej będzie Ci sprawdzić, czy dany IP tam jest.

Możesz to zmodyfikować tak

  1. <?
  2. $dane = file("ip.txt"); // robimy tablice z pliku
  3. $czas = time();
  4. $new = getenv("REMOTE_ADDR")."-".date("d/m/Y", $czas)."-".strip_tags($ref)."n"; // poprawilem znak nowej linii ;-)
  5. $new2 = getenv("REMOTE_ADDR");
  6.  
  7. // Tu mi brakuje sprawdzania nr ip, klikania w baner
  8.  
  9. // wykonujemy pętlę foreach na tablicy zrobionej z pliku
  10.  
  11. foreach($dane as $zawartosc_pojedynczej_linii)
  12. {
  13.  
  14. // sprawdzamy, czy w pojedynczej linii znajduje sie ip za pomoca stristr()
  15.  
  16.  if(stristr($zawartosc_pojedynczej_linii, getenv("REMOTE_ADDR")) <> "")
  17.  {
  18.  $ip_jest_w_pliku = true;
  19.  }
  20.  else
  21.  {
  22.  $ip_jest_w_pliku = false;
  23.  }
  24.  
  25. }
  26.  
  27. if($ip_jest_w_pliku == true)
  28. {
  29.  
  30. header("Location: index.php") // otworz index.php jesli ip jest w pliku
  31. }
  32. elseif($ip_jest_w_pliku == false)
  33. {
  34.  
  35. // dopisujemy ip do pliku, jesli go tam nie ma
  36.  
  37. $fp = fopen("file/ip.txt","a");
  38. fputs($fp,$new);
  39. fclose($fp);
  40.  
  41. header("Location: strona_z_bannerami.php") // otworz strone z bannerami jesli ip nie ma w pliku
  42. }
  43.  
  44. ?>


Pisałem to z palca - nie wiem, czy będzie działać - pokombinuj, a sam dojdziesz do rozwiązania (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował Speedy 8.06.2006, 20:48:34
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 06:30