Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá gente boa.
Eu juro que tentei resolver sozinho mas tá complicado.
o sistema de postagem que eu fiz esta assim:
<html>
<form action="" name="formulario_post" method="post">
<textarea cols='55' rows='3' name="texto"></textarea><br/>
<input type='hidden' name='acao' value='enoispatrao'>
<input type="submit" name="botao" value="Publicar">
</form>
<div id='del' style="position:absolute width:10px;">
<font size='2' face='arial'>
<a href='<?php $query = $dsn->prepare("DELETE FROM post"); $query->execute(); ?>'>Deletar</a></font>
</div>
</html>
<?php
$id = $_SESSION['email'];
//Conecta ao Banco de Dados
include_once('conecta.php');
//Nessa parte e verificado se o botão publicar e clicado, se sim ele deva o texto para o POST
if(isset($_POST['acao']) && $_POST['acao'] == 'enoispatrao'){
$texto = $_POST['texto'];
//Aqui e um filtro de caracteres especiais
$script = strip_tags($texto);
//Aqui e verificado se existe alguma coisa dentro do post se nao existir mostrar o alerta, se existir ele pega as informações do post e grava no Banco de Dados.echo '<script>alert("Preencha o campo texto")</script>';//Inserir o texto dentro do Banco de dados.
$query = $dsn->prepare("INSERT INTO post VALUES('','$texto','')");
$query->execute();
//trazer para a tela o que esta dentro do banco de dados
$chamabd = $dsn->prepare("SELECT texto, data FROM post");
$chamabd->execute();
//Mostrar na tela o que esta dentro do BD.
foreach($chamabd as $postagem){
echo '<b><font color=black size=2>'.$_SESSION['email'].'</b>: <div style=position:absolute width:300px;>'.$postagem['texto'];
}
}
}
?>
O meu problema esta lá em cima gente, eu amarei o delete em uma div e coloquei o delete dentro do link.
Mas quando clico ele apaga tudo, eu sei que tem que colocar um Where, mas não descobri como fazer.
resumindo: eu posto uma mensagem, ai você entra e escreve outra mensagem, se eu não gostar do que você escreveu eu tenho que clicar em delete a apagar somente aquela mensagem.
Alguem sabe como fazer isso?
espero estar claro para vocês amigos, um grande abraço a todos FIM.
>
Pra ficar mais fácil, por que você não cria uma outra página com o código, tipo, uma delete.php?
Ai ficaria assim:
$id = $_GET['id'];
$exe = $dsn->prepare("DELETE FROM post WHERE id = ':id'")
$exe->bindValue(':id', $id, PDO::PARAM_STR);
$exe->execute();
`Por favor fale mais sobre o get
Você quer que eu chame alem do campo texto o campo id, usando o select depois grave o texto na tela, como está, e grave o campo id, em uma variavel e use ela para dentro do WHERE do DELETE ?
Ou sera algo como este video que eu achei na net:
OBS: espero que o administrador nao me chame a atenção pois nao sei se pode ou nao postar links...
Ajudeme
<html>
<form action="" name="formulario_post" method="post">
<textarea cols='55' rows='3' name="texto"></textarea><br/>
<input type='hidden' name='acao' value='enoispatrao'>
<input type="submit" name="botao" value="Publicar">
</form>
<?php
$id = $_SESSION['email'];
//Conecta ao Banco de Dados
include_once('conecta.php');
/*
vamos ver as etapas.
Entrada de dados
filtro
verificar se ele existe se nao existir dar alerta e sexistir inserir dentro da tabela.
trazer de dentro da tabela todas as informações.
Mostrar na pagina do site.
A ultima e onde esta o problema, eu sei como deletar cada mensagem expecificamente, é só passar a id da mensagem por parametro dessa forma:
pagina.php?=<?php echo $id['id'];?>, mas como fazer um delete para cada uma das mensagem altomaticamente.
Pensei em colocar o codigo dentro do echo usando aspas, mas esta rodando, quando eu coloco o <?php echo $id=['id'];?> esse trecho não executá.Por favor ajudem obrigado...
*/
if(isset($_POST['acao']) && $_POST['acao'] == 'enoispatrao'){//verificado se o botão publicar e clicado, se sim ele leva o texto para o POST_['texto']
$texto = $_POST['texto'];
//----------------------------------------------------------------------------------------------------------
$script = strip_tags($texto);//Aqui e um filtro de caracteres especiais
//----------------------------------------------------------------------------------------------------------
if(empty($texto)){ echo '<script>alert("Preencha o campo texto")</script>';//se não existe $_post['texto'] de um alert. Se existir post insira dentro da tabela
}else{//Inserir o texto dentro da tabela.
$query = $dsn->prepare("INSERT INTO post VALUES('','$texto','')");
$query->execute();
}}
$chamabd = $dsn->prepare("SELECT id, texto, data FROM post");//trazer o que esta dentro da tabela
$chamabd->execute();
//Mostrar na tela o que esta dentro do BD.
foreach($chamabd as $postagem){
echo '<b><font color=black size=2 face=arial>'.$_SESSION['email'].'</b>: ';
echo '<font color=black size=2>'.$postagem['texto']."<a href='excluir_bairro_codigo.php?id="<?php echo $postagem['id']; ?'>">deletar</a><br><br>";
}
?>
</html>Por favor gente estou com um problema de syntax eu sei que deve ser coisa besta mas nao to achando ja estou com 94 visitas mas niguem ajuda o codigo ta postado ai em cima.
echo '<font color=black size=2>'.$postagem['texto'].'<a href="excluir_bairro_codigo.php?id=<?php echo $postagem['id'];?>">deletar</a><br><br>';
o erro esta quando eu coloco essa parte: ?id=<?php echo $postagem['id'];?>.
Alguem pode me ajudar por favor?
erro mostrado na tela é este:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\www\post.php on line 59
Bem, tava meio obvio o erro, mas tudo bem, você tava colocando php dentro do echo, ai, tava um rolo:
echo '<font color=black size=2>'.$postagem['texto'].'<a href="excluir_bairro_codigo.php?id='.$postagem['id'].'">deletar</a><br><br>';>
Bem, tava meio obvio o erro, mas tudo bem, você tava colocando php dentro do echo, ai, tava um rolo:
echo '<font color=black size=2>'.$postagem['texto'].'<a href="excluir_bairro_codigo.php?id='.$postagem['id'].'">deletar</a><br><br>';
Sim exato mas, nao tem como fazer isso e dessa forma que eu quero chamar o parametro para fazer o delete de cada mensagem individual...
O que voce sugere?
Pra ficar mais fácil, por que você não cria uma outra página com o código, tipo, uma delete.php?
Ai ficaria assim: