Ir ao conteúdo
  • Cadastre-se
Felipe Paz

Php - get não retorna url amigável

Recommended Posts

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.

Editado por DiF
A citação não deve ser usada nunca para códigos. para isso temos o recurso do botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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].

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JorgeGomes Eu já arrumei o arquivo mas era somente um ? a mais. Troquei o & pelo ?. Mas obrigado pela dica. Vou ver pra incluir em outros projetos o que você me disse.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×