23.05.2012, 20:39
(
Последний раз редактировалось [JD]BlackFire; 28.05.2012 в 12:49.
)
Sistema de registro pela WEB
Olб pessoal, hoje vim trazer para vocкs um tutorial de como fazer um sistema de registro pelo site do seu servidor,
que й muito interessante, e ainda possibilitando fazer um painel de controle de usuбrio posteriormente.
Requisitos:
• PHP4+ Server.
• Mysql Server.
• Conhecimento bбsico em SQL e Databases.
• Conhecimento bбsico em Pawn.
• Nнvel: Intermediбrio - Avanзado.
Introduзгo:
Neste tutorial veremos como fazer um sistema de registro pelo site ou pбgina na internet usando PHP para processar os dados e Mysql como banco de dados,
veremos tambйm como usar essas informaзoes no servidor SA-MP.
Primeiro vocк deve possuir um servidor PHP e Mysql:
WampServer, AppServ entre outros, usaremos as informaзoes padrхes do WampServer para fazer a conexгo com o BD(Banco de dados).
Crie um banco de dados no servidor Mysql com o nome de 'bancodedados'
logo apуs crie a tabela com o cуdigo SQL a seguir:
Registro pela WEB:
Vamos preparar nossa pбgina da internet para fazer o registro de novos usuбrios.
*Todas as pбginas devem estar no mesmo diretуrio e no servidor PHP.
Vamos comeзar com a pбgina que contem o formulбrio de registro.
Vocк pode copiar este cуdigo e salvar com o nome registro.php usando o bloco de notas.
Esta pбgina possui um simples formulбrio em HTML que quando clicado no botгo Registrar envia o nome de usuбrio e a senha digitados para o arquivo 'confregistro.php' para validar os campos e registrar o jogador no BD.
Vamos Criar a nova pбgina para validar o formulбrio, salve um novo arquivo com o nome de 'confregistro.php' junto com o cуdigo abaixo.
Esta pбgina й a responsбvel pela validaзгo, exitem muito mйtodos para a proteзгo de dados indesejбveis, porйm este tutorial estб explicando o bбsico.
O sistema de registro estб pronto agora vamos ver como o servidor faz para interagir com o BDe pegar os usuбrios registrados.
Lembrando, para poder acessar estas pбginas elas devem estar rodando em um servidor PHP.
Gamemode/Filtercript:
Vamos comeзar a prepara o servidor sa-mp para receber o registro dos usuбrios:
Precisaremos de algum plugin que faзa a comunicaзгo com o Mysql, usaremos hoje o plugin do GStylezzz.
Clique aqui para visitar o tуpico oficial do plugin para download
Com o Plugin e includes devidamente instaladas, vamos a obra.
Guias bбsicos sobre o tutorial:
Como instalar e configurar o WampServer
[ame=http://www.youtube.com/watch?v=-lZDx2IFzSU]Como criar um banco de dados usando o PhpMyAdmin[/ame]
Tutorial de Introduзгo ao Mysql
Downloads:
WampServer - Servidor PHP/Mysql
Plugin/include Mysql para SA-MP
Manual de referкncia MYSQL
Agradeзo a compreensгo de todos e espero que tenham bons estudos.
Caso encontrem erros ortogrбficos ou outros, por favor comente.
Se possнvel avaliem o tуpico.
att. Ivan
Olб pessoal, hoje vim trazer para vocкs um tutorial de como fazer um sistema de registro pelo site do seu servidor,
que й muito interessante, e ainda possibilitando fazer um painel de controle de usuбrio posteriormente.
Requisitos:
• PHP4+ Server.
• Mysql Server.
• Conhecimento bбsico em SQL e Databases.
• Conhecimento bбsico em Pawn.
• Nнvel: Intermediбrio - Avanзado.
Introduзгo:
Neste tutorial veremos como fazer um sistema de registro pelo site ou pбgina na internet usando PHP para processar os dados e Mysql como banco de dados,
veremos tambйm como usar essas informaзoes no servidor SA-MP.
Primeiro vocк deve possuir um servidor PHP e Mysql:
WampServer, AppServ entre outros, usaremos as informaзoes padrхes do WampServer para fazer a conexгo com o BD(Banco de dados).
Crie um banco de dados no servidor Mysql com o nome de 'bancodedados'
logo apуs crie a tabela com o cуdigo SQL a seguir:
Код:
CREATE TABLE IF NOT EXISTS `tabelausuarios` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Nome` varchar(40) NOT NULL, `Senha` varchar(100) NOT NULL, `Nivel` int(11) NOT NULL DEFAULT '1', `Skin` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`) )
Vamos preparar nossa pбgina da internet para fazer o registro de novos usuбrios.
*Todas as pбginas devem estar no mesmo diretуrio e no servidor PHP.
Vamos comeзar com a pбgina que contem o formulбrio de registro.
Vocк pode copiar este cуdigo e salvar com o nome registro.php usando o bloco de notas.
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>Registro</title>
</head>
<body>
Preencha os campos para se registrar.
<form action="confregistro.php" method="post">
<input name="usuario" id="usuario" type="text" required="required" value="Usuбrio" maxlength="24" /><br/>
<input name="senha" id="senha" type="password" required="required" value="Senha" maxlength="40" /><br/>
<input type="submit" value="Registrar" /><br/>
</form>
</body>
</html>
Vamos Criar a nova pбgina para validar o formulбrio, salve um novo arquivo com o nome de 'confregistro.php' junto com o cуdigo abaixo.
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>Registro</title>
</head>
<body>
<?php
$usuario = mysql_real_escape_string($_POST['usuario']);//cria a variбvel chamda $usuario no php e pega o usuario digitado na pбgina registro.php
$senha = mysql_real_escape_string($_POST['senha']);//mesma coisa que acima porйm com a senha.
if(strlen($usuario) > 5 && strlen($usuario) < 24)//checa se o nome de usuбrio digitado possui mais que 5 dнgitos
{
if(strlen($senha) > 5 && strlen($senha) < 50)//checa se a senha digitada possui mais que 5 dнgitos
{
//caso tudo ocorrem normalmente vamos fazer a inserзгo no BD
$conexao = mysql_connect("localhost","root","");
mysql_select_db($conexao,"bancodedados");//mude o 'bancodedados' para o Banco que vocк criou anteriormente
$consulta = mysql_query("SELECT * FROM tabelausuarios WHERE Nome = '$usuario'");//fas uma consulta no BD para saber se existe algum registro com o nome digitao
if(mysql_num_rows($consulta) > 0)echo 'Este nome de usuбrio jб estб em uso.';//caso jб contenha um registro com o nome digitado retorna esta mensagem
else{
//caso esteja tudo correto irб fazer a inserзгo
mysql_query("INSERT INTO tabelausuarios (Nome,Senha) VALUES('$usuario',md5('$senha')");//insere no BD
echo 'Parabйns $usuario, vocк foi registrado com sucesso.';//manda uma mensagem de кxito
//poderiam colocar mais funзoes ao se registrar como enviar um email, redirecionar a outra pбgina e etc...
}
}
else echo'Sua senha deve conter no mнnimo 6 dнgitos';//caso a senha nгo tenha 5 dнgitos manda uma mensagem de erro
}
else echo'Seu nome de usuбrio deve conter no mнnimo 6 dнgitos';//caso o usuario nгo tenha 5 dнgitos manda uma mensagem de erro
?>
</body>
</html>
O sistema de registro estб pronto agora vamos ver como o servidor faz para interagir com o BDe pegar os usuбrios registrados.
Lembrando, para poder acessar estas pбginas elas devem estar rodando em um servidor PHP.
Gamemode/Filtercript:
Vamos comeзar a prepara o servidor sa-mp para receber o registro dos usuбrios:
Precisaremos de algum plugin que faзa a comunicaзгo com o Mysql, usaremos hoje o plugin do GStylezzz.
Clique aqui para visitar o tуpico oficial do plugin para download
Com o Plugin e includes devidamente instaladas, vamos a obra.
pawn Код:
#include <a_mysql>
//adicionamos a include no inнcio do gamemode
pawn Код:
public OnGameModeInit()//iremos realizar a conexгo com o mysql quando o gamemode iniciar
{
mysql_conect("localhost","root","");//vamos fazer a conexгo
mysql_select_db("bancodedados");//selecionamos o banco de dados que vamos trabalhar
return 1;
}
pawn Код:
#define DIALOG_LOGIN 3854
public OnPlayerConnect(playerid)
{
//vamos checar se o usuбrio possui uma conta no servidor
new query[300],nome[30];
GetPlayerName(playerid,nome,30);
format(query,sizeof(query),"SELECT * FROM tabelausuarios WHERE Nome = '%s' LIMIT 1",nome);//formatamos a string
mysql_query(query);//fizemos a consulta
mysql_store_result();//guardamos o resultado para poder manipularmos.
new rows = mysql_num_rows();//pega o nъmero de registros encontrados
if(!rows)SendClientMessage(playerid,-1,"Vocк deve se registrar no site.");//caso nгo exista nenhum registro(nao se registrou) manda uma mensagem dizendo para se registrar no site.
else
{//caso o jogador possua uma conta aparecerб o dialog para logar
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bem vindo digite sua senha para logar.","Logar","Sair");
}
mysql_free_result();//libera o resultado guardado.
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN)
{
if(!response)return Kick(playerid);
new query[300],nome[30];
GetPlayerName(playerid,nome,30);
format(query,sizeof(query),"SELECT * FROM tabelausuarios WHERE Nome = '%s' AND Senha = md5('%s') LIMIT 1",nome,inputtext);//formatamos a string com a senha desta vez
mysql_query(query);//fizemos a consulta
mysql_store_result();//guardamos o resultado para poder manipularmos.
new rows = mysql_num_rows();//pega o nъmero de registros encontrados
if(!rows)ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bem vindo digite sua senha para logar.","Logar","Sair");//caso erre a senha manda o dialog denovo.
else
{
//carregar jogador e spawna
new save[300];
mysql_fetch_field_row(save,"Skin");SetPlayerSkin(playerid,strval(save));//pega o skin do player do BD
mysql_fetch_field_row(save,"Nivel");SetPlayerScore(playerid,strval(save));//pega o nivel do player no BD
SpawnPlayer(playerid);
}
mysql_free_result();//libera o resultado guardado.
}
}
public OnPlayerDisconnect(playerid)
{
//vamos salvar o jogador, mas nao se esqueзam de checar se o jogador estб logado antes
new query[300],nome[30];
GetPlayerName(playerid,nome,30);
format(query,sizeof(query),"UPDATE tabelausuarios SET Skin = '%d', Nivel = '%d' WHERE Nome = '%s' LIMIT 1",GetPlayerSkin(playerid),GetPlayerScore(playerid),nome);//formatamos a string com o que devemos salvar
mysql_query(query);//fizemos a consulta e salvamos no BD
return 1;
}
Como instalar e configurar o WampServer
[ame=http://www.youtube.com/watch?v=-lZDx2IFzSU]Como criar um banco de dados usando o PhpMyAdmin[/ame]
Tutorial de Introduзгo ao Mysql
Downloads:
WampServer - Servidor PHP/Mysql
Plugin/include Mysql para SA-MP
Manual de referкncia MYSQL
Agradeзo a compreensгo de todos e espero que tenham bons estudos.
Caso encontrem erros ortogrбficos ou outros, por favor comente.
Se possнvel avaliem o tуpico.
att. Ivan