CRIAR BROWSER GAME - 2# A página de registo (PHP)

Você sempre quis construir seu próprio jogo Browser, mas não sabe como começar ou onde começar? Geralmente, o melhor lugar para começar é a sua página de registo. É a página que os usuários vão ver primeiro quando eles estão interessados em jogar o seu jogo, e é como eles irão criar as suas contas antes de login e começar a jogar o seu jogo.Este escrever-se tentará guiá-lo através da criação de uma página de registro de base. Ele também irá mostrar como você pode colocar algumas dicas de design de banco de dados para usar quando você criar seu banco de dados.

Para começar, vamos precisar de banco de dados. Abra qualquer utilitário que você está usando para administrar seus bancos de dados (eu uso o PHPMyAdmin), e criar a nova base de dados correcta e login para o seu projeto Browsergame novo. Aqui estão algumas SQL para configurar sua tabela de usuários básicos:

CREATE TABLE usuários ( 	int id NOT NULL AUTO_INCREMENT, 	nome varchar(250), 	senha varchar(50), 	PRIMARY KEY(id) );

Uma vez feito isso, podemos começar a escrever o nosso código.

Para começar, vamos precisar de nosso formulário de inscrição. Vamos apenas criar uma base:

1 2 3 4 5 6 
Usuário: type='text'
Senha:
Confirme a senha:
/> /

Então, agora temos o nosso formulário. Mas na verdade não tem nada no lugar para segurar o nosso formulário faz.

Primeiro, vamos adicionar alguma coisa para verificar e ver que os valores que estão sendo passados como uma senha e uma confirmação de senha igualar-se:

1 2 3 4 5 6 7 8 9 10 
 	se($ _POST) { 		$ senha = $ _POST['senha']; 		$ confirm = $ _POST['confirmar'];	 		se($ senha =! $ confirma) { ?> estilo  Erro 'vermelho: as senhas não combinam> PHP 	} 	} >? 

Agora, o que fizemos lá?

Primeiro, nós verificamos para ver se a variável interna do PHP $ _POST havia nada dentro dela. Se não, então não tem havido quaisquer dados enviados para o nosso script para processar - tentando processar dados vazio seria inútil.

Então, nós armazenamos a senha ea confirmação da senha enviada para nós. Nós compará-los e se não forem iguais nos cuspir uma mensagem de erro.

O recurso que vem vamos fazer é adicionar a verificação para ver se o nome que o usuário deseja está disponível. A fim de fazer isso, vamos precisar de se conectar ao banco de dados que criamos anteriormente, e executar uma consulta sobre a usuários da tabela.

7 8 9 10 11 12 
? 	} mais { 			$ dbhost = 'localhost'; 			$ dbuser = 'user'; 			$ dbpass = 'pass'; 			$ dbname = "nome";	 		}

A primeira coisa que fizemos foi definir nossos valores conexão com o banco. Estes irão variar de acordo com sua configuração específica. dbhost $ será o lugar onde seu banco de dados está hospedado - mudanças são, 'localhost' vai ficar bem. dbuser $ é o nome que você se conectar ao banco de dados com e dbpass $ é a senha que corresponde ao que username. Finalmente, $ dbname é o nome do banco de dados iremos trabalhar com depois de ter ligado.

Assim que tivermos todos os nossos dados de configuração definida, nós podemos realmente se conectar ao banco de dados:

12 13 14 15 
			$ Conn = mysql_connect($ dbhost,dbuser $,$ dbpass) 				ou morrer ('Erro ao conectar ao mysql'); 			mysql_select_db($ dbname); 		}

Estas linhas de código irá se conectar ao banco de dados, e selecione o banco de dados específico que precisamos para trabalhar. O ou morrer faz parte do código PHP diz que, se houver um erro na conexão, deve "morrer" com a mensagem de erro. Se você estiver recebendo essa mensagem de erro quando você está testando, as alterações são é porque as configurações de versões anteriores não estão corretos.

Assim que tivermos êxito estabelecido uma conexão com nosso banco de dados, podemos começar a executar consultas sobre o assunto:

15 16 17 
			$ Query = sprintf("SELECT COUNT ID) dos usuários (WHERE (username) = UPPER ('SUPERIOR% s') ", 				mysql_real_escape_string($ _POST['username'])); 		}

