Problem when logging in

Asked

Viewed 66 times

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.

  • 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;

  • Post the file code that generates the error.

  • 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;

  • 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

  • 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).

  • I put there in the question

Show 2 more comments
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.