Ir ao conteúdo
  • Cadastre-se

Pagina de login


Pablo Henriquem

Posts recomendados

galera, começei agora com php, baixei algumas aulas e to com o seguinte problema,tudo funciona,menos a pagina de login...

login.php

<!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">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {

font-size: 16px;

color: #000066;

font-family: Arial, Helvetica, sans-serif;

font-weight: bold;

}

-->

</style>

</head>

<body>

<table width="200" border="0" align="center">

<tr>

<td colspan="2" align="center"><span class="style1">Admistração</span></td>

</tr>

<tr>

<td>Login:</td>

<td><form id="form2" name="form2" method="post" action="logar.php">

<label>

<input type="text" name="login" id="login" />

</label>

</form>

</td>

</tr>

<tr>

<td>Senha:</td>

<td><form id="form1" name="form1" method="post" action="">

<label>

<input type="password" name="Senha" id="Senha" />

</label>

</form>

</td>

</tr>

<tr>

<td> </td>

<td><form id="form3" name="form3" method="post" action="">

<label>

<input type="submit" name="Logar" id="Logar" value="Submit" />

</label>

</form>

</td>

</tr>

</table>

</body>

</html>

logar.php

<?php

$login = $_POST['login'];

$senha = $_POST['senha'];

include"config.php";

$sql = mysql_query("SELECT * FROM adm WHERE login = '$login'");

$cont = mysql_num_rows($sql);

while($linha = mysql_fetch_array($sql)){

$senha_db = linha ['senha'];

}

if($cont == 0){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" O nome de usuario nao correspondem.\");

</script>";

}else{

if($senha_db) != $senha){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" Senha imcorreta.\");

</script>";

}else{

session_start();

$_SESSION['login_usuario'] = $login;

$_SESSION['senha_usuario'] = $senha;

header('Location: index.php');

}

}

mysql_close($db);

?>

e a config.php

<?php

$db = mysql_connect("localhost","root","123")or die(mysql_error);

$dados = mysql_select_db("projeto_final",$db);

?>

ja refiz,revi,e nada ,nao da erro nenhum, posso colocar senha certo, errada,e nada

Link para o comentário
Compartilhar em outros sites

  • Moderador

amigo, você tem dados inconsistentes sim em seu formulario de login.

qual o sentido de você criar 3 formularios? isso é desnecessário crie apenas um.


<form action="login.php" method="post">
Login: <input type="text" name="login"/><br/>
Senha: <input type="password" name="senha"/>

<input type="submit" value="Logar"/><br/>

</form>

sua query também esta faltando coisas:


$sql = mysql_query("SELECT * FROM adm WHERE login = '$login' and senha = '$senha' ");

e sua session_start(); deve estar la acima de tudo ... a prmeira linha..

Link para o comentário
Compartilhar em outros sites

Obrigado galera,corrigi os problemas, agora ta assim

<?php

session_start();

$login = $_POST['login'];

$senha = $_POST['senha'];

include"config.php";

$sql = mysql_query("SELECT * FROM adm WHERE login = '$login' and senha = '$senha' ");

$cont = mysql_num_rows($sql);

