Autor | Zpráva | ||
---|---|---|---|
Sylar Profil * |
#1 · Zasláno: 21. 4. 2008, 10:15:36
Tedy funguje, ale špatně.
Ten script jsem našel někde na webu a jen si ho upravil k obrazu svému. Tuhle stránku pošlu uživateli abych získal jeho IP, která se mi uloží do db. ban.php <?php mysql_connect("localhost", "user", "heslo"); mysql_select_db("bany"); mysql_query('SET NAMES UTF8'); mysql_query("CREATE TABLE IF NOT EXISTS `ban` ( `id` int(10) unsigned NOT NULL auto_increment, `ip` varchar(255) character set utf8 collate utf8_czech_ci, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1 ;") or die("Nastala chyba: " . mysql_error()); $user_ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query ("INSERT INTO `ban` VALUES ('','$user_ip')") or die ( mysql_error()); echo "<html> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /> <title>BAN</title> </head> <body> <center><strong>Congratulation. You've just got BAN Enjoy it !</strong></center> </body> </html>"; ?> DB i tabulky jsou v poho. V phpmyadmin je vidím, jsou v pořádku vytvořené. Pak na indexu už jen kontroluju vstupní IP a porovnávám je s těmi v db tímto scriptem: index.php <?php @mysql_connect("localhost", "user", "heslo") or die ("Přihlášení se nepodařilo"); @mysql_select_db ("bany") or die ("Nepovedlo se vybrat databázi"); $user_ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query ("SELECT * FROM ban"); while ($mysql_ip = mysql_fetch_array ($query)) { if ($user_ip = $mysql_ip['ip']) { echo "<html> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /> </head> <body> <center><strong>Máš BAN, záškodníku!</strong></center> </body> </html>"; exit; } } ?> zbytek html stránky, který se nezobrazí uživateli s BANánem. Protože mám stránky dělané přes includy, stačí to mít pouze na indexu. Tak a ted, kde je problém. Pošlu někomu stránku ban.php, jeho IP se mi uloží do db, v db mám tedy 1 záznamů a on mi píše že nemůže na stránky. Co je ale špatné, že já také ne, a ani ostatní uživatelé, kteří vstoupí na stránky, tedy na index.php. Jakmile pošlu někomu ban.php a jeho IP se mi uloží do db, na stránky nemůže pak nikdo, ale přitom jejich IP není vůbec uložená v db, je tam pouze pořád ta jedna, přesto se pak nemůže nikdo na stránky dostat. Nevíte prosím někdo kde je problém ? :( |
||
TSD Profil * |
#2 · Zasláno: 21. 4. 2008, 10:27:26
Máš tam několik chyb, ze kterých se ježí chlupy.
- jednak jsem ještě neviděl, aby někdo vytvářel tabulku z php, to je dost extrém, ale budiž - procházíš všechny záznamy v tabulce a každý ověřuješ. Oprav si $query = mysql_query ("SELECT * FROM ban"); - if ($user_ip = $mysql_ip['ip']) { |
||
Sylar Profil * |
#3 · Zasláno: 21. 4. 2008, 11:02:28
Jouuu super ... bylo to tim ==, taková primitivní chyba, stydim se ... ale díky moc :-)
JJ vim, kód je strašnej, ale říkám, není můj, já bych nedal dohromady ani tohle, a jsem rád že to vůbec funguje. PHP se teprve pomalu učim, tak ho zatim trochu, trochu víc prznim no ... časem to bude lepší ... :-) Ještě jednou moc díky |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0