Jump to content
davidjose.gois

Teste de usuario com php e Mysql dando erro

Recommended Posts

Olá boa noite a todos
estou tendo problemas em um script de login de usuarios pego o tipo de usuario e dou uma ação para os resultados possiveis porem esta dando um erro, já fiz e refiz o script de varias maneiras mas não deu certo se alguem puder me dar uma mão agradeço.

 

CONFIG

 

<?php
# Iniciando sessao
@session_start();

# Banco de Dados
define(DB_SERVIDOR, 'localhost', true);
define(DB_USUARIO, '*************', true);
define(DB_SENHA, '*********', true);
define(DB_BANCO, '*******', true);
db_conectar();

# Constantes
define(CONF_EMAIL, '', true);
# Paginação
if (isset($_GET["pg"]) && is_numeric($_GET["pg"])) $PGATUAL = $_GET["pg"]; else $PGATUAL = 1;
?>

 

 

BASE DE DADOS

 

<?php

function db_conectar($servidor = DB_SERVIDOR, $usuario = DB_USUARIO, $senha = DB_SENHA, $banco = DB_BANCO) {
global $db_link;

$db_link = mysql_connect($servidor, $usuario, $senha);
if ($db_link) mysql_select_db($banco);

return $db_link;
}
function db_desconectar() {
global $db_link;
return mysql_close($db_link);
}
function db_erro($consulta, $erronum, $erro) {
die('<table cellpadding=30 cellspacing=0 style="border:1px solid #dddddd;"><tr><td><font color=red><b>Erro!</b></font><BR><BR><b># '.$erronum.'</b> - '.$erro.'<BR><BR>'.$consulta.'</td></tr></table>');
}

function db_consulta($consulta) {
global $db_link;
$result = mysql_query($consulta, $db_link) or db_erro($consulta, mysql_errno(), mysql_error());
return $result;
}

function db_executa($tabela, $dados, $acao = 'insert', $parametros = '') {
reset($dados);
if (strtolower($acao) == 'insert') {
$consulta = 'insert into ' . $tabela . ' (';
while (list($coluna, ) = each($dados)) $consulta .= $coluna . ', ';
$consulta = substr($consulta, 0, -2) . ') values (';

reset($dados);
while (list(, $valor) = each($dados)) {
switch ((string)$valor) {
case 'now()':
$consulta .= 'now(), ';
break;
case 'null':
$consulta .= 'null, ';
break;
default:
$consulta .= '\'' . db_entrada($valor) . '\', ';
break;
}
}
$consulta = substr($consulta, 0, -2) . ')';

} elseif (strtolower($acao) == 'update') {
$consulta = 'update ' . $tabela . ' set ';
reset($dados);
while (list($coluna, $valor) = each($dados)) {
switch ((string)$valor) {
case 'now()':
$consulta .= $coluna . ' = now(), ';
break;
case 'null':
$consulta .= $coluna .= ' = null, ';
break;
default:
$consulta .= $coluna . ' = \'' . db_entrada($valor) . '\', ';
break;
}
}
$consulta = substr($consulta, 0, -2) . ' where ' . $parametros;
}
return db_consulta($consulta);
}
function db_lista($db_consulta) {
return mysql_fetch_array($db_consulta);
}
function db_linhas($db_consulta) {
return mysql_num_rows($db_consulta);
}
function db_insert_id() {
return mysql_insert_id();
}
function db_free_result($db_consulta) {
return mysql_free_result($db_consulta);
}
function db_saida($string) {
return htmlspecialchars($string);
}
function db_entrada($string) {
return addslashes($string);
}
function db_dados($string) {
return db_lista(db_consulta($string));
}
?>

 

 

LOGIN

<?
include('../includes/Config.php');
include('../includes/BancoDeDados.php');

#print_r($_POST); exit;
if ($_POST['logar']==1){

$usuario = db_lista(db_consulta("SELECT id_usuario,nome,login,email,DATE_FORMAT(data_login,'%d/%m/%Y as %H:%i:%s') as data_login,flag_status FROM adm_usuarios WHERE login LIKE '".$_POST['login']."' AND senha LIKE '".md5($_POST['senha'])."' LIMIT 1;"));
if ($usuario['id_usuario']>0) {
if ($usuario['flag_status']==1 || $usuario['id_usuario']==1) {
$_SESSION['Admin'] = $usuario;
db_executa('adm_usuarios',array('data_login'=>'now()'),'update','id_usuario='.$usuario['id_usuario']);
echo "<script language=javascript>window.location='index.php';</script>";
} else {
echo "<script language=javascript>alert('Usuario bloqueado.');window.location='_login.php';</script>";
exit;
}
} else {
echo "<script language=javascript>alert('Login ou senha invalidos.');window.location='_login.php';</script>";
exit;
}
}
?>


