Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigo antonio  cruz

Header Location com id pela URL

Recommended Posts

Olá bom dia amigos do Imasters, gostaria de uma ajudinha se possível, estou com um problema aqui eu tenho um cadastro com CRUD funcionando aqui, quando excluo um item de uma tabela eu gostaria que o header location me retornasse para a mesma página que eu estava, fiz a condição, porém está pegando id da maneira errada no header location, confiram o código abaixo, desde já obrigado!

Segue o código que executa o delete, e retorna á pagina anterior:

<?php   
        ob_start();
 
include("../../conexao/bd.php");
$id = $_GET['valorid'];
 
 
    $query = "UPDATE  `clientes` SET `procedimento11`='',`valor11`='',`obs11`=''";
 
    if($mysqli->query($query)){
header("Location:../../procedimentos/teste.php?id=".$id);
}
?>

o que acontece é isso:
localhost/processo/paginas/procedimento/teste.php?id=%3C?php%20echo%2047;%20?%3E
ele manda com o ID correto porém com esses caracteres %3C?php%20echo% o 47 é o id correto da minha tabela, mas gostaria de saber como mandar o ID sem esses caracteres para ele voltar corretamente para a mesma página q eu estava

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que loucura, ele está na verdade fazendo isso:

teste.php?id=<?php echo 47; ?>

Algo está fazendo seu PHP não rodar direito. Certeza que este trecho de código está retornando isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o seu problema deve ser estar relacionado ao uso de header com o ob_start.

header envia informações para o browser (antes de qualquer outro output).

ob_start inicia o buffer e evita que qualquer dado seja enviado para o navegador, inclusive o header.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro amigo

Rodrigo

Tenta utilizar assim:


<?php 

 if(isset($_POST['executar']) && $_POST['executar'] == 'Finalizar'){
  sleep(1);
  $meta = '<meta http-equiv="refresh" content="2, URL=painel.php?exe=procedimentos/cadastro&cadId='.$cadId.'" />';
  echo $meta;	
 }

?>

Caso tenha ajudado, poste um OK.

Abraços,

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

var_dump($_GET['valorid']);

O que aparece ?

Edit:

Não tinha visto. ->

Não faz sentido esse

string(17) "" 

Aparece isso mesmo?

Uma string vazia com 17 casas? wtf

Tenta assim:

<?php

var_dump(trim($_GET['valorid'])); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui reproduzir o erro aqui, nos meus testes, todos funcionaram como desejado.

Testou com

header("Location:../../procedimentos/teste.php?id=$id");

ou

header("Location:../../procedimentos/teste.php?id=${id}");

Outra possibilidade seria usar um trim na $id ou, o que pode ter o resultado desejado, é usar o

url encode ou o url decode

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste em outro servidor. Como falei no post #2, parece ser mais um problema do PHP do que do seu código. Aparentemente, ele está correto. Ele está pegando as tags PHP como se fizessem parte da string (ao invés de aparecer apenas 47, está fazendo <?php echo 47; ?> (que possui 17 caracteres)

Qual o conteúdo de bd.php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Maykel o que esta na conexão bd.php é isso:

<?php
$servidor = 'localhost';
$usuario = 'root';
$senha = '******';
$banco = 'clientes';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.