Jump to content
Fórum Script Brasil
  • 0

PHP INSERT


jnf
 Share

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...