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
Lonely wolf
post
Post #2





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

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


A wiec ten skrypt znajdzie sie na stronie glownej
  1. <?
  2. $dane = file("ip.txt");
  3. $czas = time();
  4. $new = getenv("REMOTE_ADDR")."-".date("d/m/Y", $czas)."-".strip_tags($ref)."n";
  5. $new2 = getenv("REMOTE_ADDR");
  6.  
  7. foreach($dane as $zawartosc_pojedynczej_linii)
  8. {
  9.  if(stristr($zawartosc_pojedynczej_linii, getenv("REMOTE_ADDR")) <> "")
  10.  {
  11.  $ip_jest_w_pliku = true;
  12.  }
  13.  else
  14.  {
  15.  $ip_jest_w_pliku = false;
  16.  }
  17. }
  18.  
  19. if($ip_jest_w_pliku == true)
  20. {
  21. header("Location: index.php") 
  22. }
  23. else
  24. {
  25. header("Location: strona_z_bannerami.php")
  26. }
  27.  
  28. ?>


Natomiast ten na stronie z banerem
  1. <?php
  2.  
  3. if($_GET['kliknij'] == 'tak')
  4. {
  5. fputs($fp,$new);
  6. fclose($fp);
  7. sleep(5); // czeka 5 sekund
  8. header("Location: index.php")
  9. }
  10.  
  11. ?>
  12.  
  13. <a href="plik_z_kodem.php?kliknij=tak"><img src="banner.jpg" alt="" /></a>


I jeszcze pytanie - czy jest jakas funkcja ktora wykrywalaby przekierowanie w dany adres, ale na zasadzie ze nie musialbym ingerowac w kod banera??

Znalazlem takie o to rozwiazanie ale nie wiem jak je zastosowac, a raczej wykorzystac w w/w skrypcie:
http://biblioteka-php.be/rotator-banerow/d...kliknieciu.html
Niestety nie wiem czy to wymaga ingerowania w kod baneru czy tez nie - bylbym bardzo wdzieczny gdyby ktos opisal mi poszczegolne fragmenty tego skryptu

PS. zauwazylem ze skrypt ten jest oparty na bazie danych - czy daloby sie w odpowiednich miejscach na stronie zamiescic ten banerek "standardowo"-w htmlu??

Ten post edytował Lonely wolf 11.06.2006, 23:03:04
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: 7.10.2025 - 10:16