Publicidade   
 você está aqui: phpbrasil.com    artigos    artigo  
 
:: novos artigos ::

:: recomendado ::

PHP para a World Wide Web

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

Diógenes Sobral
Pontos: 2167

Visite a página de perfil de Eduardo Firmino LeitãoMural de Recados com Arquivos .txt
por Eduardo Firmino Leitão
Lista de Categorias  |  Contribua um Novo Artigo  |  Entre em Contato Conosco

Ensinarei aqui como fazer um mural para iniciantes em php. O mural não utiliza banco de dados. Você irá trabalhar apenas com arquivos .txt Fácil de criar e legal de trabalhar.
Vote aqui!
Média de Votos Atual: 8.36
Total de Votos: 28
Nota:   

Olá,
Vamos começar direto sem enrolação.

Nosso mural vai conter 3 arquivos. Irei explicar eles um a um para melhor entendimento do usuário:

1º -> Um arquivo onde é mostrado o mural e que nele já possamos inserir mais um comentário. Chamaremos esse carinha de index.php

2º -> Um arquivo que conterá a programação php que adicionará um novo comentário ao mural. Chamaremos esse carinha de add_recados.php

3º -> Um arquivo .txt onde irão ser gravadas as informações que o mural irá visualizar. Chamaremos esse outro carinha de recados.txt

Crie esses 3 arquivos dentro de uma pasta separada. (espero que criar arquivos você saiba) =)

Ficará assim:



Vamos para a próxima parte então.

Trabalhemos em cima do arquivo index.php

Vamos lá!


<< Anterior 1 2 3 4 Próxima >>

 
Imprimir  |  Enviar para um Amigo


Comentários de Usuários

Problema com o tratamento de dados
publicado por Ragen - 2005-08-19 11:39:31

Olá Eduardo,

Gostaria de fazer somnete uma pequena correção. Pois seu artigo tem um caráter bem didatico para iniciantes.

Infelizmente você não pode fazer simplesmente um include de um arquivo inputado pelo usuário sem tratamento de dados. Fazendo isso, vc deixa uma brecha de seguranca grave no seu sistema.

Veja o trecho que você colocou no artigo:

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

Seria mais interessante:
-----
<?php

echo htmlentities(file_get_contents('recados.txt'));
?>
-----

Se ao invés de colocar um recado no mural o usuário deixar um código arbitrário (instrucoes em php por exemplo), o que aconteceria? Pense nisso...

Abracos,

Allyson de Paula

Oia la
publicado por Felipe Cardoso Martins - 2005-08-19 15:54:47

olha , nao sendo pessimista, mas faz assim, coloca uns codigos php em um arquivo txt e executa ele atraves de um include...

o cara pode apagar do txt , se tiver coneccao aberta pode ate i bro bd...

mas uma coisa q num sei ainda direito, txt pode ser efetuado buscas por uma palavra chave e colocar a linha referente em um array (ps. sem fazer aquilo que guarda separado por algum esquema e fica fazendo explode)

Erro!
publicado por tirote - 2005-08-27 17:20:42

Muito legal esse Mural de Recados com Arquivos .txt, só que eu encontrei um erro, quando você envia a mensagem e atualiza o navegador, essa mensagem é postada novamente, eu gostaria de saber como concertar para que isso não aconteça?

espero que criar arquivos vc saiba
publicado por Lucy - 2005-08-28 14:18:21

amigo e para os que não sabem nada? como eu se é para iniciante entaum vamos lah desde o inicio não é ? vcs falam linguagem técnica tudo bem temos que aprender...mais daí se estamos iniciando tem qu ser do inicio concorda ...legal que a maioria sabem mais e eu que estou aprendendo?

CHMOD 777
publicado por Felipe Matos - 2005-08-30 09:35:33

n to conseguindo enviar os recados para recados.txt... acho q tenhu q fazer esse tal d CHMOD 777 mas como eh q faço issu??
grato

Bom para iniciantes
publicado por Mailson Lira - 2005-09-03 03:35:39

Muito bom esse artigo. É uma mão na roda para iniciantes que não tem noção de Banco de Dados.
Eu me lembro que quando comecei a usar php tive que rodar muito pra achar um guestbook que não usasse BD.

:P
publicado por Mailson Lira - 2005-09-03 03:43:12

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.

Sou realmente iniciante em PHP
publicado por Rafael_ABF - 2005-09-03 22:48:49

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.

Me esqueci!
publicado por Rafael_ABF - 2005-09-03 22:53:33

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 :)

Muito bom!
publicado por RayMixes - 2005-09-07 15:30:39

Nao tive nenhum problema ao fazer este exercicio.
Para iniciantes como eu, qualquer tipo de informacao simples eh sempre mui bem-vidna!

Faltou...
publicado por zedjalma - 2005-09-08 07:56:16

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

:D

Re: CHMOD 777
publicado por rfilippus - 2005-09-20 13:48:31

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

Sou Pregão nisso....
publicado por andrecunha - 2005-09-21 00:04:16

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!

eu não consegui. me digam o que faço
publicado por otacilio vieira barros - 2006-05-22 23:15:25

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.


Mural de recados
publicado por lennon592 - 2006-06-30 09:36:22

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 ?

Invasão
publicado por kleiteen - 2006-09-06 14:57:07

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

Publique os seus Comentários

Nome:
Email:
Título:
Comentário:

NOTA: Cadastre-se no site para poder publicar comentários.

 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 2.789 segundos