Undefined index with PHP

Asked

Viewed 31 times

-3

I’m having a problem with the following code:

create-table.php

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <title>Planejamento</title>
  </head>
  <body>
    <div class="container-fluid">
      <form action="criar-tabela-processar.php" method="POST" enctype="multipart/form-data">
        <label for="campo_nome_tabela_id" style="font-size:40px;">Nome da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_nome_tabela" id="campo_nome_tabela_id">
        <br>
        <label for="campo_1_tabela_id" style="font-size:40px;">Campo 1 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_1_tabela" id="campo_1_tabela_id">
        <br>
        <label for="campo_2_tabela_id" style="font-size:40px;">Campo 2 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_2_tabela" id="campo_2_tabela_id">
        <br>
        <label for="campo_3_tabela_id" style="font-size:40px;">Campo 3 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_3_tabela" id="campo_3_tabela_id">
        <br>
        <label for="campo_4_tabela_id" style="font-size:40px;">Campo 4 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_4_tabela" id="campo_4_tabela_id">
        <br>
        <label for="campo_5_tabela_id" style="font-size:40px;">Campo 5 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_5_tabela" id="campo_5_tabela_id">
        <br>
        <label for="campo_6_tabela_id" style="font-size:40px;">Campo 6 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_6_tabela" id="campo_6_tabela_id">
        <br>
        <label for="campo_7_tabela_id" style="font-size:40px;">Campo 7 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_7_tabela" id="campo_7_tabela_id">
        <br>
        <label for="campo_8_tabela_id" style="font-size:40px;">Campo 8 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_8_tabela" id="campo_8_tabela_id">
        <br>
        <label for="campo_9_tabela_id" style="font-size:40px;">Campo 9 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_9_tabela" id="campo_9_tabela_id">
        <br>
        <label for="campo_10_tabela_id" style="font-size:40px;">Campo 10 da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_10_tabela" id="campo_10_tabela_id">
        <br>
        <label for="campo_quantidade_tabela_id" style="font-size:40px;"> Quantidade de Campos da Tabela:</label><br>
        <input type="text" style="font-size:30px;" class="form-control" name="campo_quantidade_tabela" id="campo_quantidade_tabela_id">
        <br>
        <input type="submit" class="btn btn-primary" value="Criar Tabela" style="font-size: 40px;">
      </form>
    </div>
    <div class="container-fluid">
      <br><br><br><br>
    </div>
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
  </body>
</html>```

create-table-process.php

        include_once("conectar.php");
        $nome_tabela = $_POST['campo_nome_tabela'];
        $tabela_1 = $_POST['campo_1_tabela'];
        $tabela_2 = $_POST['campo_2_tabela'];
        $tabela_3 = $_POST['campo_3_tabela'];
        $tabela_4 = $_POST['campo_4_tabela'];
        $tabela_5 = $_POST['campo_5_tabela'];
        $tabela_6 = $_POST['campo_6_tabela'];
        $tabela_7 = $_POST['campo_7_tabela'];
        $tabela_8 = $_POST['campo_8_tabela'];
        $tabela_9 = $_POST['campo_9_tabela'];
        $tabela_10 = $_POST['campo_10_tabela'];
        $quantidade_tabela = $_POST['campo_quantidade_tabela'];
        $quantidade_tabela_1 = intval($quantidade_tabela);
        $nome_tabela = str_replace(' ', '_', $nome_tabela);

        if($quantidade_tabela_1 == 1){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 2){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 3){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 4){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 5){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 6){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        `$tabela_6`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 7){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        `$tabela_6`, varchar(250),
        `$tabela_7`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 8){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        `$tabela_6`, varchar(250),
        `$tabela_7`, varchar(250),
        `$tabela_8`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 9){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        `$tabela_6`, varchar(250),
        `$tabela_7`, varchar(250),
        `$tabela_8`, varchar(250),
        `$tabela_9`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }elseif($quantidade_tabela_1 == 10){
            $sql = "CREATE TABLE `$nome_tabela`(
        id, int AUTO_INCREMENT,
        nome, varchar(250),
        `$tabela_1`, varchar(250),
        `$tabela_2`, varchar(250),
        `$tabela_3`, varchar(250),
        `$tabela_4`, varchar(250),
        `$tabela_5`, varchar(250),
        `$tabela_6`, varchar(250),
        `$tabela_7`, varchar(250),
        `$tabela_8`, varchar(250),
        `$tabela_9`, varchar(250),
        `$tabela_10`, varchar(250),
        criado_em, DATETIME CURRENT_TIMESTAMP
        ";
        $criar_tabela = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        }

        $sql_3 = "INSERT INTO tabelas (nome_tabela) VALUES ('$nome_tabela')";
        $inserir_tabela = mysqli_query($conn, $sql_3) or die(mysqli_error($conn));

    ?>```

THE ERROR IS AS FOLLOWS:

Notice: Undefined index: campo_quantidade_tabela in C:\wamp64\www\organizador_teste_3\criar-tabela-processar.php on line 14

1 answer

1

field_quantity_table, there in HTML should be empty, because by error, the Dice is not available in the $_POST array; to debug, inserts print_r($_POST); before the

include_once("connect.php");

in your code, and checks which fields are coming into your php file.

In HTML, replaces this input

<input type="text" style="font-size:30px;" class="form-control" name="campo_quantidade_tabela" id="campo_quantidade_tabela_id">

<input type="number" style="font-size:30px;" class="form-control" name="campo_quantidade_tabela" id="campo_quantidade_tabela_id" min="1" max="10" required>

Browser other questions tagged

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