Olha o código:
[codebox]
<?php
$login = $_POST['login'];
$senha = $_POST['senha'];
include "mysqlconfig.inc";
$query = "select nome,senha from usuario where nome='$login' and
senha='$senha'";
$res = mysql_query($query);
$num_linha = mysql_num_rows($res);
if($num_linha > 0){
session_start();
$_SESSION['usuario'] = $login;
header("Location: ../painel/index.php");
}else{
echo "usuário não existe<br>";
echo "<a href='login.html'>Voltar</a>";
}
?>
[/codebox]
O que tem de errado com a função mysql_num_rows()?
ta dando o seguinte erro:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\advilatavares\aacad\login\login.php on line 8
Sistema De Login!
Started By Carlos Maniero, 21/09/2009, 23:44
4 replies to this topic
#1
Posted 21/09/2009, 23:44
#2
Posted 22/09/2009, 00:42
primeiro tente:
$num_linha = mysql_num_rows($res);
$res = mysql_query($query);
troque a linha, joga a consulta para baixo..
segundo:
se não sabe o erro.. da um print na linha do erro.
echo $num_linha;
vlws!
acho que pode ajudar a logica, em vez de usar mysqli.. use mysql.. é a mesma coisa. vlws!
[codebox]<?php
// obtém os valores digitados
$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
// acesso ao banco de dados
include "conecta_banco.inc";
$res = mysqli_query($con, "SELECT * FROM usuarios_autorizados where usuario='$usuario' and senha='$senha'");
$linhas = mysqli_num_rows($res);
if($linhas==0) // testa se a consulta retornou algum registro
{
echo "<html><body>";
echo "<p align=\"center\">O login não foi realizado porque os dados digitados são inválidos.</p>";
echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
setcookie("usuario", $usuario);
setcookie("senha", $senha);
// direciona para a página inicial dos usuários cadastrados
header ("Location: principal.php");
}
mysqli_close($con);
?>
[/codebox]
$num_linha = mysql_num_rows($res);
$res = mysql_query($query);
troque a linha, joga a consulta para baixo..
segundo:
se não sabe o erro.. da um print na linha do erro.
echo $num_linha;
vlws!
acho que pode ajudar a logica, em vez de usar mysqli.. use mysql.. é a mesma coisa. vlws!
[codebox]<?php
// obtém os valores digitados
$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
// acesso ao banco de dados
include "conecta_banco.inc";
$res = mysqli_query($con, "SELECT * FROM usuarios_autorizados where usuario='$usuario' and senha='$senha'");
$linhas = mysqli_num_rows($res);
if($linhas==0) // testa se a consulta retornou algum registro
{
echo "<html><body>";
echo "<p align=\"center\">O login não foi realizado porque os dados digitados são inválidos.</p>";
echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
setcookie("usuario", $usuario);
setcookie("senha", $senha);
// direciona para a página inicial dos usuários cadastrados
header ("Location: principal.php");
}
mysqli_close($con);
?>
[/codebox]
www.augustosaggese.com - "Na batalha da vida, só existem homens fortes, e um homem forte, sempre determina o seu destino".
#3
Posted 22/09/2009, 16:21
dei echo na $nun_linha e não retornou resultados!
#4
Posted 23/09/2009, 13:33
Verifique o retorno da função mysql_error() (Se ainda estiver usando a extensão mysql) ou mysqli_error() (se estiver adotado a ext. mysqli).
Augusto Saggese: Em termos de extensão, mysqli não é exatamente a mesma coisa que mysql.
Augusto Saggese: Em termos de extensão, mysqli não é exatamente a mesma coisa que mysql.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#5
Posted 23/09/2009, 13:54
cara abrea o arquivo de configuracao .inc e ve se nao esta tendo um problema de conflito com as variaveis login e senha se for igual mude o nome!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