<link href="screen.css" rel="stylesheet" type="text/css" />
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
<script type="text/javascript">
$(document).ready(function() {

$(document).mouseup(function() {
$("#loginform").mouseup(function() {
return false
});

$("a.close").click(function(e){
e.preventDefault();
$("#loginform").hide();
$(".lock").fadeIn();
});

if ($("#loginform").is(":hidden"))
{
$(".lock").fadeOut();
} else {
$(".lock").fadeIn();
}
$("#loginform").toggle();
});


// botao exemplo
$("input#cancel_submit").click(function(e) {
$("#loginform").hide();
$(".lock").fadeIn();
});


});
</script>

 

<div id="cont">
<div class="box lock"> <p style="text-align:center; margin:10px 0; color:#fff;"><a style="color:#fff; text-decoration:none; font-size:12px;" href="_loginipad.php">desbloquear</a></p> </div>
<div id="loginform" class="box form">
<h2>Acesso Restrito <a href="" class="close">Fechar</a></h2>
<div class="formcont">
<fieldset id="signin_menu">
<span class="message">Entre com seu login e senha para acessar o painel</span>
<form action="_login.php" method="post" name="frmlogin" id="signin">
<input type="hidden" name="logar" value="1" />
<label for="username">Login</label>
<input id="username" name="login" value="" title="login" class="required" tabindex="4" type="text">
</p>
<p>
<label for="password">Senha</label>
<input id="password" name="senha" value="" title="senha" class="required" tabindex="5" type="password">
</p>
<p class="clear"></p>
<a href="#" class="forgot" id="resend_password_link">Esqueceu a senha?</a>
<p class="remember">
<input id="signin_submit" value="Entrar" tabindex="6" type="submit">
<input id="cancel_submit" value="Cancelar" tabindex="7" type="button">
</p>
</form>
</fieldset>
</div>
<div class="formfooter"></div>
</div>
</div>

imagen do erro errophp.png

 

ja tentei de varias formas e nao consigo resolver

Share this post


Link to post
Share on other sites

Não abriu chaves após

if ($_POST['logar']==1)

Outra coisa que eu vi, mas provavelmente não está relacionado com o seu problema, foi que se a busca não retorna nenhum resultado, ainda assim $usuario['id_usuario'] existe com algum valor?

Share this post


Link to post
Share on other sites

Fala David beleza?

 

1 - Aparentemente o seu php não esta sendo executado; Caso esteja.

2 - Habilite o erro_reporting("E_ALL") e init_set('display_errors',1);

3 - Verifique a query que esta executando, de um echo nela e rode a mesma direto no banco para testar o retorno;

4 - Quando for fazer login que o dado tem que ser exatamente igual ao informado pelo usuário não utilize like e sim login=".$_POST['login'].", fora que é melhor estudar sobre sql injection;

 

Faz esses testes e posta o resultado para ficar melhor para gente te ajudar!

  • +1 1

Share this post


Link to post
Share on other sites

erro_report ja estava ALL e ini_set tambem 1

 

fiz a consulta direta sem a data e consegui um retorno positivo

 

SELECT `id_usuario`,`nome`,`login`,`email`,`data_login`,`data_login` FROM `adm_usuarios` WHERE `login`='$login' AND `senha`='$senha' LIMIT 1

 

 

porem mesmo assim o erro continua mesmo da imagem acima

Share this post


Link to post
Share on other sites

short tag alterada script LOGIN ta OK passou agora o erro deu no CONFIG

 

Notice: Use of undefined constant DB_SERVIDOR - assumed 'DB_SERVIDOR' in D:\web\htdocs\server\sistema\home\includes\Config.php on line 9

Notice: Use of undefined constant DB_USUARIO - assumed 'DB_USUARIO' in D:\web\htdocs\server\sistema\home\includes\Config.php on line 10

Notice: Use of undefined constant DB_SENHA - assumed 'DB_SENHA' in D:\web\htdocs\server\sistema\home\includes\Config.php on line 11

Notice: Use of undefined constant DB_BANCO - assumed 'DB_BANCO' in D:\web\htdocs\server\sistema\home\includes\Config.php on line 12

Fatal error: Call to undefined function db_conectar() in D:\web\htdocs\server\sistema\home\includes\Config.php on line 13

Share this post


Link to post
Share on other sites

Primeiro você precisa definir as variaveis adicione apostrofo ou aspas no define:

define('DB_SERVIDOR', 'localhost', true);
define('DB_USUARIO', '*************', true);
define('DB_SENHA', '*********', true);
define('DB_BANCO', '*******', true);

Segundo você esta chamando o
db_conectar() está no arquivo Banco De dados
Faça a chamada nele para separar configuração de execução!

  • +1 1

Share this post


Link to post
Share on other sites

Valeu pessoal muito obrigado pela ajuda de vocês foi massa ta tudo certo aqui, so fiz mais uma alteração no LOGIN para melhorar um pouco o script, devagar a gente chega lá.

 

if (isset($_POST['logar']) && !empty($_POST['logar'])) {

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.