Pular para o conteúdo principal

🧠 SQL Não é Código: É Raciocínio (Guia Completo com JOIN e GROUP BY)

Login com alteração de senha do usuário

Olá, galera da NET!!!

Eu estou hoje aqui para mostrar para vocês um script bem legal que fiz em php, trata-se de um sistema de login, onde o usuário pode alterar sua senha e se cadastrar no site, assim você pode dar comodidade ao seus clientes, vou tentar ser o mais explicito possível, mas para isso você precisa ter conhecimento básico em php e mysql, e para testar pode utilizar o wampserver, um servidor local onde você tem o phpmyadmin.

vamos ao que interessa!!!

primeiro precisamos de uma tabela, o código abaixo gera esta tabela:

CREATE TABLE `users` (
  `userid` int(11) NOT NULL auto_increment,
  `username` varchar(60) NOT NULL,
  `password` varchar(60) NOT NULL,
  `ativo` char(1) NOT NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


primeiro criamos a tabela user, e depois criamos os campos: userid do tipo int com valor não nulo e auto_increment, o que quer dizer que não precisamos atribuir valores a este campo, o próprio mysql vai fazer isto, o campo username do tipo varchar com tamanho 60 e valor não nulo, o password com tamanho 60 e o ativo do tipo char com tamanho 1.

depois você vai entender o porquê deste campo ativo.




agora vamos ao formulário de login que vai enviar as informações do usuário:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>login.php</title>


</head>
<body>
<h1> Cícero Joceilton </h1>
<h4> Juazeiro do Norte / Ce </h4>

<form name="form1" method="post" action="acesso.php">
              
                  <p align="right">Login
                    <input name="username" type="text" size="13" maxlength="60" />
                    Senha
                    <input name="password" type="password" size="13" maxlength="60" />
                    <input type="submit" name="Submit" value="Login" />
                 
                 
                    </font>
                    <br><br>
             <a href="cadastro.php">Cadastre-se</a></p>
              </form>
             
             

</body>
</html>
O acesso php, para criarmos as sessões:

<?php

// começar ou retomar uma sessão

session_start();


// se vier um pedido para login
if (!empty($_POST)) {

    // estabelecer ligação com a base de dados
    mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('usuarios');

    // receber o pedido de login com segurança
    $username = ($_POST['username']);
    $password = ($_POST['password']);
}
//verifica se algum dos campos não foram preenchios
if ($username=="" || $password=="") {
echo "preencha todos os campos";
echo "<br>";
echo "<a href='login.php'>voltar</a>";
} else {
    // verificar o utilizador em questão (pretendemos obter uma única linha de registos)
    $login = mysql_query("SELECT userid, username FROM users WHERE username = '$username' AND password = '$password' AND ativo = 's'");

    if ($login && mysql_num_rows($login) == 1) {

        // o utilizador está correctamente validado
        // guardamos as suas informações numa sessão
        $_SESSION['id'] = mysql_result($login, 0, 0);
        $_SESSION['username'] = mysql_result($login, 0, 1);
      
   

        echo "<p>Sess&atilde;o iniciada com sucesso como {$_SESSION['username']}</p>";
      
        header ("location: index.php");
    } else {

        // falhou o login
        echo "senha e/ou usuario inválidos";
        echo "<br>";
        echo "<a href='login.php'> Voltar </a>";
      
      
      
    }
    }




?>
O verifica php, que vê se o usuario foi logado ou não

<?php
// iniciar uma sessão
session_start();
 
if (empty($_SESSION['id'])) {
 
    // não existe sessão iniciada
    // neste caso, levamos o utilizador para a página de login
    header('Location: login.php');
    exit();
}
?>

O cadastro php que cadastra novos usuarios:

<html>
<head>
<title>cadastro</title>
</head>
<body>
<form name="cadastro" action="gravar.php" method="POST">
<p>login desejado  
    <label>
    <input name="username" type="text"/>
    </label>
  </p>
  <p>Escolha uma senha  
    <label>
    <input name="senha" type="password"/>
    </label>
  </p>
  <p>confirme sua senha  
    <label>
    <input name="confirma" type="password"/>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="cadastrar" />
    </label>
</p>
</form>
Já tem cadastro? <a href="login.php">Faça Login</a>
</body>
</html>
  
O gravar.php que grava no banco de dados:

<?php
/*Desenvolvido por Cícero Joceilton
blog: http://www.cjpcturbo.blogspot.com
email: cicerojoceilton@gmail.com
Juazeiro do Norte / Ce */
//conexão com o banco de dados
mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('usuarios');
    //recebendo por metodo POST
    $username = $_POST['username'];
    $senha = $_POST['senha'];
    $confirma = $_POST['confirma'];
    $ativo = "s";
$username = mysql_real_escape_string($_POST['username']);
$senha = mysql_real_escape_string($_POST['senha']);
$confirma = mysql_real_escape_string($_POST['confirma']);

    if ($username == "" || $senha == "" || $confirma == "" ) {
    echo "Preencha todos os campos";
    echo "<br>";
    echo "<a href='cadastro.php'>voltar</a>";
        } else {
    //verifica se já existe um usuário com o mesmo nome
    $verifica = mysql_query("SELECT * FROM users WHERE username = '$username' ");
$resultado = mysql_num_rows($verifica);
//se houver um usuário com o mesmo nome  
    if ($resultado == 1) {
    //imprime na tela a mensagem informando que o usuário já existe
echo "Este usuário já existe";
echo "<br>";
echo "<a href='cadastro.php'>voltar</a>";
}
//verifica se as senhas correspondem
    else if ($senha == $confirma) {
    //se as senhas corresponderem insere no banco de dados
    $sql="
    INSERT INTO users(
    username, password, ativo)
    VALUES(
    '$username', '$senha', '$ativo')";
   
     $query=mysql_query($sql) or die("Houve um erro na gravação dos dados, verifique os valores passados");
     header("location: index.php");
     //caso as senhas não correspondam
     } else {
     //imprime na tela a mensagem informando que as senhas não correspondem
     echo "as senhas não correspondem";
     echo "<br>";
     echo "<a href='cadastro.php'>voltar</a>";
     }
     }
   
?>
O alterar_senha.php para alteração de senha do usuário:

<?php
/* Script desenvolvido por Cícero Joceilton da Silva Gomes
Pode Utilizar este script em suas aplicações gratuitamente
E qualquer dúvida pode me contactar: cicerojoceilton@gmail.com
Juazeiro do Norte / Ce */
include "verifica.php";
//conexão com o banco de dados
    mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('usuarios');
//recebendo o pedido de alteração
$codigo     = $_SESSION['id'];
$password     = $_POST["senha"];
$confirme = $_POST["confirme"];

//verifica se as senhas correspondem
if ($password == "" || $confirme == "" ) {
echo "preencha todos os campos";
echo "<br>";
echo "<a href='troca_senha.php'>voltar</a>";
} else
if ($password == $confirme) {
//caso corresponda atualiza no banco de dados na tabela users
    $sql ="
    UPDATE users SET
        password='$password'
        WHERE userid = '$codigo'
   
    ";
   
     $query=mysql_query($sql) or die("Houve um erro na gravação dos dados, verifique os valores passados");
    // abre a página index.php
    header("location:index.php");
    //caso não correspondam informa ao usuario
    } else {
    echo "Senhas não correspondem";
    echo "<br>";
    //exibe o link de volta para o formulário de alteração de senha
    echo "<a href='troca_senha.php'>Voltar</a>";
    }
    ?>
 O troca_senha.php que é o formulário de alteração de senha do usuário:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?php
include 'verifica.php';
?>
</head>

<body>
<p> olá <?php echo $_SESSION['username']; ?> preencha o formulário para  Alterar sua Senha </p>
<p>&nbsp;</p>
<form id="form1" name="form1" method="post" action="alterar_senha.php">
  <p>nova senha 
    <label>
    <input name="senha" type="password" id="senha" />
    </label>
  </p>
  <p>confirme senha
    <label>
    <input name="confirme" type="password" id="confirme" />
    </label>
  </p>
  <p>
    <label></label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Alterar" />
    </label>
</p>
</form>
<a href="index.php">voltar</a>
<p>&nbsp;</p>
</body>
</html>


 E o logout.php para fechar as sessões:

<?php
// aceder às sessões
session_start();

// para terminar uma sessão, apenas é necessário destruí-la
session_destroy();

// redirecionar o utilizador para outra página, login.php por exemplo
header('Location: login.php');
?>



 
Em todas as páginas que quiser proteger coloque entre o <head></head>:

<?php include "verifica.php";
  ?>


E para dar as boas vindas coloque em qualquer parte do <body>:

Olá, <?php echo $_SESSION["username"]; ?>


Façam bom proveito do código!!!

Cícero Joceilton da Silva Gomes
Juazeiro do Norte/Ce
cicerojoceilton@gmail.com

Comentários

Postagens mais visitadas deste blog

Canal do telegram com Varios cursos gratuitos de programação

 [CANAL PRINCIPAL]( https://t.me/tecnodrives ) 🚀 **LISTA DE CURSOS GRATUITOS DISPONÍVEIS NO CANAL!** Entre, aprenda e evolua 📚💡 💻 **Programação e Tecnologia** 🔥 Programação ⚡ Flutter 🐙 Git e GitHub 🟢 NodeJS 📱 React Native ☕ Kotlin 💎 Ruby 🐘 PHP 🧠 TypeScript 💻 C / C++ / C# ☕ Java 🐍 Python ✨ JavaScript 🅰️ Angular 🗄️ Banco de Dados 🧩 Engenharia de Software 🎨 **Design e Edição** 🎨 Figma 🖌️ Photoshop 📊 Power BI 🎭 Design 📈 Excel 🎬 Premier 📰 InDesign 💫 After Effects ✏️ Illustrator 💡 UX / UI 🌍 **Outros** 🗣️ Idiomas 🎓 Alura 💻 B7Web 🎨 Origamid 💀 Hacking 🔗 **Canal Principal:** @tecnodrives 👉 Acesse e veja os conteúdos completos! | [PROGRAMAÇÃO]( https://t.me/+TkbY6DJCnEM2MmRh%20 ) | [FLUTTER]( https://t.me/+6ggVP-EU39ViY2Ix ) | [FIGMA]( https://t.me/+rE7jsLIVYoM4NTZh ) | [GIT E GITHUB]( https://t.me/ImperioDrivegit ) | [PHOTOSHOP]( https://t.me/imperiodrivephotoshop ) | [POWERBI]( https://t.me/+NU879ENirL5mYTQx ) | [DESIGN]( https://t.me/imperiodrivedesign%20 ...

Como Criar Formulários HTML5 Semânticos com Validação e Envio ao Backend

Como Criar Formulários HTML5 Semânticos com Validação e Envio ao Backend Os formulários são parte essencial de qualquer site moderno, permitindo que usuários enviem informações, realizem cadastros, façam login ou interajam com o conteúdo. No HTML5, surgiram novas tags, atributos e boas práticas que tornam os formulários mais semânticos , acessíveis e fáceis de validar. Por que usar formulários semânticos? A semântica no HTML ajuda tanto os mecanismos de busca quanto tecnologias assistivas a compreenderem o significado do conteúdo. Isso melhora a acessibilidade, a indexação e a experiência do usuário. Além disso, navegadores modernos oferecem suporte nativo para validações simples. Estrutura básica de um formulário semântico em HTML5 O HTML5 introduziu novos tipos de campos que tornam os formulários mais inteligentes, como email , url , number , date , entre outros. ...