Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vales & Dores

Sistema de Postagem

Recommended Posts

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.
if(empty($texto)){ 
echo '<script>alert("Preencha o campo texto")</script>';
}else{ 

       //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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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();

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
<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á.
Erros na tela é esse:  Parse error: syntax error, unexpected '?' in C:\xampp\htdocs\www\post.php on line 59

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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.