Erro em página php

2 respostas
php
A

Pessoal minha pagina está dando erro:

<?php
include './bd/conexao.php';

if ($_POST["op"] == 'inclusao'){
    $comandoSQL = "insert into cliente (nome, cpf, dt_nascimento, sexo, endereco, bairro, cidade, cep, uf, telefone, email) values ('".$_POST["nome"]."', '".$_POST["cpf"]."', '".$_POST["dtnascimento"]."', '".$_POST["sexo"]."', '".$_POST["endereco"]."', '".$_POST["bairro"]."', '".$_POST["cidade"]."', '".$_POST["uf"]."','".$_POST["cep"]."',  '".$_POST["uf"]."', '".$_POST["telefone"]."', '".$_POST["email"]."' )"; 
    if ($conexao->query($comandoSQL) == TRUE){
        echo 'Registro incluido com sucesso <br>';
        echo '<a href="index.php">Voltar</a><br>';
    }else{
        echo 'Problemas '.$conexao->error;
    }
}
if ($_GET['acao']=='novo'){
    ?>
     <iframe src="index.html"></iframe>
    <form method='post'>
        <input type="hidden" name="op" value="inclusao" />
        Nome: <input type="text" name="nome" size="40" maxlength="50" /><br>
        CPF: <input type="text" name="cpf" size="15" maxlength="11" /><br>
        Nascimento: <input type="date" name="dtnascimento" /><br>
        Sexo: <input type="radio" name="sexo" value="M" />M<input type="radio" name="sexo" value="F" />F<br>
        Endereço: <input type="text" name="endereco" size="50" maxlength="90" /><br>
        Bairro: <input type="text" name="bairro" size="40" maxlength="45" /><br>
        Cidade: <input type="text" name="cidade" size="40" maxlength="45" /><br>
        UF:<input type="text" name="uf" size="2" maxlength = "2"/><br>
        CEP: <input type="text" name="cep" size="10" maxlength="9" /><br>
        Telefone: <input type="text" name="telefone" size="20" maxlength="20" /><br>
        E-mail: <input type="text" name="email" size="80" maxlength="100" /><br>
        <input type="submit" value="Gravar" />
    </form>
    
    <?php
}

O erro:

Notice : Undefined index: op in C:\Users\allan kleber\Documents\USBWebserver\USBWebserver\root\SistemaEstoque\cadastroCliente.php on line 4

Notice : Undefined index: acao in C:\Users\allan kleber\Documents\USBWebserver\USBWebserver\root\SistemaEstoque\cadastroCliente.php on line 13

2 Respostas

darlan_machado

Não são erros (error) são uma espécie de alerta (notice, algo como ‘prestenção’).
O que as mensagens dizem é que na requisição específica (GET, no caso) não foram encontrados os índices ‘op’ e ‘acao’.
Certifique-se de que a invocação de um parâmetro/atributo está no contexto específico da requisição realizada.

Dragoon

Quando se vai verificar $_GET, $_POST precisa verificar sua existencia, exemplo:

if (isset($_POST["op"]) && $_POST["op"] === 'inclusao')
{
}

ou seja, isset é para verificar se existe a variável, afinal, se ele não existe é dado o erro Undefined index que no caso o array não tem essa chave.

Criado 15 de outubro de 2019
Ultima resposta 15 de out. de 2019
Respostas 2
Participantes 3