$sql = false; //Check by type if ($mois != false) { $sql = "SELECT `ca`, `benef`\n\t\t\t\tFROM demo_exemple\n\t\t\t\tWHERE `mois`=" . $mois . ";"; } else { echo "Bad inputs !!"; exit; } /* * Exec query, transform the result in json and close the database * */ //If there is an sql query if ($sql) { //new PDO $db = connectDataBase(); //Send sql query $query = $db->query($sql); //Result if ($query->rowCount() > 0) { //All results $result = $query->fetchAll(PDO::FETCH_ASSOC); //Nb cols in the results $cols = count($result[0]); //Types of the columns (string, float, etc...) $col_types = array(); //Create an array "Name of column ==> Type of data" while ($cols-- > 0) { $col_info = $query->getColumnMeta($cols); $col_types[$col_info['name']] = $col_info['native_type']; }
*****************************************************************************/ require_once "libs/utils_sql.php"; require_once "libs/utils_users.php"; require_once "libs/utils_ihm.php"; require_once "libs/utils_browsers.php"; /****************************************************************************** * * MySQL * *****************************************************************************/ $config['host'] = "127.0.0.1"; $config['database'] = "demo"; $config['login'] = "******"; $config['password'] = ""; //If error stop webapp if (!is_object(connectDataBase())) { echo "MySQL error!"; exit; } /****************************************************************************** * * Configuration * *****************************************************************************/ //Starting time $starting_time = microtime(true); //Config cookies $cookie_time_to_live = time() + 5 * 365 * 24 * 3600; //5 years $cookie_password = "******"; //Folder name
function getLoginFromCookie() { global $cookie_password; $db = connectDataBase(); $sql = "SELECT `user_login` FROM `webapp_users`"; $query = $db->query($sql); if ($query->rowCount() > 0) { $result = $query->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $line) { $password = $cookie_password . " " . $line["user_login"]; if ($_COOKIE["ok"] == hash("sha512", $password)) { return $line["user_login"]; break; } } } $db = null; return false; }
function log_me() { global $starting_time; //------------------------------------------------------------------------- // DATA //------------------------------------------------------------------------- $date = new DateTime(); $date->setTimestamp(time()); $log["log_datetime"] = $date->format('Y-m-d H:i:s'); $log["log_runtime"] = microtime(true) - $starting_time; if (isset($_SERVER["REQUEST_METHOD"])) { $log["log_method"] = addslashes(trim(cutString(4, $_SERVER["REQUEST_METHOD"]))); } else { $log["log_method"] = "NULL"; } if (isset($_SERVER["REMOTE_ADDR"])) { $log["log_ip"] = $_SERVER['REMOTE_ADDR']; } else { $log["log_ip"] = "NULL"; } if (isset($_SERVER["REMOTE_PORT"])) { $log["log_port"] = $_SERVER["REMOTE_PORT"]; } else { $log["log_port"] = "NULL"; } if (isset($_SESSION['user']['id']) && $_SESSION['user']['id'] != "") { $log["user_id"] = $_SESSION['user']['id']; } else { $log["user_id"] = "NULL"; } if (isset($_SERVER["HTTP_COOKIE"])) { $fk["cookie_content"] = addslashes(trim(cutString(65535, $_SERVER["HTTP_COOKIE"]))); } else { $log["cookie_id"] = "NULL"; } if (isset($_SERVER["HTTP_USER_AGENT"])) { $fk["useragent_content"] = addslashes(trim(cutString(65535, $_SERVER["HTTP_USER_AGENT"]))); } else { $log["useragent_id"] = "NULL"; } if (isset($_SERVER["REQUEST_URI"])) { $fk["uri_content"] = addslashes(trim(cutString(255, $_SERVER["REQUEST_URI"]))); } else { $log["uri_id"] = "NULL"; } if (isset($_SERVER["HTTP_REFERER"])) { $fk["referer_content"] = addslashes(trim(cutString(255, $_SERVER["HTTP_REFERER"]))); } else { $log["referer_id"] = "NULL"; } if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) { $fk["language_content"] = addslashes(trim(cutString(255, $_SERVER["HTTP_ACCEPT_LANGUAGE"]))); } else { $log["language_id"] = "NULL"; } //------------------------------------------------------------------------- // Search id for foreigns keys and insert them if not exist //------------------------------------------------------------------------- $db = connectDataBase(); if (is_object($db) && isset($fk)) { //cookie if (isset($fk["cookie_content"])) { $log["cookie_id"] = searchLogsFK($db, "webapp_logs_cookies", "cookie_id", "cookie_content", $fk["cookie_content"]); if ($log["cookie_id"] == false) { insertLogsFK($db, "webapp_logs_cookies", "cookie_content", $fk["cookie_content"]); $log["cookie_id"] = searchLogsFK($db, "webapp_logs_cookies", "cookie_id", "cookie_content", $fk["cookie_content"]); } } //useragent if (isset($fk["useragent_content"])) { $log["useragent_id"] = searchLogsFK($db, "webapp_logs_useragents", "useragent_id", "useragent_content", $fk["useragent_content"]); if ($log["useragent_id"] == false) { insertLogsFK($db, "webapp_logs_useragents", "useragent_content", $fk["useragent_content"]); $log["useragent_id"] = searchLogsFK($db, "webapp_logs_useragents", "useragent_id", "useragent_content", $fk["useragent_content"]); } } //uri if (isset($fk["uri_content"])) { $log["uri_id"] = searchLogsFK($db, "webapp_logs_uris", "uri_id", "uri_content", $fk["uri_content"]); if ($log["uri_id"] == false) { insertLogsFK($db, "webapp_logs_uris", "uri_content", $fk["uri_content"]); $log["uri_id"] = searchLogsFK($db, "webapp_logs_uris", "uri_id", "uri_content", $fk["uri_content"]); } } //referer if (isset($fk["referer_content"])) { $log["referer_id"] = searchLogsFK($db, "webapp_logs_referers", "referer_id", "referer_content", $fk["referer_content"]); if ($log["referer_id"] == false) { insertLogsFK($db, "webapp_logs_referers", "referer_content", $fk["referer_content"]); $log["referer_id"] = searchLogsFK($db, "webapp_logs_referers", "referer_id", "referer_content", $fk["referer_content"]); } } //language if (isset($fk["language_content"])) { $log["language_id"] = searchLogsFK($db, "webapp_logs_languages", "language_id", "language_content", $fk["language_content"]); if ($log["language_id"] == false) { insertLogsFK($db, "webapp_logs_languages", "language_content", $fk["language_content"]); $log["language_id"] = searchLogsFK($db, "webapp_logs_languages", "language_id", "language_content", $fk["language_content"]); } } //------------------------------------------------------------------------- // Prepare value to be inserted //------------------------------------------------------------------------- foreach ($log as $k => $v) { if ($v != "NULL") { $log[$k] = "'" . $v . "'"; } } //------------------------------------------------------------------------- // Save log //------------------------------------------------------------------------- $sql = "INSERT INTO `webapp_logs` (\n\t\t\t\t\t\t`log_datetime`,\t`log_runtime`, `log_method`,`log_ip`,\n\t\t\t\t\t\t`log_port`, `user_id`, `cookie_id`, `useragent_id`,\n\t\t\t\t\t\t`uri_id`, `referer_id`, `language_id`\n\t\t\t\t) VALUES (\n\t\t\t\t\t\t" . $log["log_datetime"] . ", " . $log["log_runtime"] . ", " . $log["log_method"] . ", INET_ATON(" . $log["log_ip"] . "),\n\t\t\t\t\t\t" . $log["log_port"] . ", " . $log["user_id"] . ", " . $log["cookie_id"] . ", " . $log["useragent_id"] . ",\n\t\t\t\t\t\t" . $log["uri_id"] . ", " . $log["referer_id"] . ", " . $log["language_id"] . "\n\t\t\t\t);"; /*echo "<pre>"; print_r($sql); echo "</pre>";*/ if ($db->query($sql)) { return true; } else { return false; } } }