Problem creating log

0

To create a log for my system to know that it has changed information, but the way I mounted it is giving Fatal error: Call to undefined function anti_injection () in:

Can anyone help or give me some example log change logging in php / mysql?

My table:

CREATE TABLE IF NOT EXISTS 'LOGS' (
'LOGID' int(10) unsigned NOT NULL AUTO_INCREMENT,
'HORA' datetime NOT NULL,
'IP' varchar(15) NOT NULL,
'MENSAGEM' text COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY ('LOGID'),
KEY 'HORA' ('HORA' )
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

the file to generate log:

<?php


include 'adm/config.php';


//ABAIXO CRIAMOS A FUNÇÃO QUE IRÁ AUTOMATIZAR A CRIAÇÃO DOS LOGS NO BANCO
function logs($x){     // RECEBE POR PARAMETRO A VARIÁVEL $x QUE SERÁ A MENSAGEM A SER GRAVADA NO BANCO DE DADOS.

    $IP = $_SERVER['REMOTE_ADDR']; // SALVA O IP DO VISITANTE
    $HORA = date('Y-m-d H:i:s'); // SALVA A DATA E HORA ATUAL (formato MySQL)

    // MONTANDO A QUERY PARA INSERIR NO BANCO DE DADOS
    $sql = "INSERT INTO 'LOGS' (HORA,IP,MENSAGEM) VALUES ('$HORA', '$IP', '$x')";  //ONDE "$x" É A VARIÁVEL QUE ARMAZENA A MENSAGEM QUE VOCÊ QUER INSERIR NO BANCO


    if (mysql_query($sql)or die(mysql_error())){ // EXECUTA A QUERY OU MOSTRA O ERRO, CASO OCORRA.
             return true;   //VERIFICA  SE DEU CERTO, SE SIM RETORNA TRUE
    }

    else{
             return false; // VERIFICA  SE DEU ERRADO, SE SIM,  RETORNA FALSE

    }


}


logs($x); // AQUI CHAMAMOS A FUNÇÃO QUE CRIAMOS PARA EXECUTAR A INSERÇÃO NO BANCO DE DADOS


    //SE REMOVER O COMENTÁRIO DO CÓDIGO  ABAIXO, PODERÁ IMPRIMIR A MENSAGEM DIRETAMENTE NO NAVEGADOR E CONFERIR SE O PROCESSO FOI REALIZADO COM SUCESSO OU NÃO
 /*  << INÍCIO DO COMENTÁRIO


if(logs($x)){   // VERIFICA O RETORNO DA FUNÇÃO, SE DEU CERTO OU ERRADO

    echo "Logs inseridos no banco";  //  EM CASO DE TER REALIZADO FUNÇÃO CORRETAMENTE, MOSTRA NO NAVEGADOR "Logs inseridos no banco"


}

else{

    echo "Logs não inseridos no banco"; //  EM CASO DE NÃO TER REALIZADO FUNÇÃO CORRETAMENTE, MOSTRA NO NAVEGADOR "Logs não inseridos no banco""
}
 */ //FIM DO COMENTÁRIO

mysql_close(); // FECHA A CONEXÃO COM O MySQL

?>

And in the pages that I want to generate the logo I put it like this:

$x = 'Logs gravados';
include 'crialog.php';

My config file that is reporting the error on lines 13 and 19

<?php

$lc_titulo="World Trotter Com Imp e Exp Ltda";

$dbhost="localhost"; /* servidor */
$dbuser="root"; /* usuário do banco de dados */
$dbpasswd="rc010368"; /* senha do banco de dados */
$dbname="estoqueprod"; /* nome do banco de dados */
$conexao = mysqli_connect($dbhost, $dbuser, $dbpasswd,$dbname) or die ("não foi possível a conexão, verifique os dados $dbname.");
//mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname.");

// ANTI-INJECTION
function anti_injection($sql){
   $sql = preg_replace("/( from |select|insert|delete|where|drop table|show tables|#|\*|--|\\)/", "" ,$sql);
   $sql = trim($sql);
   $sql = strip_tags($sql);
   $sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql);
   return $sql;
}
?>

lines 13 to 19 are:

function anti_injection($sql){
   $sql = preg_replace("/( from |select|insert|delete|where|drop table|show tables|#|\*|--|\\)/", "" ,$sql);
   $sql = trim($sql);
   $sql = strip_tags($sql);
   $sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql);
   return $sql;
}
    
asked by anonymous 02.02.2018 / 16:37

0 answers