public function get_data() { session_start(); require_once 'libraries/connect_db.class.php'; if ($_POST['exit'] == 'Выход') { $_SESSION['nickname'] = null; $_SESSION['userpassword'] = null; $_SESSION['user_id'] = null; session_destroy(); unset($_POST); } if ($_SESSION['nickname'] && $_SESSION['userpassword']) { $nickname = $_SESSION['nickname']; $filename = basename($_SERVER['SCRIPT_FILENAME']); $ObjDb = new connect_db(); $link_id = $ObjDb->db_connect(); $nickname = iconv('utf-8', 'windows-1251', $nickname); $query = "select user_id from {$this->user_tablename} where nickname='{$nickname}'"; $result = mysql_query($query); $query_data = mysql_fetch_assoc($result); $user_id = $query_data['user_id']; $query = "SELECT user_id FROM {$this->access_log_tablename} WHERE page = '{$filename}' AND user_id = '{$user_id}'"; $result = mysql_query($query); if (!mysql_num_rows($result)) { $query = "INSERT INTO {$this->access_log_tablename} VALUES ('{$filename}', '{$user_id}', 1, NULL)"; } else { $query = "UPDATE {$this->access_log_tablename} SET visitcount = visitcount + 1, accessdate = NULL WHERE page = '{$filename}' AND user_id = '{$user_id}'"; } $result = mysql_query($query); $num_rows = mysql_affected_rows($link_id); if ($num_rows != 1) { die($ObjDb->sql_error()); } $ObjDb->db_close(); } }
<?php header('Content-Type: text/html; charset=UTF-8'); include_once "../libraries/connect_db.class.php"; $ObjDb = new connect_db(); $link_id = $ObjDb->db_connect(); if (!$link_id) { die($ObjDb->sql_error()); } # Создание таблицы 'activity'(признак работы скрипта поиска) $tablename = 'activity'; $table_def = "bool TINYINT NOT NULL,"; $table_def .= "seacher VARCHAR(50) BINARY NOT NULL"; $query = "START TRANSACTION;"; $result = mysql_query($query); if (!$result) { die($ObjDb->sql_error()); } if (!mysql_query("CREATE TABLE {$tablename} ({$table_def}) ENGINE=InnoDB;")) { die($ObjDb->sql_error()); } $seacher = array('yandex', 'google'); foreach ($seacher as $value) { $query = "INSERT INTO {$tablename} VALUES(0,'{$value}')"; $result = mysql_query($query); if (!$result) { die($ObjDb->sql_error()); } } echo "Таблица {$tablename} была успешно создана.<br />"; # Создание таблицы 'captcha'(признак работы скрипта поиска)
public function get_data() { //-------------------------------работа с таблицей данных-------------------------------- $ObjDb = new connect_db(); $link_id = $ObjDb->db_connect(); if (!$link_id) { print $ObjDb->sql_error(); exit; } //------------------------выбор сайтов и запросов из таблицы--------------------------------- $query = "SELECT site FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' GROUP BY site"; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $site = $query_data['site']; //$Sites[] = iconv('windows-1251', 'utf-8', $site); $Sites[] = $site; } if (count($Sites) != 0) { $Sites = array_unique($Sites); $temp = $Sites; $Sites = array(); foreach ($temp as $value) { $Sites[] = $value; } unset($temp); foreach ($Sites as $site) { //$site = iconv('utf-8', 'windows-1251', $site); $query = "SELECT keyword FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' AND site = '{$site}'"; //$site = iconv('windows-1251', 'utf-8', $site); $temp[] = $site; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $keyword = $query_data['keyword']; if ($keyword == null) { continue; } //$temp[] = iconv('windows-1251', 'utf-8', $keyword); $temp[] = $keyword; } $Data[] = $temp; unset($temp); } } /* echo"<pre>"; print_r($Data); echo"</pre>"; exit; */ //------------------------определение $textArray--------------------------------------- $site = $Sites[0]; //$site = iconv('utf-8', 'windows-1251', $site); $query = "SELECT keyword FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' AND site = '{$site}'"; $site = $Sites[0]; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $keyword = $query_data['keyword']; //$textArray[] = iconv('windows-1251', 'utf-8', $keyword); $textArray[] = $keyword; } //------------------------------------------------------------------------------ ////-----------------------Получаем число доступных запросов-------------------- foreach ($this->seacher as $value) { //---------------Проверяем перерыв между поисками------------------- $query = "SELECT accessdate FROM {$this->count_tablename} WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'"; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } $query_data = mysql_fetch_array($result); $accessdate = $query_data['accessdate']; $todayU = intval(date("U")); $accessU = intval(strtotime($accessdate)); $todayDate = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); $accessdate = date("Y-m-d H:i:s", $todayDate); $diff = $todayU - $accessU; /* * Если перерыв больше $delta сбрасываем счетчик и записываем новое время * при последующем обновлении count в $count_tablename время не обновляется до истечения времени $delta */ if ($diff > $this->delta) { $query = "UPDATE {$this->count_tablename} SET count = '0', accessdate = '{$accessdate}' WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'"; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } } $query = "SELECT count FROM {$this->count_tablename} WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'"; $result = mysql_query($query); if (!$result) { print $ObjDb->sql_error(); exit; } $query_data = mysql_fetch_array($result); $countOfRequest[$value] = 300 - $query_data['count']; // 300 максимальное число запросов отведено на полдня(можно варьировать в $delta parser_curl_yandex.php etc) } //------------------------------------------------------------------------------------ $data = array('Sites' => $Sites, 'textArray' => $textArray, 'Data' => $Data, 'CountOfRequest' => $countOfRequest); $ObjDb->db_close(); return $data; }