Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Tutorial] Tela de Login para fórum IPB [DELPHI]


~ Heatlex.
 Compartilhar

Posts Recomendados

Fala Galera,

Fiz este tutorial em resposta a uma dúvida que foi postada. Como fazer uma tela de login, para que somente membros do fórum acessem.

é bem simples, vamos lá:

 

1º Passo - Baixe este componente:

É necessário se cadastrar para acessar o conteúdo.

2º Passo - Extraia o arquivo baixado e clique duas vezes em IPB3LoginD7.dpk

3º Passo - O Delphi irá abrir, clique em "Compile" e logo em seguida em "Install".

4º Passo - Crie uma nova aplicação, adicione dois Edits(aba standard) e um button(aba standard) ou bitbtn(aba additional).

5º Passo - Mude a propriedade Name dos Edits, um para "edLogin" e outro para "edSenha". Renomeie o botão se quiser.

6º Passo - Agora adicione um componente IPB3Login, que deve estar na ultima aba do seu Delphi.

7º Passo - Primeiro vamos ajeitar os eventos, depois eu falo das propriedades. No Evento OnLogin, você pode colocar para abrir uma outra form, ou o que desejar. Já no OnFail coloque uma ShowMessage, dizendo que o login ou a senha está incorreto.

8º Passo - Copie este código PHP, e não esqueça de adicionar o prefixo das tabelas do fórum:

<?php

/**

* @author aulto - professionalcode.net

* @copyright 2010

*/

 

//session_start();

 

function cleanuserinput($dirty)

{

if (get_magic_quotes_gpc())

{

$clean = mysql_real_escape_string(stripslashes($dirty));

} else

{

$clean = mysql_real_escape_string($dirty);

}

return $clean;

}

 

include 'conf_global.php';

 

//prefixo da sua tabela no IPB

$prefix = 'seuprefixo_';

 

if (isset($_POST['enviar']))

{

mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']);

mysql_select_db($INFO['sql_database']);

$user = cleanuserinput($_POST['user']);

$pass = cleanuserinput($_POST['pass']);

//echo 'Você inseriu o usuário ' . $user . ' e a senha ' . $pass . '!<br/>';

$query1 = mysql_query("SELECT * FROM " . $prefix . "members WHERE name = '$user'") or

die(mysql_error());

$rs1 = mysql_fetch_object($query1);

if (mysql_num_rows($query1) > 0)

{

$pSalt = $rs1->members_pass_salt;

$finalPass = md5(md5($pSalt) . md5($pass));

$query2 = mysql_query("SELECT * FROM " . $prefix . "members WHERE name like '$user' and members_pass_hash like '$finalPass'");

$rs2 = mysql_fetch_object($query2);

if (mysql_num_rows($query2) > 0)

{

//$_SESSION['logado_no_ipb'] = true;

echo 'Logado com sucesso!';

} else

{

echo 'Senha incorreta.';

}

} else

{

//echo 'Este login não existe!';

}

}

?>

 

9º Passo - Salve como login.php e no diretório do seu fórum, coloque na mesma pasta do arquivo conf_global.php

10º Passo - Na propriedade URL do IPBLogin, adicione o link que direciona para o login.php.

11º Passo - Clique duas vezes no button que você adicionou e coloque o seguinte code entre begin e end;

 

IPB3Login1.Login(edLogin.Text,edSenha.Text);

 

12º Passo - Na Propriedade PasswordChar do edSenha, coloque "*".

 

Quote

Dica By -lock

@edit

é meio inutil, mas da pra fazer tudo no button, sem usar eventos. é só setar a url, e colocar esse code no botão:

IPB3Login1.Login(Edit1.Text, Edit2.Text);

if IPB3Login1.LoggedIn = true then

//Coloca os comandos pra mostrar form aqui, showmodal, show, aí você cria. T.T

Showmessage('Você logou. T.T')

else

//Aqui é a mensagem caso não logue, personalize do seu jeito.

Showmessage('Erro ao logar');

 

 

 

Créditos: Componente - dudaxan e Aulto(ProfessionalCode).

Code PHP - dudaxan e Aulto(ProfessionalCode).

Tutorial - ~Ryan

 

Bem, é isso galera, espero que gostem.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.