Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]System Zabezpieczający.
Rash
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


Zrobiłem Skrypt.
Skrypt Ten Zapisuje ip odwiedzającego,date i godzine wejscia na stronę:
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR']; //Przypisujesz Zmiennej IP.
  3. $czas = date("H:i:s"); //Przypisujesz zmiennej czas.
  4. $data = date("d-m-Y"); //Przypisujesz Zmiennej Date..
  5. mysql_connect ("host", "login", "haslo"); //Łączysz Się z Bazą
  6. mysql_select_db ("baza"); //Wybierasz Bazę
  7. $zapytanie = "INSERT INTO `ip` (`id`, `ip`, `czas`, `data`) VALUES ('', '$ip', '$czas', '$data')";//Przypisujesz zmiennej Zapytanie
  8. mysql_query($zapytanie); //Wykonujesz Zapytanie
  9. mysql_close(); //Zamykasz połączenie
  10. ?>

Możesz wstawić to do dowlnej podstrony za pomocy:
  1. <?php
  2. include("ip.php");
  3. ?>

To zapytanie Sql:
  1. CREATE TABLE `ip` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `ip` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  4. `czas` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  5. `data` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  6. PRIMARY KEY (`id`))

Mam nadzieje że się wam przyda
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
aren
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 8.03.2007

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


Chociaż to popraw na (na szybkiego):
  1. <?php
  2. CREATE TABLE `ip` (
  3. `id` int(10) NOT NULL auto_increment,
  4. `ip` varchar(15) default NULL,
  5. `data` datetime default '0000-00-00 00:00:00',
  6. PRIMARY KEY (`id`))
  7. ?>

wlasciwie id mozesz dac na mediumint, czy nawet smallint, w zaleznosci od tego ilu masz odwiedzajacych.

Natomiast .php:
  1. <?php
  2. $zapytanie = "INSERT INTO `ip` (`ip`, `data`) VALUES (".mysql_escape_string( $_SERVER['REMOTE_ADDR']).", UTC_TIMESTAMP())";
  3. ?>


1. po oddzielac sobie i date i czas, jesli masz w jednej kolumnie mozesz sobie pozniej bez problemu rozdzielic
2. H:i:s oraz d-m-Y daje odpowiednio (5+1)+(5+1)=12B na rekord, datetime to 8B (to wygodny format). Jednak radzilbym Tobie zapisywac date w unixtime i bedzie zajmowac tobie tylko 4B

To takie male uwagi.
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: 12.10.2025 - 06:36