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

Assumindo que seu script esteja 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?user=<?php echo $username; ?>"
</script>

Você em nenhum ponto pega o usuário da query e define a $username... ou seja, tá faltando o $username = $_GET['user'];

Link para o comentário
Compartilhar em outros sites

  • 0

está assim

<?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.php?user=$username");

?>

<script language= "JavaScript">

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

</script>

e como eu disse a url fica assim

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

e não assim

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

tem alguma coisa que. está faltando ??

Link para o comentário
Compartilhar em outros sites

  • 0

<?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.php?user=$username");

echo"<script language= \"JavaScript\">
location.href=\"exibe_conteudo.php?user=$username\"
</script>";
?>

Era pra funcionar da outra maneira, mas tenta dessa...

Link para o comentário
Compartilhar em outros sites

  • 0

a mesmo coisa ainda

<?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.php?user=$username");

echo"<script language= \"JavaScript\">

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

</script>";

?>

parece que. a coisa está complicado mesmo

Link para o comentário
Compartilhar em outros sites

  • 0

Olha, isso está correto e funcionando, acabei de testar aqui... me diz o que retorna disso:

<?php

require_once("conecta_mysql.php");

$id = $_GET['id'];

$username= $_GET['user'];

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

echo "O usuário é: $username";

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

/*echo"<script language= \"JavaScript\">

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

</script>";*/

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, o que pode ser, vejamos... a variável $username vem de $_GET['user'], então se $username está vazio $_GET['user'] está vazio ou não existe (perceba a complexidade do raciocínio... <_< )... deixa eu ver se eu adivinho o problema... você não está enviando o nome do usuário para a página excluir.php, está enviando apenas o id...

Link para o comentário
Compartilhar em outros sites

  • 0

vlw você já explicou era isso mesmo, vlw pela dica, logo logo já volto pra exlarecer outra duvida, eu espero que. não rsrsr

você ajudou muito, e com certeza eu aprendi muita coisa aqui ;)

e já que to aqui, e agora como eu faço pra valida que. só aquele usuario pd excluir o seu tópico por ex.

o ricardo pstou o tópico e só o ricardo pd excluir o tópico e qd eu logo como o ronaldo eu não tenho essa permissão d excluir o tópico do ricardo

como eu faço isso??

Link para o comentário
Compartilhar em outros sites

  • 0

eu ainda não sei muito manizeia esse if e else,

então eu fiz assim

if(mysql_num_rows($query)== 0){

echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";

}else

{ mysql_result($query, 0 , id_username);

} onde esse id_username é um campo do forum onde guarda o usuario logado justamente pra saber o autor do tópico que postou,

então deve ser assim mais ou menos ???????? isso eu fiz no exibe_conteudo.php

Link para o comentário
Compartilhar em outros sites

  • 0

Não.. você vai ter que:

1 - pegar o nome do usuário

2 - buscar o id desse usuário na tabela que guarda os usuários

3 - pegar o id do usuário que postou o tópico

4 - comparar os IDs pegos nos passaso 2 e 3...

No passo 4 a coisa é mais ou menos assim:

$id_vindo_tabela_usuario = //Aqui é o id pego na tabela que guarda o nome dos usuários
$id_de_quem_postou = //Aqui é o id que é registrado junto com o tópico...
if ($id_vindo_tabela_usuario == $id_de_quem_postou){
echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";
}else{}

Link para o comentário
Compartilhar em outros sites

  • 0

$id_usuario_forum = $_GET['id']; // é o id da tabela forum

