Ir para conteúdo

POWERED BY:

Arquivado

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

zombie

[Resolvido] sistema de comentario

Recommended Posts

Galera, to tentando fazer um sistema de noticia com sistema de comentario, bom ja fiz o cadastro da noticia, e listagem das mesma com os links de "comentario" o que nao to conseguindo, e nao sei, como faço para que quando a pessoa criar um comentario fique na noticia que ele acessou no caso. como faço o link e como faço no banco de dado? terei que criar outro? essa parte to perdido, alguem pode me dar um luz. vlwwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria uma tabela comentários com relacionamento de ID_NOTICIA com a tabela de NOTICIAS, dae quando ele comentar, você salva o comentário dele com o ID da Noticia. E para mostrar o comentário da respectiva noticia, você faz um Select com condição...

 

select * from comentarios where id_noticia = 3 -- por exemplo, e na tabela noticias tem um ID_Noticia 3...

 

Easy

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw kra pela dica, deu certo aqui, tava sem ideia de como fazer esse esquema, vlw mesmo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Agora uma duvida, no campo "nome" como faço para puxar esse nome de um usuario cadastrado no sistema? (no bd usuarioscadastrado)

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw kra pela dica, deu certo aqui, tava sem ideia de como fazer esse esquema, vlw mesmo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Agora uma duvida, no campo "nome" como faço para puxar esse nome de um usuario cadastrado no sistema? (no bd usuarioscadastrado)

 

 

Duas coisas que nao consegui, se alguem puder me ajudar agradeço muito.

 

1ª puxar o nome do usuario cadastrado quando o mesmo postar a noticia, nao sei como eu faço para puxar esse nome de outra tabela.

 

2ª Quando o usuario criar uma nova noticia, nao sei se existe uma forma de enviar um email automatico para todos usuarios cadastrado, tem como? pensei na funçõa mail() mais tava pesquisando e nao achei nada ainda a respeito...

 

agradeço desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra pesquisar o nome do usuario SELECT nome FROM usuarioscadastrado WHERE id_comentario = 1

 

para enviar o email para todos os usuarios você vai fazer o seguinte

[php]

$assunto = "Nova Noticia";
$headers = "To: ";

$result = mysql_query("SELECT nome, email FROM usuarioscadastrado");
while ($row = mysql_fetch_array($result)) {
    $headers .= $row['nome'] ." <". $row['email'] .">, ";
}
$headers = substr($headers, 0, -2);
$headers .= "\r\n";
$headers .= "From: ". seu nome ." <". seu email .">\r\n";
$headers .= "MIME-version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$mensagem = " manda tua mensagem ";
		
mail($email_destino, $assunto, $mensagem, $headers);
[/php]

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza? vlw pela dica kra, to tentando aqui e até agora nao consegui nao, nao sei aonde to errando, tentei assim:

 

<?

$id = $_GET['id'];

$y = mysql_query("SELECT * FROM forum WHERE id='$id'");

$sql = ("SELECT usuario FROM usuarioscadastro WHERE usuario='$id'");

