Antes de de tudo quero que vejam um exemplo que fiz!
Acessem: http://nietore.6te.net/
Bom Galera, esse é meu segundo tutorial em relação à PHP, não sou muito bom em fazer tutoriais bem explicados e tal, mas vou mostrar a forma mais simples e rápida de fazer um sistema de Cadastro e Login, usando PHP + MYSQL.
A ferramenta que utilizei foi o Dreamweaver, vocês podem utilizar outro é claro de sua escolha como, por exemplo: Bloco de Notas, Notpad++ ou Worldpad etc..
Esse sistema, não é tão seguro e potente, mas porem muito bom para iniciantes e eficaz!
Vamos começar!
Antes de tudo quero dizer algo muito importante em relação a qualquer tipo de desenvolvimento relacionado a programação de sites, as vezes quando você cria uma pagina em HTML (Obs. Estou falando criar usando Bloco de Notas, Notpad++, entre outros), e quando vai usar caracteres especiais exemplo: Não, È, Há, Tô, etc... , você salva seu arquivo em HTML normal e tal, Dae quando vai abrir a pagina pelo navegador, os textos contendo caracteres especiais fica uma bagaceira total! Então a cima de todos os códigos seja ele PHP ou HTML use esse código:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@Edit
Já ia esquecendo a Tabela em MYSQL
Criando tabela no MySQL
Vamos criar a tabela que será responsável por receber os dados do usuario e senha. Sua tabela tem que ter esse esquema:
- Spoiler:
CREATE TABLE login (
id INT(5) NOT NULL AUTO_INCREMENT,
usuario TEXT NOT NULL,
senha TEXT NOT NULL,
PRIMARY KEY (id)
);
1º Vamos primeiro criar o arquivo principal para podermos continuar:
- Spoiler:
- <?php
$host = "localhost"; // SEU IP DO HAMACHI, LOCAL, NO-IP, OU HOST
$user = "root"; // USUARIO PARA CONECTAR-SE AO MYSQL (O PADRÃO É ROOT)
$pass = ""; // SENHA PARA CONECTAR-SE AO MYSQL
$database = "nietore"; // DATA BASE DO MYSQL (ESSA DATABASE É ONDE FICARÁ A TABELA LOGIN PARA O CADASTRO E LOGIN)
?>
2º Vamos agora criar a pagina que irá validar o formulário de Cadastro
- Spoiler:
<?php
require_once ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP
mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA
mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE
$novo_usuario = ($_POST['novo_usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO
$nova_senha = ($_POST['nova_senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO
$nova_senha2 = ($_POST['nova_senha2']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO COMFIRME A SENHA DO FORMULARIO
$selecionar = "SELECT usuario FROM login WHERE usuario = '$novo_usuario'"; // ESSA VARIAVEL IRÁ SELECIONAR A TABELA E A COLUNA PARA QUE SEJA CHECADO SE NÃO EXISTE UM MESMO LOGIN
$verificar = mysql_query($selecionar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $SELECIONAR
$enviar = mysql_num_rows($verificar); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE JA EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS)
if ($enviar == 1) // ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS DESDE A PRIMEIRA VARIAVEL $SELECIONAR ATÉ ENVIAR SE NÃO HÁ NENHUM CONFRONTO (A CONDIÇÃO A SER CUMPRIDA AQUI É QUE O VALOR DO LOGIN DO USUARIO TEM QUE SER DIFERENTE DE 1 PARA CONTINUAR, SE O POR ACASO ALGUEM JA ESTIVER UTILIZANDO O MESMO LOGIN, DE ALGUMA FORMA ESSE NOME SERÁ COMPARADO COM O Nº 1, E APARECERÁ A MENSAGEM DE ERRO ABAIXO)
{
echo "O Nome do Usuario Já Existe"; // MENSAGEM DE ERRO QUE IRÁ APARECER CASO A CONDIÇÃO SEJA CUMPRIDA, OU SEJA, A CONDIÇÃO SE CUMPRE QUANDO O LOGIN JA ESTIVER SENDO USADO
}
else // EXCEÇÃO CASO NÃO SEJA CUMPRIDA AS CONDIÇÕES ( ESSA EXCEÇÃO ELA SERÁ PROCESSADA QUANDO OS DADOS FORNECIDOS PELA PESSOA AINDA NÃO ESTIVER SENDO UTILIZADA)
{
if ($nova_senha == $nova_senha2) // ESSA CONDIÇÃO IRÁ VERIFICAR SE A SENHA PRINCIPAL É A MESMA FORNECIDA PELA CONFIRMAÇÃO DA SENHA, SE AS DUAS SENHAS ESTIVEREM CORRETAS O CADASTRO IRÁ SER CONCLUIDO.
{
$sqlEnviando = mysql_query("INSERT INTO login (usuario,senha) VALUES ('$novo_usuario','$nova_senha')") or die(mysql_error()); /* AQUI O CODIGO IRÁ INSERIR OS DADOS FORNECIDOS PELA PESSOA NO BANCO DE DADOS, FUNCIONA +/- ASSIM ESSA LINHA:
"INSIRA DENTRO DA TABELA LOGIN NAS COLUNAS USUARIO E SENHA OS VALORES $NOVO_USUARIO E $NOVA_SENHA" */
echo "Cadastro Efetuado com Sucesso"; // MENSAGEM QUE IRÁ APARECER CASO O CADASTRO SEJA EFETUADO COM SUCESSO!
}
else // ESSA EXCEÇÃO SE APLICA QUANDO A SENHA PRINCIPAL FOI DIGITA DIFERENTE DA CONFIRMAÇÃO DA SENHA
{
echo "As Senhas não Conferem"; // MENSAGEM QUE IRÁ APARECER CASO AS SENHA NÃO FOREM CORRETAS
}
}
?>
3º Agora vamos criar o arquivo que irá validar o formulário de login
- Spoiler:
- <?php
include ("Config.php"); // INCLUINDO INFORMAÇÕES DO CONDIG.PHP
mysql_connect("$host", "$user", "$pass") or die(mysql_error()); // CONECTANDO-SE AO MYSQL DA MAQUINA
mysql_select_db($database) or die(mysql_error()); // CONECTANDO-SE A DATA BASE
$usuario = ($_POST['usuario']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO LOGIN DO FORMULARIO
$senha = ($_POST['senha']); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELO CAMPO DE TEXTO SENHA DO FORMULARIO
$analisar = "SELECT * FROM login WHERE usuario = '$usuario' AND senha = '$senha'"; // ESSA VARIAVEL IRÁ ANALISAR NO BANCO DE DADOS NA TABELA LOGIN SE USUARIO E SENHA ESTAO CORRETOS
$resultado = mysql_query($analisar); // ESSA VARIAVEL IRÁ GUARDAR INFORMAÇÕES FORNECIDAS PELA VARIAVEL $ANALISAR
$iniciar = mysql_num_rows($resultado); // ESSA VARIAVEL SERVIRÁ PARA CHECAR SE EXISTE UM USUARIO COM ESSE LOGIN (NOTE QUE ELA BUSCA INFORMAÇÕES DE OUTRAS VARIAVEIS)
if ($iniciar == 1)// ESSA CONDIÇÃO IRÁ VERIFICAR SE OS DADOS FORNECIDOS NÃO IGUAIS AOS DO BANCO DE DADOS
{ // APÓS A CONDIÇÃO FOR ACEITA, ACONTECE UMA AÇÃO, E ESSA AÇÃO SERÁ O RESULTADO DO LOGIN EFETUADO
?> <!-- NOTE QUE ISSO JÁ É UM COMENTARIO EM HTML, ISSO ACONTECEU PORQUÊ EU FECHEI A TAG DO PHP PARA QUE EU POSSA TRBALHAR COM CODIGOS EM HTML APÓS EU TER EFETUADO O LOGIN -->
<center>
Bem Vindo <font style="font-weight:bold;"><?php echo $usuario ?></font> <!-- MENSAGEM QUE APARECERÁ CASO ESTA LOGADO -->
</center>
<?php // AQUI JA COMEÇA COMENTARIOS EM PHP, OU SEJA EU ABRI NOVAMENTE A TAG DO PHP PARA QUE MEU CODIGO CONTINUE PROCESSANDO SEM ERRO ALGUM
}
else // EXCEÇÃO CASO LOGIN OU SENHA ESTIVEREM ERRADOS
{
echo "Login ou Senha Invalido"; // MENSAGEM QUE APARECERÁ CASO OS DADOS FORNECIDOS ESTAJAM ERRADOS
}
?>
4º Vamos agora criar o formulário de Cadastro e Login em uma única pagina
(Quero deixar claro que não deixei nenhum comentário na frente de cada campo de texto ou código, aprender PHP não é um bicho de 7 cabeças , então deixe de ser preguiçoso e leia tutoriais relacionados)
- Spoiler:
- <hr>
<h3> Se você ja tem uma conta, Logue-se</h3>
<form action="Login.php" method="post">
Login: <br>
<input type="text" name="usuario"><br>
Senha: <br>
<input type="password" name="senha"><br>
<input type="submit" value="Logar">
</form>
<hr>
<h3> Ainda não tem uma conta? Cadastre-se, é Rapido e Facil</h3>
<form action="Cadastro.php" method="post">
Digite um Login: <br>
<input type="text" name="novo_usuario"><br>
Digite uma Senha: <br>
<input type="password" name="nova_senha"><br>
Confirme a Senha: <br>
<input type="password" name="nova_senha2"><br>
<input type="submit" value="Enviar Dados">
</form>
As únicas palavras que quero dizer sobre esse formulário é que:
O código action refere-se a pagina em que os dados fornecidos serão enviados para serem analisados, o method usado é o POST.
Duvidas? Deixe um comentário!
Antes de me criticarem! Deixo claro desde já que não importa o que digam, esse é meu modo de ensinar, esse é meu modo que acho que as pessoas irão aprender, esse é o modo que eu uso, esse é o modo que aprendi e continuo fazendo, e quem conhece meu trabalho sabe que tenho total conhecimento no que faço, e talvez vocês não irá achar em lugar nenhum um tutorial desse jeito, pôs levei 2 hrs fazendo comentários, para que as pessoas saibam aonde elas estão mexendo, e tenha noção do que acontece !
Créditos:
Nietore
Última edição por Nietore em Sex Nov 04, 2011 12:39 pm, editado 6 vez(es)