Sistema para editar uma postagem via formulário
Então, criei um sistema capaz de fazer postagens novas por um formulário, mas agora estou com problemas para editar essas postagens. É assim, crio uma página em que o usuário principal vê as postagens já feitas(mainadmin.php) e aí clica num link do lado dela que o leva para um formulário novo(edita.php). Para que seja identificado em que postagem o usuário clicou, eu usei uma variável na mainadmin que imprime o id ao lado da URL do edita.php. EX: localhost/sistema/edita.php?id=1. Nisso, o formulário deveria editar a postagem de id 1 do banco de dados. MAS, sempre que eu preencho o formulário e clico no botão de submit, a URL fica doida, bem assim: localhost/sistema/edita.php?id=%27$id%27. Em edita.php criei um $_GET para pegar a id, mas tenho certeza que fiz algo errado no meio do caminho. Sou meio novato nisso, então peço desculpas antecipadas. Aqui estão as páginas:
edita.php
<?php
session_start();
if(isset($_SESSION['mainuser'])) {
$mainuser = $_SESSION['mainuser'];
if(isset($_POST['atualizar'])) {
$nid = $_GET['id'];
$ntitle = $_POST['ntitulo'];
$nautor = $_POST['nautor'];
$ncontent = $_POST['nconteudo'];
if(isset($nid)) {
include_once("connection.php");
$busca = "SELECT * FROM posts WHERE id='$nid'";
$sql = "UPDATE posts SET titulo='$ntitle', autor='$nautor', conteudo='$ncontent' WHERE id='$busca'";
mysqli_query($conn, $sql);
}
}
}
else {
header('Location: login.php');
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8"/>
<title>Editar Postagem</title>
</head>
<body>
<form method="post" action="edita.php?id='$id'">
Título: <input type="text" name="ntitulo"/><br/><br/>
Autor: <input type="text" name="nautor"/><br/><br/>
Conteúdo: <textarea name="nconteudo"></textarea><br/><br/>
<input type="submit" name="atualizar" value="POSTAR"/>
</form>
</body>
</html>
mainadmin.php
<?php
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8"/>
<title>Página Principal</title>
</head>
<body>
<h1>Postagens:</h1>
<?php
include_once("connection.php");
$sql = "SELECT * FROM posts ORDER BY id";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result)) {
$id = $row['id'];
$title = $row['titulo'];
$autor = $row['autor'];
$content = $row['conteudo'];
?>
<b><?php echo $title; ?></b> - <small><?php echo $autor . "-" . $id; ?></small><p><?php echo $content . "<a href='edita.php?id=$id'>Editar Postagem</a> "; ?> </p><hr/>
<?php
}
?>
<a href="admin.php">Admin</a><br/>
<a href="index.php">Home Page</a><br/>
<a href="logout.php">Logout</a>
</body>
</html>Discussão (4)
Carregando comentários...