Na minha pagina não retorna id na url
http://localhost/blog/admin/excluir-artigo.php?%20id=
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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 =)