Problem feeding database via php form

Asked

Viewed 53 times

0

Good guys, I’m doing some tests with a database, but I’m having a problem where for some reason, the information is not being sent.

The codes are in different files;

I have a file called cadastral.html:

    <html>
<head>
    <title>Cadastro de Ativos</title>
</head>
<body>

<h1>Cadastro de Ativos</h1>
<br>

<form action="verifica.php" method="post">

<pre>
Insira as informações do ativo para cadastrar.

Empresa: <input type="text" size="35" maxlength="256" name="empresa">
Filial:  <input type="text" size="35" maxlenght="256" name="filial">
Segmento:<input type="text" size="35" maxlenght="256" name="segmento">

<input type="submit" value="Efetuar Cadastro" name="enviar">
</pre>
</form>

</body>
</html>

Another call checks.php:

<html>
<body>
<?php

$empresa            =   $_POST["empresa"];      
$filial             =   $_POST["filial"]; 
$segmento           =   $_POST["segmento"]; 
$erro               =   0;  

//Verifica se o campo empresa não está em branco
if (empty($empresa))
{echo "Favor digitar a empresa corretamente.<br>"; $erro=1;}
//Verifica se o campo filial está preenchido corretamente
if (empty($filial))
{echo "Favor digitar o filial corretamente.<br>"; $erro=1;}
//Verifica se o campo segmento está preenchido corretamente
if (empty($segmento))
{echo "Favor digitar o segmento corretamente.<br>"; $erro=1;}
//Verifica se não houve erro - neste caso chama a include para inserir os dados
if ($erro=0)
{echo "Ativo cadastrado com súcesso!";
include 'insere.inc';
}
?>
</body>
</html>

Another call inserts.inc

<?php

include 'conecta_mysql.inc';

$empresa            = $_POST['empresa'];
$filial             = $_POST['filial'];
$segmento           = $_POST['segmento'];

$sql = "INSERT INTO ativos VALUES";
$sql .= "('$empresa', '$filial', '$segmento')";

if ($conexao->query($sql) === TRUE) {
    echo "Ativo cadastrado com súcesso!";
} else {
    echo "Erro: " . $sql . "<br>" . $conexao->error;
}

$conexao->close();

and another call: conecta_mysql.inc:

<? php
         //cria a conexao mysqli_connect('localizacao BD', 'usuario de acesso', 'senha', 'banco de dados')
         $conexao = mysqli_connect('localhost', 'tedinfo1_admin1', 'admin1', 'tedinfo1_app');

         //ajusta o charset de comunicação entre a aplicação e o banco de dados
         mysqli_set_charset($conexao, 'utf8');

         //verifica a conexão
         if ($conexao->connect_error) {
            die("Falha ao realizar a conexão: " . $conexao->connect_error);
}

When sending the information, the screen is all white, beyond the information do not arrive in my db.

Thanks in advance for your attention.


Follow the print of how it is configured in the database

configuração db

I made the change but it still doesn’t work.

  • As is the table ativos (there are only these three columns)?

  • because you did so $sql = "INSERT INTO ativos VALUES"; $sql .= "('$empresa', '$filial', '$segmento')";, do so $sql = "INSERT INTO ativos VALUES ('$empresa', '$filial', '$segmento')";.

1 answer

0


Your table seems to have four columns, not only three (there is the id, which is not filled by you). So it seems to me that you have to specify which of them you want to fill in.

$empresa            = $conexao->real_escape_string($_POST['empresa']);
$filial             = $conexao->real_escape_string($_POST['filial']);
$segmento           = $conexao->real_escape_string($_POST['segmento']);

$sql = "INSERT INTO ativos (`empresa`, `filial`, `segmento`) VALUES ('$empresa', '$filial', '$segmento')";

if ($conexao->query($sql) === TRUE) {
    echo "Ativo cadastrado com súcesso!";
} else {
    echo "Erro: " . $sql . "<br>" . $conexao->error;
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.