Ir para conteúdo

Arquivado

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

Furian

Cadastro em banco para login

Recommended Posts

Boa tarde... sou novo no fórum e novo também nessa área de desenvolvimento, estou desenvolvendo um site e nele tenho um formulário para cadastro de usuários que salva as informações em um banco de dados, após efetuado o cadastro os usuários poderão fazer login para utilizar outros serviços desse site, porém, após cadastrados não estou conseguindo fazer a conexão do formulário de login para que ele busque as informações no banco de dados e realize as críticas para validar ou não o login.

Vou postar aqui algumas informações que devem servir para facilitar se alguem puder me ajudar...

 

O banco de dados possui 2 tabelas, uma é para cadastro de Usuários comuns e a outra para Revendedores, a conexão e a gravação nessas tabelas está funcionando perfeitamente... para que seja efetuado o login estou utilizando dois campos dessas tabelas o campo e-mail e o campo senha, existe um campo para cada tabela, no formulário de login os usuários devem digitar o e-mail como login, a senha e escolher em um select como querem se logar, se como usuários ou como revendedores.

Segue abaixo o código que estou utilizando no fomulário de login:

 

<?php

@session_start();

include_once("ControlaLogin.php");

if ( (!session_is_registered("usu")) and (!session_is_registered("senh")) ) { ?>

<table border="0" align="center" background="">

<tr>

<td align="center"><b>EFETUAR LOGIN</b></td>

</tr>

<tr>

<td height="20" align="center" valign="top">

<form name="formefetualogin" method="post" action="logar.php">

<tr><td align="center">Login:</td></tr>

<tr><td align="center"><input type="text" name="usu"></td></tr>

<tr><td align="center">Senha:</td></tr>

<tr><td align="center"><input type="password" name="senh"></td></tr>

<tr><td align="center">Tipo:</td></tr>

<tr><td align="center"><select name="tip">

<option style="text-align:center;" value="0"></option>

<option style="text-align:center;" value="1">USUÁRIO</option>

<option style="text-align:center;" value="2">REVENDEDOR</option>

</select></td></tr>

<tr><td align="center"><input type="image" type="submit" src="botaologin.jpg"></td></tr>

</form></td>

</tr>

</table>

<?php }

else {

print "<div align='center'><i><b>" . $_SESSION['usu'] . "</b></i>";

print "<br><a href='logout.php'>" . 'Sair' . "</a></div>";

}

?>

 

Vou colocar aqui também o conteúdo da página logar.php que é executada após o clique no botão para efetuar login:

 

<?php

include_once("ControlaLogin.php");

$login = $_POST['usu'];

$senha = MD5($_POST['senh']);

$tipo = $_POST['tip'];

 

if ( (!empty($login)) && (!empty($senha)) ) {

$controlaLogin = new ControlaLogin();

 

if ($controlaLogin->logar($login,$senha,$tipo)) {

if ($_SESSION['tip'] == 1) {

header('location:index.php?page=conteudo.php');

}

else {

if ($_SESSION['tip'] == 2) {

header('location:index.php?page=conteudo.php');

}

header('location:index.php?page=errologin.php');

}

}

}

else {

header('location:index.php?page=errologin.php');

}

?>

 

E também o conteúdo da página controlalogin.php que faz a verificação no banco de dados das informações digitadas através da conectabd.php....

 

<?php

include_once("ConectaBD.php");

class ControlaLogin extends ConectaMySql {

function ControlaLogin () {

$this-> ConectaMySql();

}

 

function logar($login,$senha,$tipo) {

if (strlen($tipo)==2) {

$sql= "select * from USUARIOS WHERE USU_EMAIL= '" . $login . "' and USU_SENHA= '" . $senha . "'";

$res= $this->executaQueryRows($sql);

if (count($res)>0) {

$_SESSION['senh'] = $senha;

$_SESSION['usu'] = $login;

return true;

}

else {

return false;

}

}

if (strlen($tipo)==1) {

$sql= "select * from REVENDEDORES WHERE REV_EMAIL= '" . $login . "' and REV_SENHA= '" . $senha . "'";

$res= $this->executaQueryRows($sql);

if (count($res)>0) {

$_SESSION['senh'] = $senha;

$_SESSION['usu'] = $login;

return true;

}

else {

return false;

}

}

}

}

?>

 

Agradeço a todos, um grande abraço... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo:

 

$loguin=$_POST['loguin'];

$senha=$_POST['senha'];

 

1ºfaz conexão com bd

$sql=mysql_query(SELECT loguin, senha FROM tabela WHERE loguin='$loguin' AND senha='$senha');

 

$result=mysql_num_rows($sql);

 

if($result=='0'){echo "nada";}

if($result!='0'){echo "senha aceita!";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Jonata, entendi o que você fez só que existe um porém, eu preciso verificar antes em qual das duas tabelas ele irá procurar o login e a senha...

 

Neste caso que você me passou ele estaria procurando na tabela login no banco de dados, mas eu possuo duas tabelas, uma é a Usuários e a outra Revendedores, eu tentei fazer isso utilizando um campo select no formulário de login com 3 campos, um "0" (não selecionado) o outro "1" que seriam os usuários e o "2" os revendedores, e após isso utilizei uma condição para verificar qual dos valores seria selecionado pelo utilizador do site para depois buscar na tabela respectiva e verificar se o login e a senha estão corretos, só que não está funcionando, no caso se eu deixar todos os valores do formulário de login em branco a crítica funciona e direciona o usuário para a página errologin.php, mas se eu preencher qualquer um dos campos ela leva para uma página em branco, não apresenta erro nenhum, mas também não funciona o login...

 

Agradeço a atenção dedicada, um grande abraço... até...

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.