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

Problema na personalização de código de fórum


cloba

Pergunta

olá colegas?!!!é o seguinte , vou passa o código e fala o que eu quero

exibe_conteudo.php

<?php

require_once("conecta_mysql.php");

//selecionando dados da tabela

$sql = "SELECT * FROM forum";

$query = mysql_query($sql);

while($sql = mysql_fetch_array($query)){

$id = $sql['id'];

$assunto = $sql["assunto"];

echo "<a href=nome.php?id=$id> <br> $assunto </a>";}

?>

<form method=post" action="respostaexibe.php">

<table width="50%" border="1" cellspacing="0" cellpadding="0">

<tr>

<td>Mensagem:</td>

<td><textarea name="assunto"></textarea></td>

</tr>

<tr>

<td> </td>

<td><input type="submit" name="enviar" value="Enviar a Mensagem"></td>

</tr>

</table>

</form>

nome.php

<?php

require_once("conecta_mysql.php");

$id = $_GET['id];

echo $id;

$sql = "SELECT * FROM forum WHERE id=$id";

$query = mysql_query($sql);

while($sql = mysql_fetch_array($query)){

$mensagem = $sql["mensagem"];

echo "Resultados para o ID $id <br> Nome: $mensagem ";

}

?>

<form method=post" action="resposta_nome.php">

<table width="50%" border="1" cellspacing="0" cellpadding="0">

<tr>

<td width="50%">Mensagem:</td>

<td width="50%"><textarea name="mensagem"></textarea></td>

</tr>

<tr>

<td> </td>

<td><input type="submit" name="enviar" value="Enviar"></td>

</tr>

</table>

</form>

resposta_nome.php

<?php

if(empty($_POST['mensagem])) {

header('Location: nome.php');

exit;

}

require_once("conecta_mysql.php");

$mensagem = $_POST['mensagem'];

$inserir = "INSERT INTO forum (assunto, mensagem, data, hora) VALUES ('' , '$mensagem' , '' , '' )";

mysql_query($inserir);

header('Location: nome.php');

mysql_close($conexao);

?>

até aí perfeito, adiciona o assunto quando digita na caixa d mensagem do exibe_conteudo.php e linka o assunto no exibe_conteudo.php e chama o nome.php e aparece a msg, como eu faço pra somar a msg quando é digitado na caixa d mensagem do nome.php ??qual o comando eu devo incrementar na página e qual seria essa página???

por. ex no nome.php

amanhã vai chover??

Sim vai chover!

Não vai chover.

obrigado galera quem puder ajudar

Link para o comentário
Compartilhar em outros sites

  • Respostas 147
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Você vai ter que incluir em todos os links o user=$username (assim como vai ter que usar o $_GET para pegar o nome em todas as páginas), claro que isso é apenas para aprendizado, só pra ressaltar que se fosse pra um negócio sério nunca se usaria isso...

Link para o comentário
Compartilhar em outros sites

  • 0

ok, mas por ex. eu queria usar quando o usuario logado postasse o assunto paracesse só o nome do usuario logado texto e não link, e quando eu clico no form vazio na url ao invés d está assim

http://localhost/meu%20site/exibe_conteudo.php?user=ricardo'>http://localhost/meu%20site/exibe_conteudo.php?user=ricardo

ele fica assim quando eu clico no form vazio

http://localhost/meu%20site/exibe_conteudo.php?user=

tem como evitar isso??

porque no respostaexibe.php está assim

$username = $_POST['user'];

if(empty($_POST['assunto']) && empty($_POST['mensagem'])) {

header("Location: exibe_conteudo.php?user=$username");

exit;

}

no respostaexibe.php é preciso colocar o comando pra seleciona o banco??

Editado por cloba
Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu não sei se entendi entendi o que você quer dizer... quando você escrever alguma frase, leia ela para ter certeza que o que você quer falar é o que você escreveu...

Vamos lá:

Parte 1: eu queria usar quando o usuario logado postasse o assunto paracesse só o nome do usuario logado texto e não link

Se você não quer que apareça link, faça um teste (if/else) se existir algum valor para o $username não exibe o link, pois existe um usuário logado, caso não exista valor exibe o link, pois não existe um usuário logado...

Parte2: e quando eu clico no form vazio na url ao invés d está assim

Na página que envia os dados para o formulário, você está enviando junto o valor de user (para poder pegar como $_POST['user'])

Link para o comentário
Compartilhar em outros sites

  • 0

me desculpa cara por ser chato, agora vou melhorar oque eu quero, então, voltando, oque eu devo fazer na hora de enviar o form em branco no exibe_conteudo.php parecer na URL assim

http://localhost/meu%20site/exibe_conteudo.php?user=ricardo

e não assim

http://localhost/meu%20site/exibe_conteudo.php?user=

onde eu devo mexer no respostaexibe.php ??? que eu não entendi muito nessa logica

$username = $_POST['user'];

if(empty($_POST['assunto']) && empty($_POST['mensagem'])) {

header("Location: exibe_conteudo.php?user=$username");

exit;

}

require_once("conecta_mysql.php");

$assunto = $_POST['assunto'];

$mensagem = $_POST['mensagem'];

$data = date("d/m/Y H:i:s");

$inserir = "INSERT INTO forum (assunto, mensagem, data) VALUES ('$assunto' , '$mensagem' , '$data')";

mysql_query($inserir);

mysql_query("UPDATE forum SET data = '$data' WHERE id = '$id'");

header("Location: exibe_conteudo.php?user=$username");

mysql_close($conexao);

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Olha, LEIA BEM O QUE EU DISSE PRIMEIRO! Na página que envia os dados para o formulário. Essa página que você postou é a que RECEBE OS VALORES DO FORMULÁRIO...

ENTÃO, na página que você ENVIA os dados para o formulário, crie um campo do tipo hidden e de o valor correspondente a variável que contêm o nome do usuário... para facilitar, vai abaixo o modelo:

<input type="hidden" name="user" value="<?php echo $username;?>">

No modelo acima o nome que vai corresponder ao POST já é igual ao seu, basta você trocar o $username (se não for esse mesmo) pelo nome da variável que guarda o nome do usuário...

Link para o comentário
Compartilhar em outros sites

  • 0

que beleza heinnn vlw, então tem como responder mais uma perg.???

é o seguinte, eu tenho um valida_cookie.php, quando eu uso o require no exibe_conteudo.php pra incrementar o arquivo valida_cookies, eu usei assim no exibe_conteudo.php

require_once("conecta_mysql.php");

require_once("valida_cookies.php");

//selecionando dados da tabela

$username = $_GET['user']; // aqui pega a variavel user criado no login user=$username

ele dar esse erro

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\wamp\www\meu site\exibe_conteudo.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\wamp\www\meu site\exibe_conteudo.php on line 10

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\wamp\www\meu site\exibe_conteudo.php on line 11

Não tem nenhum registro com o nome de ricardoSair

eu queria saber o porque??? obrigado hein pela sua ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

Access denied for user 'ODBC'@'localhost' (using password: NO)

Acesso negado para o usuário ODBC... problema de permissão de acesso ao mysql... veja se no valida_cookies.php não está sendo aberta algum conexão com o banco de dados...

Link para o comentário
Compartilhar em outros sites

  • 0

agora falta pouco rsrrsrs, então eu tenho um sistema de Delete pra excluir o comentario ,

mas está dando erro???

a pagina se chama excluir.php

<?php

require_once("conecta_mysql.php");

if(isset($_GET['id'])){// Isset verifica se a variavel existe

$sql = "delete from forum where id=.$_GET['id]; // $_GET['cdid] o nome do campo da tabela mysql via Url

$resultado = mysql_query($sql);

if ($resultado){ // se o resultado for verdadeiro

$mensagem = urlencode("Msg excluido com sucesso");

}

else{ // senão a varialvel mensagem da erro.

$mensagem = urlencode("Falha na exclusão");

}

header("Location:exibe_conteudo?mensagem=$mensagem");

exit(); // se aver exclusão a página será redirecionada na página cdcolletion.php

}

else{

$mensagem = urlencode ("Não há parâmetro valido. Clique no link certo");

header("Location:exibe_conteudo.php?mensagem=$mensagem");

}

?>

mas da erro de

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\meu site\excluir.php:2) in D:\wamp\www\meu site\excluir.php on line 18

é no header

e no exibe_conteudo.php

está assim

if (isset($_GET['mensagem])){ // Se a váriavel existir a varialvel vai ser mostrado na página cdcolletion

echo $_GET['mensagem']; // mostra a mensagem

}

porque está dando esse erro???

Link para o comentário
Compartilhar em outros sites

  • 0

não funcionou,

então agora fiz assim, excluir.php

<?php

require_once("conecta_mysql.php");

if(isset($_GET['id'])){// Isset verifica se a variavel existe

$sql = "delete from forum where id=.$_GET['id]; // $_GET['cdid] o nome do campo da tabela mysql via Url

$resultado = mysql_query($sql);

if ($resultado){ // se o resultado for verdadeiro

$mensagem = urlencode("Msg excluido com sucesso");

}

else{ // senão a varialvel mensagem da erro.

$mensagem = urlencode("Falha na exclusão");

}

header("Location:exibe_conteudo?mensagem=$mensagem");

exit(); // se aver exclusão a página será redirecionada na página cdcolletion.php

}

//else{

//$mensagem = urlencode ("Não há parâmetro valido. Clique no link certo");

//header("Location:exibe_conteudo.php?mensagem=$mensagem");

//}

?>

e aquele erro sumiu a tela ficou branco como eu faço, pra saber se funciona??

Editado por cloba
Link para o comentário
Compartilhar em outros sites

  • 0

então vamos começa aos poucos eu fiz assim agora

excluir.php

<?php

require_once("conecta_mysql.php");

$id = $_GET['id'];

$username = $_GET['user'];

$sql = mysql_query ("delete from forum where id=$id'");

header("Location:exibe_conteudo?user=$username");

?>

e no exibe_conteudo.php

eu fiz assim

echo '<a href="excluir.php?id='.$sql['id].'">excluir</a>';

e quando eu cçico exluir no exibe_conteudo.php

na url aparece assim

http://localhost/meu%20site/excluir.php?id=95

com seguinte erro

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\meu site\excluir.php:2) in D:\wamp\www\meu site\excluir.php on line 10

porque ??

e quando eu volto no exibe_conteudo e aperto o F5 ele apaga o comentario. mas não está redirecionando na exibe_cnoteudo.php

onde está o erro??

Link para o comentário
Compartilhar em outros sites

  • 0

Você sabe ler? Se você olhar algumas mensagens acima eu disse o seguinte: O require_once("conecta_mysql.php"); está fazendo o cabeçalho ser enviado, ok? Bom, provavelmente você não saiba o que é cabeçalho, então pesquisa sobre, mas o fato é que você não pode usar o LOCATION quando alguma coisa dá output (saída) para o navegador... Procure no fórum de javascript o script para redirecionamento, substitua o "header(location:.." do PHP pelo correspondente do javascript, assim o problema de cabeçalho já enviado (headers already sent) será resolvido...

Link para o comentário
Compartilhar em outros sites

  • 0

Ele está excluindo o comentário, só que você tem que dar F5 pois a página está em cache, quando você atualiza ela trás a versão "real" e não a que está gravada no PC...

Como eu disse, use javascript para redirecionar pois por algum motivo o seu include está enviando os cabeçalhos pro navegador...

Link para o comentário
Compartilhar em outros sites

  • 0

então eu fiz isso com java script

mas quando eu excluo o comentario

ele volta na pagina assim no exibe_conteudo.php

Não tem nenhum registro com o nome de Sair

e preciso sair e logar novamente pra manda a msg

e o excluir.php está assim

<?php

require_once("conecta_mysql.php");

$id = $_GET['id'];

$sql = mysql_query ("delete from forum where id='$id'");

?>

<script language= "JavaScript">

location.href="exibe_conteudo.php?"

</script>

o que e devo fazer nesse caso??

Link para o comentário
Compartilhar em outros sites

  • 0

Bom... realmente atenção não é o seu forte... mas como o interesse é seu, você tem que descobrir o erro, compare:

header("Location:exibe_conteudo?user=$username");

com:

location.href="exibe_conteudo.php?"

Não tá faltando algo?

Link para o comentário
Compartilhar em outros sites

  • 0

'<script language= JavaScript>

location.href="exibe_conteudo.php?user=$username"

</script>';

aparece assim no exibe_conteudo.php

Não tem nenhum registro com o nome de $usernameSair

e preciso sair pra logar novament pra manda a msg,´

onde está o erro??

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo amor de Deus, cara como você espera que o valor da variável $username vá aparecer ali sem isso estar dentro do que via ser interpretado pelo PHP...

Troca isso:

location.href="exibe_conteudo.php?user=$username"

Por isso:

location.href="exibe_conteudo.php?user=<?php echo $username; ?>"

Link para o comentário
Compartilhar em outros sites

  • 0

me desculpa Serra esse location.href="exibe_conteudo.php?user=<?php echo $username; ?>" é pra colocar em um hiddem??

me desculpa eu não tenho certo dominio com a logica, mas eu to tentando

Editado por cloba
Link para o comentário
Compartilhar em outros sites

  • 0

Acho que isso já passou da lógica pro bom senso, vamos pensar um pouco, pra que cargas d'água você vai guardar isso num hidden? Pois eu não sei...

O que eu disse pra trocar é essa parte do arquivo:

<script language= "JavaScript">

location.href="exibe_conteudo.php?"

</script>

Para

<script language= "JavaScript">

location.href="exibe_conteudo.php?user=<?php echo $username; ?>"

</script>

E como dizem no quartel... tentar não é o bastante...

Link para o comentário
Compartilhar em outros sites

  • 0

pois é isso mesmo que. eu fiz, então, e não deu certo, porque o script ele dixa o dlimitador php em txto e não dx o delimitador php em vermelho no dreamweaver, entendeu o que eu quiz dizer?por isso que eu disse se é dentro do hiddem, tem outra maneira?

por ex.

fica assim

<script language= "JavaScript">

location.href="exibe_conteudo.php?user=<?php echo $username; ?>"

</script>

e não assim

<script language= "JavaScript">

location.href="exibe_conteudo.php?user=<?php echo $username; ?>"

</script>

Editado por cloba
Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...