Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Submit não funciona

Olá pessoal antes de mais nada peço desculpas pela minha ignorância no assunto.

Sou novo em desenvolvimento, e estou criando uma página que pega dados de um formulário html simples e envia para um banco de dados.

Vi na internet que a maneira mais comum de se fazer isso é com php. Sendo assim desenvolvi os codigos php fazendo a conexão com a minha instancia de banco e fazendo insert na tabela desejada.

Porem quando preencho o form e dou um submit ele abre uma janela de (salvar/download) para salvar o arquivo php que especifiquei no action no html.

Segue esboço do código:

<!DOCTYPE html>
<html lang="ptbr">
<head>
    <meta charset="utf-8">
    <title>Test form</title>
    <link rel="stylesheet" type="text/css" href="reset.css">
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <header class="titulo">
        <h1>Personal control</h1>
    </header>

    <div>
        <a href="index.html">Cadastro</a>
        <a href="search.html">Pesquisa</a>
    </div>

    <main class="box">
        <form class="formulario" name="form" method="post" action="processa.php">
            <label for="nomeproduto">Nome do produto</label>
            <input type="text" id="nomeproduto" name="nome" required maxlength="30">

            <fieldset>
                <legend>Categoria do produto</legend>
                <select name="categoria">
                    <option value="none">-none-</option>
                    <option value="bebidas">Bebidas</option>
                    <option value="comida">Comida</option>
                    <option value="doces">Doces</option>
                    <option value="roupas">Roupas</option>
                    <option value="eletronicos">Eletronicos</option>
                    <option value="combustivel">Combustível</option>
                    <option value="moradia">Moradia</option>
                    <option value="planos_e_digitais">Planos e digitais</option>
                </select>
            </fieldset>

            <label for="datacompra">Data da compra</label>
            <input type="date" id="data_compra" required>

            <label for="precocompra">Valor da compra</label>
            <input type="text" id="precocompra" name="valor_compra" required placeholder="Ex: 15,00">

            <fieldset>
                <p>Prioridade</p>

                <label for="alta">Alta</label>
                <input type="radio" name="prioridade" value="A" id="alta" checked>

                <label for="normal">Normal</label>
                <input type="radio" name="prioridade" value="N" id="normal">

                <label for="baixa">Baixa</label>
                <input type="radio" name="prioridade" value="B" id="baixa">

                <input type="submit" name="enviar" value="Cadastrar produto" class="enviar">
            </fieldset>
        </form>
    </main>

    <footer>
    <p>© 2020 Copyright Personal control - Desenvolvido por Rafael Lander</p>
    </footer>

</body>
</html>

Alguém poderia me ajudar nessa questão ? Já estou a alguns dias travado nisso.

2 respostas

Fala ai Rafael, tudo bem? Estranho, o arquivo processa.php existe na mesma pasta onde está localizado o código HTML? Se sim, como estão os códigos do arquivo processa.php? Pode ser que ele esteja pedindo para salvar ou fazer download do arquivo.

Espero ter ajudado.

Olá Matheus, sim o .php se encontra na mesma pasta que o html.

Aqui está o código php:

<?php

$nome = $_POST['nome'];
$categoria = $_POST['categoria'];
$data_compra = $_POST['data_compra'];
$valor_compra = $_POST['valor_compra'];
$prioridade = $_POST['prioridade'];

$strcon = mysqli_connect('192.168.1.x','admin','@','personal_control') or die('Erro ao conectar ao banco de dados');

$sql = "INSERT INTO produtos(NOME, CATEGORIA, DATA_COMPRA, VALOR_COMPRA, PRIORIDADE) VALUES ('$nome','$categoria','$data_compra','$valor_compra','$prioridade')"

mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");

mysqli_close($strcon);

echo "Produto cadastrado com sucesso!";
echo "<a href='index.html'>Clique aqui para realizar um novo cadastro</a><br>";
echo "<a href='search.html'>Clique aqui para realizar uma consulta</a><br>";
?>