$id_usuario_postou_forum = $_GET['id_username]; // é o id_username da tabela forum do tipo varchar

if ($id_usuario_forum == $id_usuario_postou_forum){

echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";

}else{

}

isso no exibe_conteudo.php

e o excluir.php está assim

<?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.php?user=$username");

//echo "O usuário é: $username";

echo "<script language= \"JavaScript\">

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

</script>";

?>

onde está d errado??

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

  • 0

bem a tabela forum está assim

id int(255) auto_increment

assunto varchar(80) not null

id_username varchar(20) not null // aqui guarda os nomes dos usuarios logado

mensagem text not null

data varchar(50) not null

pd ser algum erro dsse?

Link para o comentário
Compartilhar em outros sites

  • 0

Ele guarda o nome do cara na tabela? pensei que fosse um ID realmente...

Então

$id_usuario_forum = $_GET['user']; // ele vai pegar o nome do usuário que está logado

$id_usuario_postou_forum = //AQUI você pega o id_username que está gravado no banco de dados..

Link para o comentário
Compartilhar em outros sites

  • 0

sim, agora fiz assim

$id_usuario_forum = $_GET['user'];

$id_usuario_postou_forum = $_GET['id_username'];

if ($id_usuario_forum == $id_usuario_postou_forum){

echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";

}else{

}

e o link excluir sumiu porque??

olha só o exibe_conteudo.php está assim

<?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

$resultado = "SELECT * FROM usuarios where username=$username'"; // seleciona a variavel username

$exe = mysql_query($resultado); // executa a variavel resultado

if (mysql_num_rows($exe) == 0){

echo "Não tem nenhum registro com o nome de $username"; // se a variavel $exe for 0 da erro de nenhum registro encontrado no banco

}else{ // se o registro conter no banco

$login = mysql_result($exe,0,username); // usar o mysql_result pra encontra o registro especificado no banco se não existi da erro no result.

$sql = "SELECT * FROM forum ORDER BY data DESC"; // quando o assunto é digitado é colocado em primeiro lugar

$query = mysql_query($sql);

while($sql = mysql_fetch_array($query)){ // enquanto a variavel $sql for igual a varialve $query da um loop

$id = $sql['id]; // aqui pega todos o resultados do id do banco forum

$assunto = $sql["assunto"]; // aqui pega todos os resultados do assunto do banco enquanto for digitado no form.

$id_username = $sql["id_username"]; // pega os dados inserido do banco forum

echo "<a href=nome.php?id=$id> <br> $assunto $id_username </a>"; // cria os link das variavel $id

$id_usuario_forum = $_GET['user];

$id_usuario_postou_forum = $_GET['id_username'];

if ($id_usuario_forum == $id_usuario_postou_forum){

echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";

}else{

}

/*Aqui o cara faz a query para pegar as mensagens que fazem parte do tópico em questão*/

$pega_posts = mysql_query("SELECT * FROM mensagens WHERE id_mensagem = '$id'");

/*Conta o número de mensagens*/

$resultados = mysql_num_rows($pega_posts);

/*Aqui pega o total de mensagens e adiciona 1, pois esse 1 se refere a mensagens do post inicial*/

$resultados_tot = $resultados+1;

echo "$resultados_tot Resultados". " " .$sql['data']. "<hr>";

}

}

mysql_close($conexao);

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Olha só, tenta entender o código, pois se você não entender você NUNCA vai aprender nada...

Me diz uma coisa:

$id_usuario_forum = $_GET['user'];

$id_usuario_postou_forum = $_GET['id_username'];

if ($id_usuario_forum == $id_usuario_postou_forum){

echo "<a href=excluir.php?id=$id&user=$username>excluir</a>";

}else{

}

O id_username é guardado:

A - No banco de dados.

B - Na URL (querystring)

?

Link para o comentário
Compartilhar em outros sites

  • 0

foi falta de atenção minha, o $username e o id_username já tava sendo usado e ai apaguei essas variaveis

$id_usuario_forum

$id_usuario_postou_forum

e fiz assim

if $username == $id_username

aí funcionou , muitooooooo obrigadoooooo Serra vlw mesmo. então eu coloquei um foto no forum pra ser exibido, mas porque a foto minha do forum não está exibindo ??? eo que eu posso acrencentar no else {} ??

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

  • 0

cara que tópico longo hein , eu sei das minhas dificuldades, por isso que. ficou assim, mas já deu pra montar um forum simples com exclusão de comentarios, você é moderador desse site, você tem parte desse site script brasil??

Link para o comentário
Compartilhar em outros sites

  • 0

Apenas moderador... nada mais...

Se você quer aprender PHP não adinta sair tentando montar tudo assim... aprende tudo separado e depois usa o conhecimento pra desenvolver um sistema... senão a coisa tende a não dar certo...

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