Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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?

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros 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'])) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.