Tenho o seguinte form de login
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#efefef" class="fundo">
<tr>
<th width="34%" scope="col"> </th>
<th height="41" scope="col"><span class="fonte">CONTROLE DE ACESSO</span></th>
</tr>
<tr>
<th width="34%" scope="col"><img src="img/Cadeado.png" width="128" height="128" alt="cadeado" /></th>
<td align="center"><form action="confirma_login.php" method="post" name="form_login" target="" id="login">
<p>
<label><span class="fonte">Usuário</span>
<input type="text" name = "login" id="login" size="20" maxlength="20" />
</label>
</p>
<p>
<label><span class="fonte">Senha</span>
<input type="password" name = "senha" id="senha" size="20" maxlength="20" />
</label>
</p>
<p>
<label>
<input type="submit" name="Enviar" id="Enviar" value="Enviar" />
<input type="submit" name="Cancelar" id="Cancelar" value="Cancelar" />
</label>
</p>
</form></td>
</tr>
<tr>
<th scope="col"> </th>
<td align="center"></td>
</tr>
</table>
E o form de confirmação de login abaixo:
<?php
$login = @$_POST['login'];
$senha = @$_POST['senha'];
include ("conexao.php");
$resultado= mysql_query ("SELECT * FROM tbusu WHERE login='$login'");
$linhas = mysql_num_rows ($resultado);
if ($linhas==0)
{
echo "<html><body>";
echo "<p align =\"center\">Esse usuário não existe!<p>";
echo "<p align =\"center\"><a href =\"login.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado,0,"senha"))
{
echo "<html><body>";
echo "<p align =\"center\">A senha está incorreta!<p>";
echo "<p align =\"center\"><a href =\"login.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
setcookie ("login",$login);
setcookie ("senha",$senha);
header ("location: index.php");
}
}
Mas sempre dá a mensagem que a senha está inválida. Onde estou errando?
A senha existe no banco e estou digitando-a corretamente.
Grato.
malccsi
Formulário de Login
Criado por malccsi, Dec 30 2008 03:40 PM
2 respostas neste tópico
#1
Postado 30 December 2008 - 03:40 PM
#2
Postado 02 January 2009 - 10:43 AM
Acho que consegui resolver:
Na minha conexão eu usava uma variável chamada $senha e uma variável $senha no form de verificação de login. Acho que a confusão estava aí. Troquei o name da senha do formulário de envio e funcionou.
Mas...no formulário de confirmação de login agora aparece o erro do cabeçalho que eu ainda não entendi como resolver:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 44
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 45
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 46
Essas linhas são:
setcookie ("login",$login);
setcookie ("password",$password);
header ("location: index.php");
Na minha conexão eu usava uma variável chamada $senha e uma variável $senha no form de verificação de login. Acho que a confusão estava aí. Troquei o name da senha do formulário de envio e funcionou.
Mas...no formulário de confirmação de login agora aparece o erro do cabeçalho que eu ainda não entendi como resolver:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 44
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 45
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC Serra\confirma_login.php:7) in C:\xampp\htdocs\SICC Serra\confirma_login.php on line 46
Essas linhas são:
setcookie ("login",$login);
setcookie ("password",$password);
header ("location: index.php");
#3
Postado 02 January 2009 - 10:48 AM
Finalmente resolvido:
O problema estava nesse cabeçalho do formulário de confirmação de login:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
Depois que retirei esse código finalmente funcionou. Como eu estava trabalhando com 3 forms não conseguia entender direito o tal cabeçalho: quando definia header("location:./index.php"); eu pensava que a mensagem de erro que o PHP exibia, vinha do cabeçalho da página index.
Grato.
Observação: não deixem também nenhum espaço em branco antes do código PHP do formulário que recebe os dados.
O problema estava nesse cabeçalho do formulário de confirmação de login:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
Depois que retirei esse código finalmente funcionou. Como eu estava trabalhando com 3 forms não conseguia entender direito o tal cabeçalho: quando definia header("location:./index.php"); eu pensava que a mensagem de erro que o PHP exibia, vinha do cabeçalho da página index.
Grato.
Observação: não deixem também nenhum espaço em branco antes do código PHP do formulário que recebe os dados.
1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)











