Formulário com senha em md5 – PHP

Bom, vou ensinar em poucos passos a criar um script de registro com encriptação de senha por md5.

1° – passo: Criar o documento de configuração (salve como config.php):

Código PHP:
$server = "Host do MySql";
$user = "Usuário do MySql";
$password = "Senha do MySql";
$database = "Banco de dados";

 

$db = mysql_connect($server, $user, $password) or die ("Falha na conexão");
mysql_select_db($database) or die ("Database inválido");

2° passo: Criar o formulário. (Salve como index.php) (Detalhe: ao criar o arquivo insira a função para incluir o arquivo config.php – include (“config.php”); – ):

Código HTML:
<form method="post" name="cadastra" action="cadastra.php">
<table align="center" cellpadding="2" cellspacing="2">
<tr>
    <td id="tdsn" align="right">Login:</td>
	<td id="tds" align="left" colspan="3"><input type="text" name="user" size="20"></td>
</tr>
<tr>
	<td id="tdsn" align="right">Senha:</td>
	<td id="tds" align="left" colspan="3"><input type="password" name="pass" size="20"></td>
</tr>
<tr>
	<td id="tdsn" align="right">Confirmar senha:</td>
	<td id="tds" align="left" colspan="3"><input type="password" name="repass" size="20"></td>
</tr>
<tr>
	<td align="center" id="tdsn" colspan="4"><input type="submit" value="Confirmar" name="inclui"></td>
</tr>
</table>
</form>

3° passo: Criar o script para encriptar e enviar os dados ao banco de dados (Salve como cadastra.php):

Código PHP:
$contalogin = mysql_query ("SELECT * FROM accounts WHERE login = '".$_POST['user']."'");    // Verifica se o username informado já está cadastrado
$rowcontalogin = mysql_num_rows($contalogin);
if ($rowcontalogin >= 1) {echo "<font color='red'>Erro: Usuário já cadastrado!</font>"; }    // Se o username já estiver registrado mostra o erro
else {    // Se o username nao estiver cadastrado, inicia a operação para inserir os dados
$senha = md5($_POST['pass']);    // Encriptando a senha
mysql_query ("INSERT INTO accounts (login, senha) VALUES ('".$_POST['user']."', '".$senha."')"); // Insere os dados
echo "<script>alert('Login ".$_POST['user']." registrado com sucesso');location='index.php'</script>";    // Após registrar, exibe a mensagem de confirmação
}    // Fecha inserção de dados
mysql_close($db); // Fecha a conexão com o banco de dados

Note que para fazer a encriptação, foi usada a função md5(), que funciona da seguinte maneira:
→ $senha = md5($_POST['pass']); – Encripta o valor digitado no campopass ($_POST['pass'])e transforma o resultado em um valor ($senha), para depois então inserir o resultado final da encriptação:

Código PHP:
mysql_query ("INSERT INTO accounts (login, senha) VALUES ('".$_POST['user']."', '".$senha."')");

SQL da tabela accounts:

Código:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for accounts
-- ----------------------------
DROP TABLE IF EXISTS `accounts`;
CREATE TABLE `accounts` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(255) default NULL,
  `senha` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

  • 1 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como ativar o Register Global no seu espaço Linux PHP5

O register_globals está nas configurações do php desativada para que...

Bloqueando acessos vindos de algum site

Se você deseja bloquear visitantes vindos de um determinado site para o seu,...

Erro 403 (Forbidden) juntamente com erro 404 (Not Found)

Erro 403 (Forbidden) juntamente com 404 (Not Found). Isto geralmente pode ocorrer devido as...

Como ativar o Register Globals no PHP (register_globals)?

Como ativar/desativar o Register Globals (register_globals)? Primeiramente, aconselhamos a...

Como desativar magic quotes gpc para joomla 3?

Se você está trabalhando com a versão 3.0.x do Joomla, ao inserir uma imagem e salvar seu artigo,...

Powered by WHMCompleteSolution