PHP min. 5.6.8MySQL min. 5.1Apache min. 2.0
PHP-Fusion 9 Jádro
v9.0
Český překlad
Pravidelně aktualizovaný

Technologie

Zhlédnutí článků podle IP adresy

Dnes vám ukážu, jak vytvořit kód pro zhlédnutí článků podle IP adresy. Prakticky se to provádí tak, že se o to postará funkce, jejíž zápis pokaždé při načtení stránky přičte hodnotu jedna ke stávající hodnotě. To se děje za pomocí vytvoření nové tabulky v MySQL, resp. phpMyAdmin.


Dnes vám ukážu, jak vytvořit kód pro zhlédnutí článků podle IP adresy. Prakticky se to provádí tak, že se o to postará funkce, jejíž zápis pokaždé při načtení stránky přičte hodnotu jedna ke stávající hodnotě. To se děje za pomocí vytvoření nové tabulky v MySQL, resp. phpMyAdmin.




Kód použijeme v PHP-Fusion, v souboru news.php, který je typickou službou pro zveřejňov ání článků. Zhlédnutí podle IP adresy v tomto souboru bude tedy probíhat za asistence tabulky v MySQL/phpMyAdmin. V tomto rozhraní vytvořte tabulku:




$s = dbquery("CREATE TABLE prefix_read_ip (
`id` smallint(5) unsigned NOT NULL auto_increment,
`ip` varchar(255) NOT NULL,
`page` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;");
?>


Zde v příkladu použitý prefix přepíšeme na svůj prefix, a to podle záznamu v souboru config.php. A nyní pojďme na druhou úpravu v soubor news.php. Standardně jde o řádky 137 a 139 (ve verzi do 7.02). Zde je funkce "if", která při načtení stránky přičte hodnotu jedna k hodnotě, která je v tabulce ve sloupci news_reads. A právě onen kód nahradíme následujícím novým kódem:


// Zhlédnutí podle IP adresy
$vyp = dbquery("SELECT * FROM ".$db_prefix."read_ip WHERE page='n".$_GET['readmore']."'");
$ipcko = dbarray($vyp);
if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");

if ($ipcko['ip'] != $ip) {
if (!isset($_POST['post_comment']) && !isset($_POST['post_rating'])) {
$result3 = dbquery("INSERT INTO ".$db_prefix."read_ip (ip, page) VALUES ('".$ip."', 'n".$_GET['readmore']."')");
$result2 = dbquery("UPDATE ".DB_NEWS." SET news_reads=news_reads+1 WHERE news_id='".$_GET['readmore']."'");
$data['news_reads']++;
}
}
// Zhlédnutí podle IP adresy - konec
?>




  • Autor: Viktor Pexa

  • 'PC-politika.czZpět na HomePage!
  • Obtížnost:
  • Zdroj: PHP-Fusion/




Kvido 11.09.2015 00:02 186 0 komentářů

0 komentářů

Zanechat komentář

Přihlaste se, abyste mohli zveřejnit komentář.
  • Žádné komentáře byly zveřejněny.
Nejnovější témata fóra
  Vlákno Zobrazení Odpovědi Poslední příspěvek
na stiahnutie
v Pomoc
19 1 RobiNN
20-08-2018 11:16
Orázky - kategórie a ostatn...
v Administrace obsahu
60 6 Balin50
20-08-2018 08:19
FORUM a zobrazeni prispevku
v PHP-Fusion 7
23 0 jefisale
19-08-2018 22:08
staticke pozadie
v Infuze, panely, vzhledy
31 2 jany
19-08-2018 20:46
Novinky
v Bugy a chyby
358 23 Balin50
17-08-2018 15:23
Upgrade 17.3.2018 - AdminLTE
v PHP-Fusion 9.0.3
46 2 Kvido
17-08-2018 13:54
Administracia
v Administrace uživatelů
83 3 RobiNN
17-08-2018 11:43