Tutorial feito por Felaqund(Rafael Felix)
Bom continuando nosso tutorial, agora vamos configurar o login na pagina "index.php", aconselho vocês a criarem um usuario na tela de registro, para testar o login.
Ná pagina index.php, no inicio da página, vamos incluir um código que faz uma consulta sql no banco e verifica usuário e senha.
Código: ‹ Selecionar › ‹ Expandir ›
<?php
if($_POST['Enviar'] == "Login"){
$con = mysql_connect("localhost", "user", "pass");
@mysql_selectdb("wizards");
$sql = "SELECT * FROM Usuarios WHERE Login = '".$_POST['user']."' and Senha = '".$_POST['senha']."'";
$query = mysql_query($sql);
$lin = mysql_num_rows($query);
//se não retornar nenhuma liha
if($lin < 1){
echo("Usuário ou senha não conferem");
}else{
//aqui criamos váriaveis de sessão para armazenar dados importantes do jogador como seu codigo
$row = mysql_fetch_array($query);
session_start();
$_SESSION['User'] = $row['Id'];
//vamos gravar somente o Id por ser uma parte importate e vamos utiliza-las no jogo
header("Location: game.php");
}
mysql_close($con);
}
?>
(...)
Aí está configurado nosso login, caso tenha cadastrado algum usuário tente fazer o login, se for feito com sucesso, será redirecionado a página game.php, que vamos fazer agora.
Já sabem o que fazer, então criem uma página chamada game.php.
Inicialmente vamos implementar uma segurança para ele, pra nenhum "espertinho" digitar o endereço da página sem ter feito login, no inicio da página entra o código em PHP que vai verificar a variavel de sessão Id, e se ela não estiver setada redireciona o usuario para pagina index.php:
Código: ‹ Selecionar › ‹ Expandir ›
<?php
session_start();
if(!isset($_SESSION['Id']){
header("Location: index.php");
}
definimos um leve segurança para o jogo.
vamos agora a um ponto importante pq um usuário tem um personagem, e na tela de registro não pedimos nenhuma informação do personagem e nem inserimos, então abaixo da segurança vamos verificar no banco se o cara tem um personagem, se não tiver montamos uma tela para ele criar um, se tiver mostra a tela inicial.
Código: ‹ Selecionar › ‹ Expandir ›
<?php
$con = mysql_connection("localhost", "user", "senha");
@mysql_selectdb("wizards");
$sql = "SELECT * FROM Personagens WHERE Usuario = ".$_SESSION['Id'];
$query = mysql_query($sql);
$linhas = mysql_num_rows($query);
if($linhas <= 0){
//aqui vamos montar o formulário de cadastro de personagens, utilizamos o echo para imprimir em HTML na tela
//primeiros vamos ao banco buscar as cidades e as racas cadastradas
$city = "SELECT Id, Nome FROM Cidades";
$qCities = mysql_query($city);
$raca = "SELECT Id, Nome FROM Racas";
$qRacas = mysql_query($raca);
echo("<form action='game.php' method='post'><br>Nome do Personagem:<br><input type='text' name='NmPer' value=''");
//agora não fechamos o form e vamos percorrer as queries
echo("<br>Raça:<br><select name='raca'>");
for($row = mysql_fetch_array($qRacas)){
echo("<option value=".$row['Id'].">".$row['Nome']."</option>");
}
echo("</select><br>Cidade:<br><select name='cidade'>");
for($row=mysql_fetch_array($qCities)){
echo("<option value=".$row['Id'].">".$row['Nome']."</option>");
}
echo("</select><br><input type='Submit' name='perSub' value='Registrar' /></form>");
//montamos nosso form de cadastro
}else{
//configuramos para uma tela de boas vindas caso já tenha um personagem cadastrado.
$row = mysql_fetch_array($query);
echo("Seja bem vindo ".$row['Nome']."! Sua jornada continua");
}
mysql_close($con);
?>
Agora vamos a codificação da inserção de um novo personagem, como criamos varias colunas com valores default não vamos precisar nos incomodar em inserir valores como vida, mana, etc.
o codigo de inserção e simples, uma parte do código será omitida, que é a conexão com o banco, e a seleção da base, que podem ser vistos nas partes anteriores.
Código: ‹ Selecionar › ‹ Expandir ›
if($_POST['perSub'] == "Registrar"){
if(strlen($_POST['NmPer']) != 0){
//outras validações de nomes vem aqui.
//aqui vem a conexão com o banco
$sql = "INSERT INTO Personagens(Usuario, Nome, Cidade, Raca) VALUES(".$_SESSION['Id'].", '".$_POST['NmPer']."', ".$_POST['cidade'].", ".$_POST['raca'].")";
$insert = mysql_query($sql);
if($insert){
echo("Personagem cadastrado com sucesso");
}else{
echo("Problemas ao inserir Personagem, tente novamente mais tarde");
}
}
}
PS: Pessoal essas 3 ultimas partes de código fazem parte da página "game.php".
Por enquanto é isso ai pessoal, provavlemente só quarta-feira vem outro, e prometo ir mais longe.
[]'s