Aqui, nós guardamos a nossa nova consulta em $ query. Nós vamos estar contando quantos usuários existem nautilizadores tabela que tem o nome que queremos, quando ambos o nome de usuário que queremos e seu nome de usuário estão ligados em maiúsculas. Isso vai nos permitir limitar os usuários a um único nome, juntamente com a certeza de que o nome "Foo" e "foo" significam a mesma coisa - por isso há menos confusão. Usamos o sprintf ()função para formatar a nossa produção, para que pudéssemos usar mysql_real_escape_string () para escapar do valor de $] _POST ['username' , antes de colocá-lo em nossa consulta. Nós escapamos nosso valor para que pudéssemos evitar o SQL Injection explora. Você deve sempre escapar todos os dados que vamos usar em uma consulta de banco de dados.

Uma vez que temos a nossa consulta preparada, é hora de executá-lo e recuperar os nossos resultados.

17 18 19 20 21 
			$ Resultado = mysql_query ($ query); lista ($ count) = mysql_fetch_row ($ resultado); if ($ count> = 1) {:>  erro que usuário é levado <. / span> 		}

O que fizemos aqui é que temos executado nossa consulta, e depois armazenados que ele voltou para $ contagem.Então, nós estamos verificando que o valor que voltou foi. Se for maior ou igual a 1, então um usuário já existe com esse nome - e, portanto, apresentar uma mensagem de erro informando ao usuário que o nome que eles querem é tomar.

Mas nós ainda não construímos a principal parte da página de cadastro ainda - o registro da peça real! Então agora nós vamos fazer isso. Logo abaixo os nossos manuseio para o usuário a ser tomadas, adicione isto:

21 22 23 24 25 26 27 28 29 
? 		} mais { 				$ query = sprintf("INSERT INTO utilizadores (, usuário senha) VALUES ('% s','% s'); ", 					mysql_real_escape_string($ _POST['username']), 					mysql_real_escape_string(md5($ senha))); 				mysql_query($ query); 			?>  Parabéns, você já se registrou com sucesso !  			}

Esse código irá criar uma consulta INSERT que podemos correr, que irá inserir novos usuários no nosso banco de dados. Mais uma vez, use sprintf () e mysql_real_escape_string () para se certificar de que não temos qualquer problema de SQL Injection. Algo de novo que você deve observar é que, no caso de $ senha, também passá-lo através de outra função - md5 (). Ao passá-lo por md5, nós recebemos de volta uma versão hash da nossa senha. Isso significa que ele tem sido uma forma criptografada, e não pode ser decifrado - para que possamos armazenar com segurança as senhas do usuário no nosso banco de dados nosso, e mesmo se alguém conseguir acesso a ela não será capaz de roubar as senhas do usuário. Você deve nunca guardar a senha de um usuário em texto simples - é apenas a pedir sarilhos.

Depois que criamos e depois executado a nossa consulta, imprimir uma outra mensagem útil para dizer ao usuário que se registrou com sucesso. E é isso! Agora você tem um script de registro de trabalho, escrito em PHP. Aqui está o código na sua totalidade:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 
 	se($ _POST) { 		$ senha = $ _POST['senha']; 		$ confirm = $ _POST['confirmar'];	 		se($ senha =! $ confirma) { ?> estilo > vermelho "Erro: As senhas não fazem span jogo! / <		 	} mais { 			$ dbhost = 'localhost'; 			$ dbuser = 'user'; 			$ dbpass = 'pass'; 			$ dbname = "nome", 			$ conn = mysql_connect($ dbhost,dbuser $,$ dbpass) 				ou morrer ('Erro ao conectar ao mysql'); 			mysql_select_db($ dbname); 			$ query = sprintf("SELECT COUNT ID) dos usuários (WHERE UPPER (nome) = UPPER ( '% s'"), 				mysql_real_escape_string($ _POST['username'])); 			$ resultado = mysql_query($ query); 			lista($ count) = mysql_fetch_row($ resultado); 			se($ count => 1) { ? >  Erro: nome de usuário é levado. que  ? 		} mais { 				$ query = sprintf("INSERT INTO utilizadores (, usuário senha) VALUES ('% s','% s'); ", 					mysql_real_escape_string($ _POST['username']), 					mysql_real_escape_string(md5($ password))); 				mysql_query($ query); 			?>  Parabéns, você se cadastra ! sucesso   			}	 		} 	} ?>  Usuário: type='text' 

Senha : type='password'
Confirme a senha:
/> /

0 Response to "CRIAR BROWSER GAME - 2# A página de registo (PHP)"

Postar um comentário

powered by Blogger | WordPress by Newwpthemes | Converted by BloggerTheme