Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então pessoal, tenho um site com sistema de postagem, e tem uma área restrita que é possível cadastrar/editar/excluir postagens. O problema é em editar postagens:
Ao clicar no link Editar Posts, ele adiciona um get (admin.php?pg=edita) então aparece a página editar e nela tem um select, responsável por exibir todos os posts para que eu possa escolher qual deles vou editar. E ao clicar em uma postagem ele vai para o seguinte link:
> admin.php?editarPost=<?php echo $lnPost['id']; ?>
Aqui o admin lê o get editarPost=Ao_Id_Da_Postagem_Seleciona_Anteriormente e exibe essa página contendo um formulário que exibe todos as informações de determinada postagem dentro de um input para poder editar. O problema é que ao atualizar, ele aparece a mensagem de sucesso, mas não atualiza em nada.. Eis o código::
Página Admin
<?php
#faz a conexão
mysql_connect('localhost', 'root', '');
mysql_select_db('ubuntu');
#inicia a sessão
session_start();
if(!isset($_SESSION['nome']) || !isset($_SESSION['senha'])){
'<script>alert("Você deve fazer o login para acessar essa página");</script>';
header("Location: index.php");
}
if(isset($_GET['acao']) && $_GET['acao'] == 'sair'){
unset($_SESSION['nome']);
unset($_SESSION['senha']);
session_destroy();
header("Location: index.php");
}
?>
#link para editar a postagem
<a href="admin.php?pg=editar">Editar Postagem</a>
<?php
#aqui ele vai pegar o id da postagem que irei edita-la futuramente
@$idPost = $_GET['editarPost'];
#só serão selecionados aquele que estiverem dentro do id da postagem a ser editada
$selecionaPost = mysql_query("SELECT * FROM postagens WHERE id = '$idPost'");
$conta = @mysql_num_rows($selecionaPost);
while($lnPostagem = mysql_fetch_array($selecionaPost)){ $titulo = $lnPostagem['title'];
$texto = $lnPostagem['text'];
$dia = $lnPostagem['day'];
$mes = $lnPostagem['month'];
}
?>
<?php if(isset($_GET['editarPost'])){
include('page/editarPost.php');
}
elseif(isset($_GET['pg']) && $_GET['pg'] == 'inserir'){
include('page/inserir.php');
}elseif
(isset($_GET['pg']) && $_GET['pg'] == 'editar'){
include('page/editar.php');
}
?>
Página editar, onde exibirá todas as postagens a ser editadas (que veio do link "Editar Postagem")
<option>Selecione uma postagem</option>
<?php
#aqui vai pegar todos os posts
$procuraPost = mysql_query("SELECT * FROM postagens ORDER BY id DESC");
while($lnPost = mysql_fetch_array($procuraPost)){
$title = $lnPost['title'];
?>
#aqui estão todos os títulos das postagens e em value estão os links que irão para a página responsável por edita-las
<option value="admin.php?editarPost=<?php echo $lnPost['id']; ?>"><?php echo $title; } ?></option>
</select>
Página EditaPost, onde exibirá a postagem especifica selecionada anteriormente a ser editada
<form name="form1" method="post" action="">
<table width="467" border="0" align="center">
<tr>
<td colspan="2"><p class="cadastrarPost" align="center"><input type="text" class="input" name="title" width="280" value="/*estas variáveis são da página admin*/<?php echo $titulo; ?>"></p></td>
</tr>
<tr>
<td colspan="2"><p class="textoDeleta" align="center"><textarea><?php echo $texto; ?></textarea></p></td>
</tr>
<tr>
<td colspan="2">
<p>Postagem do dia: <?php echo $dia." de ". $mes; ?></p>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="acao" value="Editar Postagem"></td>
</tr>
</table>
</form>
<?php
#eis a parte que não consigo entender pq nao funciona
if(isset($_POST['acao']) && $_POST['acao'] == 'Editar Postagem'){
$editaPost = mysql_query("UPDATE postagens SET title = '$titulo', text = '$texto' WHERE id = '$idPost'") or die (mysql_error());
if($editaPost){
echo '<script>alert("Postagem editada com sucesso!");</script>';
echo '<meta http-equiv="refresh" content="0;URL=admin.php?pg=editar" />';
}else{
echo '<script>alert("Erro");</script>';
}
}
?>
Sei que está meio confuso mas é isso, e simplesmente não atualiza.. Alguém me da a luz??
Carregando comentários...