while($x = mysql_fetch_array($y)){

echo'

 

coloquei essa parte para tentar puxar o nome do usuario cadastrado (logado) para o nome do comentario.

 

$sql = ("SELECT usuario FROM usuarioscadastro WHERE usuario='$id'");

 

mais ele me retorna um valor S, mais nao o usuario logado no sistema... como poderia fazer nessa linha?

 

e o local aonde to tentando puxar o nome é.

 

<input name="nome" type="text" id="nome" value="'.$id[usuario].'">

 

sobre o envio de email ainda nao tentei vou tentar agora, vlw e agradeço desde ja pela atenção ! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza? vlw pela dica kra, to tentando aqui e até agora nao consegui nao, nao sei aonde to errando, tentei assim:

 

<?

$id = $_GET['id'];

$y = mysql_query("SELECT * FROM forum WHERE id='$id'");

$sql = ("SELECT usuario FROM usuarioscadastro WHERE usuario='$id'");

while($x = mysql_fetch_array($y)){

echo'

 

coloquei essa parte para tentar puxar o nome do usuario cadastrado (logado) para o nome do comentario.

 

$sql = ("SELECT usuario FROM usuarioscadastro WHERE usuario='$id'");

 

mais ele me retorna um valor S, mais nao o usuario logado no sistema... como poderia fazer nessa linha?

 

e o local aonde to tentando puxar o nome é.

 

<input name="nome" type="text" id="nome" value="'.$id[usuario].'">

 

sobre o envio de email ainda nao tentei vou tentar agora, vlw e agradeço desde ja pela atenção ! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

não intendi beim oque você esta tentando fazer aqui...

você quer que aparece a noticia, e o nome do usuario que escreveu a noticia? é isso?

 

 

e quanto ao email cara..., essa parada de enviar email para todos os usuarios cadastrados a cada comentario que escrevem é considerado SPAM...

eu te recomendaria criar um campo a mais no cadastro de usuarios, que represente se o usuario aceita receber esses email, ai você só envia o email para os usuarios que aceitaram

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, nao tinha pensando desta forma no SPAM, bom mais isso ja descarto entao por enquanto..

 

isso quero quero que apareça o nome do usuario no comentario da noticia, só que esse usuario esta logado no sistema e é outra tabela (usuarioscadastro)

 

to tentando puxar o nome do usuario logado no sistema (tabela usuarioscadastrado) para o imput <input name="nome" type="text" id="nome"...

 

sendo que nesse cadastro ja tenho:

 

<?

$id = $_GET['id']; pego o id da noticia abertar para inserir o comentario

$y = mysql_query("SELECT * FROM noticia WHERE id='$id'"); tabela da noticia que puxo o id dela para inserir na tabela noticiacomentario (nessa tabela que quero inserir o nome do usuario logado)

while($x = mysql_fetch_array($y)){

echo'

Compartilhar este post


Link para o post
Compartilhar em outros sites

$id = $_GET['id']; pego o id da noticia abertar para inserir o comentario

$y = mysql_query("SELECT * FROM noticia WHERE id='$id'"); tabela da noticia que puxo o id dela para inserir na tabela noticiacomentario (nessa tabela que quero inserir o nome do usuario logado)

while($x = mysql_fetch_array($y)){

echo'

 

saquei koé!

quando o usuario loga no seu sistema, você salva o ID ou alguma informação dele na sessão?

salva o ID dele na sessão cara, que aí na hr que ele inserir um comentario para a notícia, você pega da sessão a ID dele na tabela noticiacomentario.

 

para salvar e pegar o valor da sessão você faz assim

<?php
session_start(); // INICIA A SESSAO

$_SESSION["user_id"] = ID ; // DEPOIS DE VERIFICAR O LOGIN E A SENHA, PEGA O ID QUE TENHA ESSE LOGIN E SENHA E SALVA NA SESSÃO

echo $_SESSION["user_id"]; // IMPRIME O ID QUE ESTA NA SESSÃO
?>

então..., você salva o ID do usuario logado na sessão, depois quando você for salvar o comentario que ele fez você salva com o ID dele junto.

cria um campo na tabela noticiacomentario e relaciona ele ao ID do usuario.

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Galera !!!!!

 

então agora deu certo aqui, eu tava errando nessa parte da sessão, eu tava pegando errado, dai pelas dicas, acabei refazendo o codigo e agora deu certinho, perfeito, muito obrigado pela atenção!!!! vlw mesmo... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

$titulo = $_POST['titulo'];

$mensagem = $_POST['mensagem'];

$nome = $_POST['nome'];

$data = date("Y/m/d");

 

$x = mysql_query("INSERT INTO forum (titulo,mensagem,nome,data) VALUES ('$titulo','$mensagem','$nome','$data')");

 

$assunto = "Nova Noticia";

$headers = "To: ";

 

$result = mysql_query("SELECT nome, email FROM usuarioscadastrado");

while ($row = mysql_fetch_array($result)) {

$headers .= $row['nome'] ." <". $row['email'] .">, ";

}

$headers = substr($headers, 0, -2);

$headers .= "\r\n";

$headers .= "From: ". seu nome ." <". seu email .">\r\n";

$headers .= "MIME-version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

 

$mensagem = " manda tua mensagem ";

 

mail($email_destino, $assunto, $mensagem, $headers);

if($x){echo"<strong>Cadastro efetuado com sucesso!!!</strong>";

}else{

echo"o cadastro nao pode ser efetuado, entre em contato para saber o motivo.";

}

 

 

Amigo, to tentando enviar o email para todos cadastrado quando tiver uma nova noticia tentei dessa forma mais nao envia os emails, a tela fica branca, o que pode estar errado??? abç e vlw desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

to tentando aqui até agora a tela continua branca quando tento enviar, ja mudei o $email_destino, tirei ele coloquei meu email, e nada, aonde posso estar errando? vlwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

comenta essa parte e tenta só enviar para o seu email

 

$headers = "To: ";

$result = mysql_query("SELECT nome, email FROM usuarioscadastrado");
while ($row = mysql_fetch_array($result)) {
$headers .= $row['nome'] ." <". $row['email'] .">, ";
}
$headers = substr($headers, 0, -2);
$headers .= "\r\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

$titulo = $_POST['titulo']; 
$mensagem = $_POST['mensagem'];
$nome = $_POST['nome'];
$data = date("Y/m/d");

$x = mysql_query("INSERT INTO forum (titulo,mensagem,nome,data) VALUES ('$titulo','$mensagem','$nome','$data')");
$assunto = "Nova Noticia";
//$headers = "To: ";

//$result = mysql_query("SELECT usuario, email FROM usuarioscadastrado");
//while ($row = mysql_fetch_array($result)) {
//    $headers .= $row['usuario'] ." <". $row['email'] .">, ";
//}
//$headers = substr($headers, 0, -2);
//$headers .= "\r\n";
$headers .= "From: ". seu nome ." <". twiste@ig.com.br .">\r\n";
$headers .= "MIME-version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$mensagem = " manda tua mensagem ";
                
mail(twiste@ig.com.br, $assunto, $mensagem, $headers);

if($x){echo"<strong>Cadastro efetuado com sucesso!!!</strong>";// verificamos se os dados doi inserido se for ele executa o echo
}else{
echo

a tela continua branca, o que pode estar errado? alguma sugestão? vlwwwwwwwwww

 

modifiquei um pouco o codigo e deu certo (ta indo para o spam) mais ta indo pelo menos ja é um caminho rsrsrs.....só que nao to conseguindo pegar os dados do form para enviar tambem, gostaria de estar enviando o Titulo da noticia pelo menos, tem alguma ideia como poderia fazer isso? obrigado pela grande ajuda vlw msm http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Pessoal to com um problema aqui, o sistema ta funcionando normal em localhost, tanto as noticias como os comentários, só que hoje fui publicar,e deu erro.

 

por ex. criei uma noticia. normal

 

dai eu listei a noticia e um botão para ler a mesma.. o botão ta assim:

 

<a href="lermsg.php?id=<?php echo $row_forum['id'];

 

dai na parte que le a noticia, (lermsg.php) ele nao ta lendo, la tem um select assim:

 

$query_ler = "SELECT * FROM forum WHERE id='$id'";

 

e o local que carrega a noticia ta assim:

 

<?php echo $row_ler['mensagem']; ?>

 

só que nao ta abrindo a mensagem, o que pode estar acontecendo? o extranho é que em localhost funciona normal, agora no servidor nao ta carregando as mensagem, olhei nas tabelas e as noticias estão sendo inseridas la o problema ta em carregar a mesma, vi tambem as conecções com o bd e ta normal, alguem tem alguma ideia?

 

vlw desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, o que pode estar acontecendo com o sistema de noticia, que funciona somente em localhost e no servidor nao ta abrindo os textos, ele cria a noticia, e inseri no banco, até ai ta normal, só que quando clico no titulo para abrir a noticia, ela nao ta abrindo, parece que nao ta carregando o titulo e nem o texto, o que pode ser? alguma ideia?

 

vlw desde ja

 

Abs

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

PS: acredito (eu acho) que ta faltando algum comando para levar o id da noticia para que a mesma carregue algo assim $row_noticia = $_REQUEST['id']; ou ta errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

habilite as mensagens de erro, e adicione o mysql_error() após cada consulta tua

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

Compartilhar este post


Link para o post
Compartilhar em outros sites

eai tudo joia? então eu fiz isso, mais mesmo assim quando clico na noticia ela nao abre as informações, ficam em branco, tipo parece que nao ta levando o id da noticia, para a tela que carrega a mesma, e tambem nao da nenhuma msg de erro, o que pode estar ocorrendo? to no trampo agora, quando chegar posto os codigos, caso tenha uma ideia, agredeço muito. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, quero agradecer as dicas e ajuda, obrigado mesmo, o erro da listagem da noticia era aqui:

 

SELECT * FROM forum WHERE id= $id

 

dai tirei o $

 

SELECT * FROM forum WHERE id= id

 

e resolveu. rsrsrsr

 

obrigado novamente http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.