Na minha pagina não retorna id na url http://localhost/blog/admin/excluir-artigo.php?%20id=
Olá, Victor! Tudo bem?
Você consegue mandar aqui o seu código dos arquivos excluir-artigo.php
e index.php
?
<?php
require '../config.php';
include '../src/artigo.php';
$artigo = new Artigo($mySql);
$artigos = $artigo ->exibir();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Página administrativa</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<div id="container">
<h1>Página Administrativa</h1>
<div>
<?php foreach($artigos as $art) { ?>
<div id="artigo-admin">
<p><?php echo $art['titulo']; ?></p>
<nav>
<a class="botao" href="editar-artigo.php? id= <?php $art['id'];?>" >Editar</a>
<a class="botao" href="excluir-artigo.php? id=<?php $art['id'];?>">Excluir</a>
</nav>
</div>
<?php } ?>
</div>
<a class="botao botao-block" href="adicionar-artigo.php">Adicionar Artigo</a>
</html>
<?php
require '../config.php';
include '../src/artigo.php';
if($_SERVER ['REQUEST_METHOD'] === 'POST'){
$artigo = new Artigo($mySql);
$artigo->excluir($_POST['id']);
header('Location:/blog/admin/index.php');
die();
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<link rel="stylesheet" type="text/css" href="../style.css">
<meta charset="UTF-8">
<title>Excluir Artigo</title>
</head>
<body>
<div id="container">
<h1>Você realmente deseja excluir o artigo?</h1>
<form method="post" action="excluir-artigo.php">
<p>
<input type="hidden" name="id" value="<?php $_GET['id']; ?>" />
<button class="botao">Excluir</button>
</p>
</form>
</div>
</body>
</html>
Olá, Victor!
Você disse que está com problemas na página e que não retorna id
.
Ao acessar uma página ou buscar algum recurso, usamos uma URL, e por enquanto sua URL está dessa forma:
http://localhost/blog/admin/excluir-artigo.php?%20id=
Podemos destacar 2 pontos importantes:
A gente resolve isso removendo os espaços que foram colocados no atributo href
(Só não iremos remover os espaços que estão dentro da tag <?php ?>
, pois eles não são interpretados.).
Troque isso:
index.php
<nav>
<a class="botao" href="editar-artigo.php? id= <?php $art['id'];?>">Editar</a>
<a class="botao" href="excluir-artigo.php? id=<?php $art['id'];?>">Excluir</a>
</nav>
Por isso:
index.php
<nav>
<a class="botao" href="editar-artigo.php?id=<?php $art['id'];?>">Editar</a>
<a class="botao" href="excluir-artigo.php?id=<?php $art['id'];?>">Excluir</a>
</nav>
2º Ponto: O id
não está aparecendo porque faltou imprimir o id
no HTML, para isso, adicione o echo
antes da variável:
index.php
<nav>
<a class="botao" href="editar-artigo.php?id=<?php echo $art['id'];?>">Editar</a>
<a class="botao" href="excluir-artigo.php?id=<?php echo $art['id'];?>">Excluir</a>
</nav>
excluir-artigo.php
<form method="post" action="excluir-artigo.php">
<p>
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<button class="botao">Excluir</button>
</p>
</form>
Realizando estas correções acredito que vá funcionar.
Bons estudos, Victor =)
Obrigado pela orientação. consegui resolver com essa solução !
Que bom que consegui sanar sua dúvida!
Não se esquece de marcar o tópico como solucionado =)