Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Sistema PHP para Cadastro e Consulta de Imóveis: Guia Completo

#PHP; #CadastroImóveis; #DesenvolvimentoWeb
@CanalQb

PHP - Exercício do Facebook: Sistema de Cadastro e Consulta de Imóveis


Sempre crie uma frase de segurança única para jogos, airdrops e outras origens desconhecidas, em vez de usar sua carteira principal.

Link do exercício:

@CanalQb no Facebook - Exercício Cadastro Imóveis

Cadastro e Consulta de Imóveis

Se você precisa de uma solução prática para cadastrar e consultar imóveis, confira abaixo três scripts PHP separados, que facilitam a implementação de um sistema básico: um script para a página inicial, outro para a conexão e configuração do banco de dados, e um terceiro para a lógica de cadastro.

Script para a página inicial (index.php):

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Cadastro/Consulta de Imóveis</title>
</head>
<body>
  <h1>Cadastro/Consulta de Imóveis</h1>
  <form action="cadastrar_imovel.php" method="post">
    <!-- Campos do formulário para cadastrar imóveis -->
    <label for="tipo_negociacao">Tipo de Negociação:</label>
    <input type="text" id="tipo_negociacao" name="tipo_negociacao" required><br>

    <label for="status">Status:</label>
    <input type="text" id="status" name="status" required><br>

    <label for="endereco">Endereço:</label>
    <input type="text" id="endereco" name="endereco" required><br>

    <label for="tipo_imovel">Tipo do Imóvel:</label>
    <input type="text" id="tipo_imovel" name="tipo_imovel" required><br>

    <label for="caracteristicas">Características:</label>
    <textarea id="caracteristicas" name="caracteristicas" rows="4" required></textarea><br>

    <label for="preco">Preço:</label>
    <input type="number" step="0.01" id="preco" name="preco" required><br>

    <label for="condicoes">Condições:</label>
    <textarea id="condicoes" name="condicoes" rows="3"></textarea><br>

    <label for="observacoes">Observações:</label>
    <textarea id="observacoes" name="observacoes" rows="3"></textarea><br>

    <button type="submit" name="submit">Cadastrar Imóvel</button>
  </form>
</body>
</html>

Script para conexão ao banco de dados (bd.php):

<?php
// Configurações para conexão com o banco de dados MySQL usando PDO
$servername = "localhost";
$username = "seu_usuario";
$password = "sua_senha";
$dbname = "nome_do_banco";

try {
    // Estabelece a conexão com o banco de dados
    $conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
    // Configura o PDO para lançar exceções em caso de erro
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Cria a tabela 'imoveis' se não existir
    $query = "CREATE TABLE IF NOT EXISTS imoveis (
        id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        tipo_negociacao VARCHAR(20) NOT NULL,
        status VARCHAR(20) NOT NULL,
        endereco VARCHAR(200) NOT NULL,
        tipo_imovel VARCHAR(20) NOT NULL,
        caracteristicas TEXT NOT NULL,
        preco FLOAT(11,2) NOT NULL,
        condicoes TEXT,
        observacoes TEXT
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
    $conn->exec($query);

} catch(PDOException $e) {
    echo "Erro na conexão com o banco de dados: " . $e->getMessage();
    exit();
}
?>

Script para lógica de cadastro (cadastrar_imovel.php):

<?php
include_once "bd.php"; // Inclui arquivo com a conexão ao banco

if(isset($_POST['submit'])) {
    // Recebe dados do formulário, com validação mínima
    $tipo_negociacao = filter_input(INPUT_POST, 'tipo_negociacao', FILTER_SANITIZE_STRING);
    $status = filter_input(INPUT_POST, 'status', FILTER_SANITIZE_STRING);
    $endereco = filter_input(INPUT_POST, 'endereco', FILTER_SANITIZE_STRING);
    $tipo_imovel = filter_input(INPUT_POST, 'tipo_imovel', FILTER_SANITIZE_STRING);
    $caracteristicas = filter_input(INPUT_POST, 'caracteristicas', FILTER_SANITIZE_STRING);
    $preco = filter_input(INPUT_POST, 'preco', FILTER_VALIDATE_FLOAT);
    $condicoes = filter_input(INPUT_POST, 'condicoes', FILTER_SANITIZE_STRING);
    $observacoes = filter_input(INPUT_POST, 'observacoes', FILTER_SANITIZE_STRING);

    if ($tipo_negociacao && $status && $endereco && $tipo_imovel && $caracteristicas && $preco !== false) {
        // Prepara e executa a inserção no banco usando prepared statements para segurança
        $stmt = $conn->prepare("INSERT INTO imoveis (tipo_negociacao, status, endereco, tipo_imovel, caracteristicas, preco, condicoes, observacoes) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
        $result = $stmt->execute([$tipo_negociacao, $status, $endereco, $tipo_imovel, $caracteristicas, $preco, $condicoes, $observacoes]);

        if ($result) {
            echo "<p>Imóvel cadastrado com sucesso!</p>";
        } else {
            echo "<p>Erro ao cadastrar imóvel.</p>";
        }
    } else {
        echo "<p>Por favor, preencha todos os campos obrigatórios corretamente.</p>";
    }
}
?>

Este conjunto de scripts forma uma base para um sistema simples de cadastro e consulta de imóveis usando PHP e MySQL. Você pode expandir adicionando páginas para consulta e edição, além de implementar validações mais completas e segurança, como proteção contra CSRF e autenticação de usuários.

Para aprender mais sobre PHP e desenvolvimento web, consulte a documentação oficial do PHP: https://www.php.net/manual/pt_BR/.

إرسال تعليق

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo