Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

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.

solução!

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>";
?>