Ir para conteúdo
Fórum Script Brasil
  • 0

PHP INSERT


jnf

Pergunta

Boa tarde,criei um forum que mostra todos os posts do utilizador com sessao iniciada.
cada post tem um "editar" correspondente ao id da publicação o qual posso editar esse mesmo post num form fazendo um update (em que  se vier um id pelo url, mostra o botao "editar")... .

Caso eu queira inserir um novo post, basta clicar num botao para criar um novo post, o qual me mela para o mesmo form,onde verifico se não vier nu«enhum id pela url, os campos desse form ficam vazios, a espera de serem preenchidos para eu fazer um insert......porem QUANDO TENTO FAZER O INSERT, NENHUM NOVO POST É INSERIDO.....SOMENTE O UPDATE FUNCIONA......alguém PODE VER SE O MEU SCRIPT DE INSERT TEM ALGUMA FALHA POR FAVOR?

<?php
include 'base_dados/ligacao_bd.php';

session_start();

 //se não houver nenhuma sessão...
 if(!isset($_SESSION['nome_utilizador']))
 {
include 'cabecalho.php';
 
echo '<div class="erro">  
não tem autorização para ver esta pagina. <br> <br>
<a href="index.php">retroceder</a>
</div>';
 
include 'rodape.php';  

exit;//muito importante este EXIT; pois já não deixa executar nada mais abaixo
 }
//-----------------------------------------------------------------------

include 'cabecalho.php';

//apresentar o utilizador logado
$mostrar_utilizador = $ligacao->query("SELECT * FROM utilizadores WHERE nome_utilizador = '".$_SESSION['nome_utilizador']."' ");
$mostrar = mysqli_fetch_array($mostrar_utilizador);



echo '<div class="dados_utilizador">
<img src="imagens/avatares/'.$mostrar['avatar'].'"    title="foto de perfil de '.$_SESSION['nome_utilizador'].'"  ><span>'.$_SESSION['nome_utilizador'].'</span> | <a href="logout.php">sair</a>
</div> <hr>';

?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Editor publicação</title>
</head>

<body>

<?php

$id_publicacao = @$_GET['id_publicacao'];
$titulo = "";
$mensagem = "";

if(isset($_GET['id_publicacao']))//se vier um id pela url...
{
//vai buscar os dados da publicação á base dados correspondente a esse id_publicacao e mostra-os!
$buscar_dados = $ligacao->query("SELECT * FROM publicacoes WHERE id_publicacao = ".$id_publicacao." ");
$mostrar = mysqli_fetch_array($buscar_dados);


$titulo = $mostrar['titulo'];
$mensagem = $mostrar['mensagem']; 
}

elseif (isset($_POST['botao_editar']))
{

$alterar = $ligacao->query("UPDATE publicacoes SET titulo = '".$_REQUEST['text_titulo']."' , mensagem = '".$_REQUEST['text_mensagem']."' WHERE id_publicacao = '".$id_publicacao."' ")or die(mysql_error());


elseif (isset($_POST['botao_gravar']))
{

$titulo = $_POST['text_titulo'];
$mensagem = $_POST['text_mensagem'];

$inserir = $ligacao->query("INSERT INTO publicacoes(id_utilizador,titulo,mensagem,data) VALUES('".$_SESSION['id_utilizador']."','$titulo','$mensagem','NOW()' ) WHERE id_utilizador = '".$_SESSION['id_utilizador']."'   ")or die(mysql_error());
}

?>


<!--formulario para criar/editar publicação-->
<form class="form_publicacao" method="post" action="?">

<h3>publicação</h3> <hr /> <br />

<label for="title">Titulo</label> <br />
<input type="text" id="title" name="text_titulo" size="50" value="<?php echo $titulo ?>"  /> <br /> <br />

<label for="msg">Mensagem</label> <br />
<textarea id="msg" name="text_mensagem" rows="10" cols="97"><?php echo $mensagem ?></textarea> <br /> <br />

<input type="hidden" name="id_utilizador" value="<?php echo $_SESSION['id_utilizador'] ?>" />
<input type="hidden" name="id_publicacao" value="<?php echo $id_publicacao ?>"  />

<?php
if(isset($_GET['id_publicacao']))
{
?> 
<input type="submit"  name="botao_editar" value="editar" />  
<?php
}
else
{
?>
<input type="submit"  name="botao_gravar" value="gravar" /> 
<?php
}
?>
 


</form>



</body>
</html>

BASE DADOS (PUBLICACOES):

ID_PUBLICACAO
ID_UTILIZADOR
TITULO
MENSAGEM
DATA

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...