+3

Mural de Recados com Arquivos .txt

criado por Eduardo Firmino Leitão em 19/08/2005 9:44am
Bem, agora vamos trabalhar com o arquivo index.php

Abra o arquivo index.php com um editor de html. A não ser que você conheça totalmente a linguagem html e queira fazer no bloco de notas.
Disponibilizarei também o código HTML. Então não haverá problema.

No exemplo deste mural, utilizarei um software chamado Dreamweaver da Macromedia. Considero o melhor. Gosto de trabalhar com ele.

Com o arquivo aberto, no alinhamento, escolha centralizado.

Agora iremos criar uma tabela com 3 células, ou seja, vão ser 3 linhas. Não vai ter nenhuma coluna.

Centralize todas as células.

Na primeira célula escreva "Meu Mural Com Arquivos .txt"

Na segunda célula terá um include que irá buscar o conteúdo do arquivo recados.txt para dentro da célula. Como faremos isso?
Clique dentro da célula, vá para parte de códigos do editor de html e insira este código php:

<?php
include "recados.txt";
?>

Volte para a parte de design do editor de html e iremos editar a última célula.

Na terceira célula criaremos um formulário que irá enviar os dados da pessoa e o recado dela para o arquivo recados.txt que é onde vai estar gravados os dados de nosso mural que vai ser incluido na segunda célula pelo o include que criamos.

Crie um novo formulário dentro da terceira célula. O action desse formulário será o arquivo add_recados.php que terá o código php que fará incluir os dados dentro do recados.txt

<form action="add_recados.php">
<table>
  <tr>
    <td>Nome:</td>
    <td><input type="text" name="campo1"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="campo2"></td>
  </tr>
  <tr>
    <td colspan="2">
      Mensagem:<br />
      <textarea name="campo3" rows="20" cols="40"></textarea>
      <br /><br />
      <input name="enviar" type="submit" value="Enviar">
    </td>
  </tr>
</table>
</form>

Nosso design ficou + ou - assim:



O nosso arquivo index.php está pronto! Vamos agora partir para o arquivo add_recados.php

Comentários:

Mostrando 1 - 10 de 16 comentários
kleiteen disse:
tem como invardir o arquivo txt do meu site para outro site....pelo fato de ele ter permissao 777 consigo manipular o arquivo hospedado em outro site...
ou realizar qualquer alteracao no arquivo de outro site...
06/09/2006 2:57pm (~16 anos atrás)

Rapaz eu fiz deu certinho..
publiquei
mais quando enva não aparece a mensagem de texto só aparece a hora da mensagem postada.

Meu Mural
http://lennu.t35.com/index.php

porque será ?
alguém pode me dizer ?
30/06/2006 9:36am (~16 anos atrás)

http://maislazer.t35.com/testes/index.php

aqui esta o que eu fiz. mas não da certo

qundo eu clico em enviar dar erro.

22/05/2006 11:15pm (~16 anos atrás)

Não consigo setar pra que ele não dê aquele erro nas linhas 3 e 4 referente aos campo1, campo2 e campo3.... que não estão definidos... como faço?? ajuda será bem-vinda.. obrigado!
21/09/2005 12:04am (~17 anos atrás)

Reginaldo disse:
Boa tarde Felipe Matos.
Se você usa algum Sistema Operaciona *nix(algum Linux, algum BSD, ...) vc precisa colocar permissões no arquivo.
Você tem que ir pelo console ate onde ficam salvas suas paginas, e digitar:
chmod 777 recados.txt.

Eu recomendo vc usar apenas leitura e gravação:
chmod 666 recados.txt.

Se você estiver usando um M$ Windows qualquer, coloque opçao de gravação e leitura nele.

[]'s
20/09/2005 1:48pm (~17 anos atrás)

Jose Djalma disse:
O mais importante ele não fez, comentar o código que manipula o arquivo .txt...

:D
08/09/2005 7:56am (~17 anos atrás)

Erick Hamaoka disse:
Nao tive nenhum problema ao fazer este exercicio.
Para iniciantes como eu, qualquer tipo de informacao simples eh sempre mui bem-vidna!
07/09/2005 3:30pm (~17 anos atrás)

Sobre meu ultimo comentário:

\n é pra sistemas windows se não me engano. Para outros sistemas podem ser outros escapes. Alguém mais experiente por favor confirme :)
03/09/2005 10:53pm (~17 anos atrás)

Então não se assustem caso minhas perguntas/observações sejam tolas.
Mailson: eu usei o echo "<script>open('arquivo.php','_self');</script>";
que você recomenda... deu certo :)
So pra constar (para iniciantes bem iniciantes como eu ;) ) essa linha vai em add_recados.php , certo?

Lucy: criar arquivos que ele diz eh criar um arquivo txt por exemplo (indo na área de trabalho e clicando com o botao direito > novo > novo documento de texto; ou abrindo seu editor de php ou de texto [ como o notepad ]e escrevendo o arquivo e depois salvando-o em algum lugar )

Mailson de novo : essa linha que você recomdendou funcionou para mim... inclusive resolve o problema de nao mostrar imediatamente a mensagem que voce enviar. Porém quando eu pedi para um amigo testar pra mim nao funcionou na makina dele. Qual poderá ter sido o motivo? E, a nível de curiosidade, isso ( a linha mostrada como soluçao ao tirote) eh javascript?

Outra dúvida: Este codigo apresentado funciona somente com REGISTER_GLOBAL = On (pelo menos aqui não funcionou com Off), entao como faria para ele funcionar em Off ? Lembrando que a partir da versão 5 o padrão é Off certo?

Ah sim! nao poderia me esquecer.. Parabéns pelo artigo Eduardo! Muito didático, aprendi bastante com ele e reavivou meu interesse por PHP quado eu estava jah "devagar quase parando".

Ragen: a linha que você recomenda
echo htmlentities(file_get_contents('recados.txt'));
faz com que seja necessário reformular a string a ser gravado no arquivo recados.txt certo? Tem algum modo de fazer com que ele envie a string de mensagem na formatação usada pelo usuário sem que se execute codigos contidos nela?
eu usei somente
<?php echo file_get_contents("recados.txt");
?>
e ele formata o HTML mas não executa o PHP.. não entendi pq.. alguem poderia me explicar?

E uma dica pra finalizar: q tal acrscentar um "\n" no ultimo fwrite de add_recados ? Isso faz com que a cada recado novo que seja adicionado se pule uma linha.. Talvez seja util caso se queira mudar/apagar uma certa mensagem concordam?

Abraços.
03/09/2005 10:48pm (~17 anos atrás)

Mailson Lira disse:
Ragen e Macafe:
O cara tá ensinando pra iniciantes!! O importante no início não é se um código é mais eficiente que o outro e sim o aprendizado do iniciante.

tirote:
existem muitas maneiras de tratar esse erro. uma das mais simples é colocar a linha

echo "<script>open('arquivo.php','_self');</script>";

onde faz com que o navegador abra a página novamente e ai a pessoa pode dar reload à vontade que não acontece nada.

Felipe Matos:
tenta chmod("arquivo.txt",0777);
ou então você pode não criar o arquivo.txt e deixar que quando o script for inserir a primeira coisa no arquivo o php cria automaticamente.
03/09/2005 3:43am (~17 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)