Ir ao conteúdo
  • Cadastre-se

Php - get não retorna url amigável


Posts recomendados

E aí gurizada, estou com uma dúvida. Estou tentando passar um id do banco de dados para uma variável via GET, contudo, o id não está sendo reconhecido.

<?php
include 'DAL/conexao.php';
include 'header.php';
?>
<table class="tabela">
    <thead>
        <tr>
            <td width="180">CNPJ</td>
            <td width="300">Empresa</td>
            <td width="250">Fornecedor</td>
            <td width="200">Nota</td>
            <!--<td>Telefne</td>-->
            <td width="100">Data</td>
            <td width="100">Menu</td>
        </tr>
    </thead>
    <tbody>
        <?php
        $sql = mysql_query("SELECT * FROM dados WHERE nota !='' ORDER BY empresa ASC, nota ASC") or die(mysql_error());
        while ($result = mysql_fetch_array($sql)) {
            $cnpj = $result['cnpj'];
            $empresa = $result['empresa'];
            #$telefone = $result['telefone'];
            $fornecedor = $result['fornecedor'];
            $nota = $result['nota'];
            $data = $result['data'];
            $id = $result['id'];
            ?>
            <tr>
                <td class="cnpj"><?php echo $cnpj; ?></td>
                <td><?php echo $empresa; ?></td>
                <td><?php echo $fornecedor; ?></td>
                <td><a href="pesGeral.php?cnpj=<?php echo $cnpj; ?>?nf=<?php echo $id; ?>"><?php echo $nota; ?></a></td>
                <!--<td class="telefone><?php #echo $telefone;   ?></td>-->
                <td class="data"><?php echo $data; ?></td>
                <td><a href="pesGeral.php?action=excluir?nfiscal=<?php echo $nota; ?>"><img src="img/delEmp.png" width="25" class="excNota"/></a></td>
            </tr>
            <?php
        }
        ?>
    </tbody>      
</table>
<?php
if (isset($_GET['action']) == 'excluir') {
    var_dump($_GET['action']);
    var_dump($_GET['nfiscal']);
    #echo $nf;
}

 

Quando eu debugo o GET['action'], retorna todos os valores da url, contudo, quando eu debugo o GET['nfiscal], o id não é reconhecido retornando NULL.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Felipe Paz Olá,  a variável $nota = $result['nota'];    veja se ela possui o conteúdo.

Tente não utilizar o mesmo arquivo para requisições

eliminando o bloco

 

<?php
if (isset($_GET['action']) == 'excluir') {
    var_dump($_GET['action']);
    var_dump($_GET['nfiscal']);
    #echo $nf;
}

Com isso use no link um arquivo próprio para excluir como por exemplo:

<a href="excluir.php?nfiscal=<?php echo $nota; ?>">

 

Link para o comentário
Compartilhar em outros sites

 

@DiF , fiz as tuas sugestões. Linkei diretamente a página excluirNota.php à tag <a = href>, sem fazer a condição se foi requisitada a função action via GET. Não sei o porque não funcionou como os outros links, mas o que importa é que a tua sugestão funcionou. Portanto, o código ficou assim:

<td><a href="scripts/excluirNota.php?nfiscal=<?php echo $nota; ?>&id=<?php echo $id; ?>"><img src="img/delEmp.png" width="25" class="excNota"/></a></td>

E no excluirNota.php ficou assim:

<?php

$nota = $_GET['nfiscal'];
$id = $_GET['id'];
$sql = mysql_query("DELETE FROM dados WHERE nota = '$nota' AND id = $id ") or die(mysql_error());
if ($sql) {
    header("location:../pesGeral.php");
} else {
    header("location:../pesGeral.php");
}

Valeu mais uma vez.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa tarde!

 

Este link:

<a href="pesGeral.php?action=excluir?nfiscal=<?php echo $nota; ?>

Não deveria ser:

<a href="pesGeral.php?action=excluir&nfiscal=<?php echo $nota; ?>

E se você tiver utilizando url amigável, para pegar via get tem que ter alguns cuidados, por exemplo, se sua função que cuida do url amigável tiver esta aparência:

function getUrl() {
    $url = @$_GET['url'];
    $url = explode("/", $url);
    $url[0] = ($url[0] == NULL) ? 'index' : $url[0];

    if (file_exists('arquivos/' . $url[0] . '.php'))
        require_once('arquivos/' . $url[0] . '.php');
    elseif (file_exists('arquivos/' . $url[0] . '/' . $url[1] . '.php'))
        require_once('arquivos/' . $url[0] . '/' . $url[1] . '.php');
    else
        require_once('arquivos/404.php');
}

Você teria que especificar a url de outro jeito, por exemplo:

<td><a href="scripts/excluirNota/<?= echo $nota; ?>/<?= echo $id; ?>"><img src="img/delEmp.png" width="25" class="excNota"/></a></td>

Daria para recuperar a nota pegando o $url[2] e o id pegando o $url[3].

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...