Criando um sistema de cadastro e login com PHP e MySql Read more: http://www.linhadecodigo.com.br/artigo/3561/criando-um-sistema-de-cadastro-e-login-com-php-emysql.aspx#ixzz3ZCNa701B Criando a tabela 'usuarios' 1º Passo - A primeira coisa a ser feita é criar a sua tabela no banco de dados, aqui nós utilizaremos apenas 3 campos (você poderá utilizar quantos campos quiser, desde que , respeite alguma regras que serão explicadas). Vamos ao código: Tabela usuarios (usuarios.sql) Create table usuarios ( ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, login Varchar(30), senha Varchar(40), Primary Key (ID)) ENGINE = MyISAM; O código acima, criou uma tabela chamada usuarios , contendo os seguintes campos: login (do tipo varchar com no máximo 30 caracteres), senha (do tipo varchar com no máximo 40 caracteres), e o campo ID (do tipo INT, e com auto incremento.) Agora segue uma pequena explicação sobre cada 1 dos 3 campos. Campo 'login' - Armazenará o nome digitado no campo 'login' do formulário (Esse campo não pode se repetir e não podem ser nulos,porem pode ser alterado pelo usuário caso você deseje permitir.) a restrição será aplicada via php. Campo 'senha' - Armazenará o valor da variável senha(que veremos mais a frente) Campo 'ID' - Armazena um código único de usuário, gerado cada vez que alguém se cadastra, dando identidade única a cada login (Esse código não se repete, e não pode ser alterado, podendo causar falhas como invalidez das contas devido ao compartilhamento de ids) Criando o Formulário de cadastro 2º Passo - Agora vamos criar o nosso formulário html. Nesse caso não utilizaremos estilos css, apenas um layout simples para entender o funcionamento do sistema. Página cadastro.html <html> <head> <title> Cadastro de Usuário </title> </head> <body> <form method="POST" action="cadastro.php"> <label>Login:</label><input type="text" name="login" id="login"><br> <label>Senha:</label><input type="password" name="senha" id="senha"><br> <input type="submit" value="Cadastrar" id="cadastrar" name="cadastrar"> </form> </body> </html> Atenção para um ponto importante dessa página: Estamos utilizando o método post, para o envio dos dados para a página php. Você também pode utilizar o GET, porém, o método POST é mais seguro no envio das informações, já que o métod GET passa os valores dos campos como parâmetros pela URL. Criando o cadastro.php 3º Passo - Agora vamos criar a página cadastro.php, essa página ira tratar os dados inseridos no formulário de cadastro e inserí-los na sua tabela no banco de dados. Vamos ao código: Página cadastro.php <?php $login = $_POST['login']; $senha = MD5($_POST['senha']); $connect = mysql_connect('nome_do_servidor','nome_de_usuario','senha'); // localhost, root, "" $db = mysql_select_db('nome_do_banco_de_dados'); $query_select = "SELECT login FROM usuarios WHERE login = '$login'"; $select = mysql_query($query_select,$connect); $array = mysql_fetch_array($select); $logarray = $array['login']; if($login == "" || $login == null){ echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.html';</script>"; }else{ if($logarray == $login){ echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.html';</script>"; die(); }else{ $query = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')"; $insert = mysql_query($query,$connect); if($insert){ echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='login.html'</script>"; }else{ echo"<script language='javascript' type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>"; } } } ?> Obs: Na linha 7 do código acima, temos a verificação ($login == "" || $login == null), essa é a restrição que falamos anteriormente, em que , o campo login não pode estar nulo. A verificação na linha 13 refere-se à existência de um usuário com o mesmo nome, ou seja, caso o nome exista no banco de dados, um alerta é acionado. Criando o formulário de login 4º Passo - Com a página de cadastro criada, vamos agora ao formulário de login, que fará o envio das informações para uma página php que verificará a existência desse usuário. Vamos ao código: login.html <html> <head> <title> Login de Usuário </title> </head> <body> <form method="POST" action="login.php"> <label>Login:</label><input type="text" name="login" id="login"><br> <label>Senha:</label><input type="password" name="senha" id="senha"><br> <input type="submit" value="entrar" id="entrar" name="entrar"><br> <a href="cadastro.html">Cadastre-se</a> </form> </body> </html> Criando o login.php 5º Passo - Essa página será responsável por tratar as informações inseridas na página de login e verificar se o usuário inseriu as informações corretas, e logo em seguida redirecioná-lo. Listagem 5: login.php <?php $login = $_POST['login']; $entrar = $_POST['entrar']; $senha = md5($_POST['senha']); $connect = mysql_connect('nome_do_servidor','nome_de_usuario','senha'); $db = mysql_select_db('nome_do_banco_de_dados'); if (isset($entrar)) { $verifica = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'") or die("erro ao selecionar"); if (mysql_num_rows($verifica)<=0){ echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='login.html';</script>"; die(); }else{ setcookie("login",$login); header("Location:index.php"); } } ?> Criando a index.php 6º Passo - Agora criaremos a página index.php , que terá duas partes , uma parte pública, e outra restrita. <?php $login_cookie = $_COOKIE['login']; if(isset($login_cookie)){ echo"Bem-Vindo, $login_cookie <br>"; echo"Essas informações <font color='red'>PODEM</font> ser acessadas por você"; }else{ echo"Bem-Vindo, convidado <br>"; echo"Essas informações <font color='red'>NÃO PODEM</font> ser acessadas por você"; echo"<br><a href='login.html'>Faça Login</a> Para ler o conteúdo"; } ?>