while($linha = mysql_fetch_array($sql)){

if($senha_db != $senha){

if($cont == 0){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" O nome de usuario nao correspondem.\");

</script>";

}else{

if($senha != $senha){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" Senha icorreta.\");

</script>";

}else{

$_SESSION['login_usuario'] = $login;

$_SESSION['senha_usuario'] = $senha;

header('Location: index.php');

}

}

mysql_close($db);

?>

porém da esse erro:

( ! ) Parse error: syntax error, unexpected $end in C:\wamp\www\novo\adm\logar.php on line 40

não to entendo,pois a linha 40,é a que fecha o php

Link para o comentário
Compartilhar em outros sites

while($linha = mysql_fetch_array($sql))>{<

if($senha_db != $senha)>}<

apaguei os 2,e conferi o resto da pagina; pareceia tudo bem..mas agora ele nao da erro nenhum, e volta pra mesma pagina,digita a senha e o login ;e ela volta pra digitar de novo, nem confere no banco de dados...o que será?

Link para o comentário
Compartilhar em outros sites

  • Moderador
faria como?

faria asim:


<?php
session_start();

$login = $_POST["login"];
$senha = $_POST["senha"];

if (empty($login) or empty($senha)) {
echo "<script>
alert('Preencha todos os campos');
history.go(-1);
</script>";
exit;
}


include"config.php";

$sql = "SELECT * FROM adm WHERE login ='$login' AND senha ='$senha' ";
$dados = mysql_query($sql, $conecta);
$num = mysql_num_rows($dados);

if ($num == 0){
echo "<script>
alert('Usuario ou senha Incorreta');
history.go(-1);
</script>";
exit;
} else {
$linha = mysql_fetch_array($dados);
$coduser = $linha["id_campo"];

$_SESSION["codusuario"] = $coduser;
$_SESSION["login"] = $login;

header ("Location: index.php");

}
mysql_free_result($dados);
mysql_close($db);
?>

note que o $coduser = $linha["id_campo"]; o id_campo seria o nome do campo no seu banco de dados onde contem a ID da linha. geralmente as pessoas nomeiam este campo de ID_usuario, ID_admin... ou apenas ID.. ai fica a teu criterio de como esta no banco.

Link para o comentário
Compartilhar em outros sites

com seu codigo "funcionou" unico problema é que pra tudo ele da senha errada, sera que a minha config ta errada?

<?php

$db = mysql_connect("localhost","root","");

$dados = mysql_select_db("projeto_final",$db);

?>

pedroserquiz

ta ai como tava antes

<?php

session_start();

$login = $_POST['login'];

$senha = $_POST['senha'];

include"config.php";

$sql = mysql_query("SELECT * FROM adm WHERE login = '$login' and senha = '$senha' ");

$cont = mysql_num_rows($sql);

while($linha = mysql_fetch_array($sql))

if($senha_db != $senha)

if($cont == 0){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" O nome de usuario nao correspondem.\");

</script>";

}else{

if($senha != $senha){

echo "

<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>

<script type=\"text/javascript\">

alert(\" Senha icorreta.\");

</script>";

}

}else{

$_SESSION['login_usuario'] = $login;

$_SESSION['senha_usuario'] = $senha;

header('Location: index.php');

}

mysql_close($db);

?>

Link para o comentário
Compartilhar em outros sites

  • Moderador

claro que vai dar senha errada amigo... você certamente copiou e colou... eu postei um exemplo de como sempre faço meus logins. procure estudar e adaptar.

mais uma vez digo.. que você esta fazendo ali muitas verificaçoes desnecessarias... re-leia o codigo que postei... e pense um poquinho.. certamente ja descobri onde esta seu "erro"... mas vou esperar que você o descubra antes... penso que há pelo menos duas possibilidades de erro... mas quero q você enchergue eles.

abraço

Link para o comentário
Compartilhar em outros sites

amigo, vou te dar uma dica, como o dif ( um rapaiz muito bom por sinal, gostaria de parabeniza-lo) falou, procure organizar seus codigos, observe aberturas e fechamentos do if.... nesse ramo do desenvolvimento, lembre-se que um unico pontinho faz toda diferença =D

procure deixar o seu codigo legivel de uma forma que voce mesmo leia e saiba falar, aqui é isso, ali é aquilo.....

;) eu ja encontrei alguns erros.... com toda certeza 1 erro tem ai nesse codigo, mas eu creio que tenham mais 2 erros bem basicos que voce vai aprendendo..... irei ficar acompanhando teu topico para ficar te ajudando a melhorar sua percepção na hora de ler/escrever um codigo.

creio que o dif tb estará por ai =D

valeu amigo, abraços e boa sorte =D lembre-se, as vezes olhar codigo na tela do pc dificuta, saia um pouco do codigo, fecha os olhos, e pensa no codigo dentro da tua cabeça...

abraços

cheguei atrasado =X kkkkkkkkkk enquanto digitava vocês conversavam kkkkkkk.....

que bom que deu certo então =D abraços

Link para o comentário
Compartilhar em outros sites

  • Moderador

Pedro, valeu pelo elogio.

e Pablo, também te dou mais uma dica, procure sempre comentar em seus codigos.. para lembrar posteriormente o que ele faz.. naquele codigo q te passei aqui eu fiz de ultima hora então ficou sem comentarios.. mas normalmente eu comento cada bloco de meus codigos. isso também ajuda outra pessoa entender seu codigo.

abraço e boa sorte nos estudos!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

O código do dif só tem um problema: vulnerabilidade a SQL Injection.

Quando não utilizar a classe PDO, tome cuidado com isso. É bom aprender agora para não ter problemas no futuro ;)

Trate todos os posts enviados pelo cliente com, por ex, html_entities($var, ENT_QUOTES);

Leia sobre SQL Injection. Tomem cuidado com a segurança de seus sistemas.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!