Boa noite povo do GUJ
estou efetuando um sistema para o loca que trabalho, e após muitas coisas estarem dando certo, estou empacando na tela de login de usuário. Fiz o arquivo de login, o arquivo para validar o login, porém ao efetuar o teste, o programa da erro.
Segue abaixo o código da página
Arquivo login.php
<?PHP
#Definir char-set
ini_set('default_charset', 'utf-8');
$data = date('Y/m/d');
$hora = date('H:i:s');
?>
<!--Código HTML -->
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<meta content="CGR-Governança" name="author">
<title>Sistema de ocorrências e painél de incidentes CGR</title>
<link rel="stylesheet" type="text/css" href="login.css" head="">
</head>
<body>
<header class="container">
<!--Imagens-->
<div class="figure">
<figure class="cetec27">
<img src="CETEC27.png" alt="Cetec27" width = "200" height="60" >
</figure>
<figure class="caixa">
<img src="bg_caixa.png" alt="CAIXA" >
</figure>
</div>
<!--Fim do Banner-->
</header>
<br><br><br><br><br><br><br><br><br><br><br><br>
<form name="formLogin" method="POST" action="valida.php">
<fieldset><br>
<legend>Sistema caixa de gerenciamento de ocorrências</legend>
<label>Login: </label>
<input type="text" name="usuario" id="usuario" class="medio"><br><br>
<label>Senha:</label>
<input type="password" name="senha" id="senha" maxlength="16" class="medio"><br><br>
<button type="submit" value="Logar" name="btnLogar">Login</button>
<button type="reset" name="btnLimpar">Limpar</button>
</fieldset>
</form>
<p class="ajuda">Precisa de Ajuda?<a href="#">Clique Aqui</a></p>
</body>
</html>
Arquivo valida.php
<?php
#Definir char-set
ini_set('default_charset', 'UTF-8');
set_time_limit(120); //Define tempo limite de execução
ERROR_REPORTING (E_ERROR); //Somente exibe erros fatais
include "conexao.php"; //Carrega funções de conexão com BD
#Inicia o processo de verificação de login e senha
session_start();
$sqlq = new COM("ADODB.Connection"); //instancia a classe de conexao
$sqlq->Open("PROVIDER=SQLOLEDB;Data Source=.;Initial Catalog=Ocorrencias;User ID=user_des_001; Password=user_des_001"); //estabelece conexão com MSSQL
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$senhasegura = md5($senha);
#Cria a consulta
$query = "SELECT id FROM ocorrencias..tb_valida WHERE [usuario] ='{$usuario}' AND [senha]='{$senhasegura}'";
$result = sqlsrv_query($sqlq,$query);
$row = sqlsrv_fetch_array($result,SQLSRV_ASSOC);
$active=$row['active'];
$count=sqlsrv_num_rows($result);
//Se resultado for 1
if($count==1)
{
session_register("usuario");
$_SESSION['usuario'] = $usuario;
header("Location:teste.php");
}
else{
##header("Location:erro.php");
echo $query;
echo "<BR><BR>";
echo "<h3>Erro no sistema!!!!</h3>";
die(print_r(sqlsrv_errors(), true));
}
/*$result=sqlsrv_query ($sqlq, $query);
if(sqlsrv_num_rows($result) > 0)
{
$_SESSION['usuario'] = $usuario;
$_SESSION['senha'] = $senha;
header("Location:teste.php");
}
else {
unset($_SESSION['usuario']);
unset($_SESSION['senha']);
##header("Location:erro.php");
echo $query;
echo "<BR><BR>";
echo "Erro no sistema!!!!<BR>";
die(print_r(sqlsrv_errors(), true));
}*/
?>
E o erro que gera
Erro no sistema!!!
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => An invalid parameter was passed to sqlsrv_num_rows. [message] => An invalid parameter was passed to sqlsrv_num_rows. ) )
Ah si, mandei gerar um ‘echo’ na consulta caso o erro fosse na instrução SQL, mas jogando direto no SQLSVR 2012, ele retorna ok na consulta.