Você está na página 1de 10

_projeto interdisciplinar :: FORUM PSI6

1 - Criar a base de dados


Antes de começar a escrever o código PHP, precisamos de criar a base de dados para o fórum. Vamos
usar o MySQL para isso.
1.1 - Cria uma nova base de dados - forum
1.2 - Cria uma tabela para armazenar as informações do usuário
1.3 - Cria uma tabela para armazenar as informações do tópico
1.4 - Cria uma tabela para armazenar as informações da resposta

Agora que a base de dados está pronta, podemos começar a escrever o código PHP.
2 - Config.php:
_projeto interdisciplinar :: FORUM PSI6

3 - Página de registo
A primeira página que vamos criar é a página de registo, que permitirá que os usuários criem
uma conta para publicar e responder a tópicos.
3.1 - Cria um arquivo chamado register.php e adiciona o seguinte código:
_projeto interdisciplinar :: FORUM PSI6

Esta página exibe um formulário de registo para o usuário preencher e um espaço para exibir
mensagens de erro ou sucesso após o envio do formulário.
O código verifica se o formulário foi enviado, obtém os dados do formulário e verifica se o nome
de usuário ou e-mail já estão em uso. Se o nome de usuário ou e-mail já estiverem em uso, uma
mensagem de erro será exibida. Caso contrário, o novo usuário será inserido no banco de dados
e uma mensagem de sucesso será exibida.
_projeto interdisciplinar :: FORUM PSI6

4 - Página de login
A página de login permitirá que os usuários façam login nas suas contas para publicar e
responder a tópicos.
Cria um arquivo chamado login.php e adiciona o seguinte código:
_projeto interdisciplinar :: FORUM PSI6

Esta página exibe um formulário de login para o usuário preencher e um espaço para exibir
mensagens de erro após o envio do formulário.
Este código verifica se o formulário foi enviado, obtém os dados do formulário e verifica se o e-
mail e a senha correspondem a um usuário registrado. Se as credenciais forem válidas, o
usuário será redirecionado para a página principal. Caso contrário, uma mensagem de erro
será exibida.
_projeto interdisciplinar :: FORUM PSI6

5 - Página principal
A última página que vamos criar é a página principal do fórum, que exibirá todos os tópicos
existentes e permitirá que os usuários publiquem novos tópicos e respondam a eles.
Cria um arquivo chamado index.php e adiciona o seguinte código:
_projeto interdisciplinar :: FORUM PSI6

Este código exibe um formulário para postar novos tópicos e uma lista das últimas respostas.
Também verifica se o usuário fez login e redirecionamos para a página de login caso contrário.
Adicionamos um formulário de logout, que envia um valor "1" para a mesma página para
indicar que o usuário deseja fazer o logout.
_projeto interdisciplinar :: FORUM PSI6

6 - Página de criação de tópicos


Agora vamos criar a página que processa o formulário para criar novos tópicos.
Cria um arquivo chamado new_topic.php e adiciona o seguinte código:

Verificamos se a sessão do usuário está iniciada antes de permitir que ele crie um novo tópico. Caso
contrário, ele é redirecionado para a página de login.

Segurança: em vez da variável $connection incluímos o arquivo config.php no início do script. Isso ajuda
a manter as informações de conexão com a base de dados protegidas. Também usamos a função
mysqli_prepare para preparar a consulta SQL e evitar possíveis ataques de injeção de SQL.
_projeto interdisciplinar :: FORUM PSI6

7 - Página de tópicos
Agora vamos criar a página que exibe um tópico e suas respostas. Cria um arquivo chamado topic.php e
adiciona o seguinte código:

Verificamos se o formulário de resposta foi enviado e, se sim, obtemos o conteúdo da


resposta, o ID do usuário (obtido da sessão) e o ID do tópico (obtido da URL). Em seguida,
inserimos esses dados na tabela replies.
Obtemos o ID do tópico da URL e usamos uma consulta SQL para obter as informações do
tópico, juntamente com o nome de usuário do autor, e armazenamos os resultados em um
array associativo chamado $topic.
Usamos outra consulta SQL para obter as respostas ao tópico, juntamente com os nomes de
usuário dos autores, ordenadas pela data de criação, e armazenamos os resultados em um
array chamado $replies. Exibimos o título e o conteúdo do tópico, juntamente com o nome de
usuário do autor.
_projeto interdisciplinar :: FORUM PSI6

8 – Página de resposta ao tópico


Cria um arquivo chamado new_reply.php e adiciona o seguinte código:

Este código recebe os dados do formulário de resposta e adiciona uma nova resposta ao tópico
na base de dados. Ele também exibe uma mensagem de sucesso e um link para voltar ao
tópico.
A página verifica se o usuário está logado antes de permitir o envio da resposta. Caso o usuário
não esteja logado, ele será redirecionado para a página de login. Além disso, a página utiliza
uma conexão com o banco de dados para inserir a nova resposta, evitando vulnerabilidades de
segurança como SQL Injection.
Existem muitas outras funcionalidades que podem ser adicionadas, como edição de tópicos e
respostas, exclusão de tópicos e respostas, notificações por email, etc. Mas espero que este
exemplo possa ajudar-te a entender os conceitos básicos para criares o teu próprio fórum.

Bom trabalho

Você também pode gostar