0
To create a log for my system to know that changed the information, except that the way I rode is giving Fatal error: Call to Undefined Function anti_injection() in:
can someone help or give me some example of log change 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 on the pages I want to manage the logo I put so:
$x = 'Logs gravados';
include 'crialog.php';
My config file that is accusing 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;
}
The function
anti_injection
does not exist or the code is trying to invoke it before it is included.– Valdeir Psr
in my config.php file has the function 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;
– Robert
Post the file code that generates the error.
– Valdeir Psr
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;
– Robert
Fatal error: Cannot redeclare anti_injection() (Previously declared in C: Appserv www estoquewtprod Adm config.php:20) in C: Appserv www estoquewtprod Adm config.php on line 26
– Robert
This last mistake you are trying to create a function that already exists. Ideally you post the code of
config.php
in your question. (Click [Edit]) and where in which line you are making a mistake (in your question also).– Valdeir Psr
I put there in the question
– Robert