Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


Alpha Servers
Resultados 1 a 2 de 2
  1. #1

    Avatar de 14biss
    Data de Ingresso
    Jul 2010
    Localização
    Maceió
    Idade
    23
    Posts
    131
    Agradecido
    12
    Agradeceu
    8
    Peso da Avaliação
    11

    Padrão Criar simples sistema de notícias sem usar Banco de Dados - PHP

    Bom, fiquei com um tempo livre e pensei em fazer um simples sistema de noticias sem usar banco de dados, usando apenas arquivos txt.

    Alguns viram meus outros tutoriais e devem ter percebido que eu programo usando POO(Programação Orientada a Objetos).

    Se você pretender usar os códigos, certamente deverá fazer suas alterações.

    Também comentei as linhas para um melhor entendimento para quem está aprendendo php agora.
    Código:
    Código PHP:
    <?php
    class notice // Cria a classe
    {
        function 
    showAll() // Cria a função showAll() que irar mostrar os resultados na página
        
    {
            
    $AllNotices = @fopen('ntice/notices/allNotices.txt'"r"); // Abre o arquivo onde fica armazenada a lista de noticias

                
    $result explode("|:|"fgets($AllNoticesfilesize('ntice/notices/allNotices.txt'))); // Faz a separação das noticias
                
    rsort($result); // Faz a lista de noticias se organizar por ordem em ordem descrescente em relação a data
                
    for( $n=0$n<count($result); ++$n // Conta todas as noticias
                
    {
                    
    $separating explode(":"$result[$n]); // Separa informações da noticia como Titulo data e arquivo referente a noticia
                    
    if(!empty($separating[0]))
                    {
                        echo 
    'Noticia: <a href="?notice='.md5(base64_decode($separating[0])).'&showNotice=TRUE">'.base64_decode($separating[1]).'</a> Data: '.base64_decode($separating[0]).'<br>'// Exibe as noticias
                    
    }
                }

            
    fclose($AllNotices); // Fecha o arquivo
        
    }
        function 
    showNotice($notice// Função que mostra informações da noticia determinada
        
    {
            
    $showNotice = @fopen('ntice/notices/'.$notice.'.txt'"r") or die ('Erro: Noticia não encontrada'); // Abre o arquivo da noticia determinada se não existir ele retorna o erro.
            
    while (!feof($showNotice)) // Ler o arquivo
            
    {

                    
    $separating explode(":"fgets($showNoticefilesize('ntice/notices/'.$notice.'.txt'))); // Separa informações da noticia como: Data, Titulo e o texto
                    
    echo 'Titulo:'.base64_decode($separating[0]).'</a><br /> <br /> <br /> Adicionada em:'.base64_decode($separating[1]).'<br /> <br /> <br />'.base64_decode($separating[2]).''// Exibe o resultado
            

            
    fclose($showNotice); // Fecha o arquivo
        
    }
        function 
    addNotice() // Função que adiciona noticia
        
    {
            echo 
    '<form action="?addNotice=TRUE&Reply=TRUE" method="post" name="noticeFrom">
                    Titulo:<br /><input name="title" type="text" class="inputbox" value="Aceita códigos HTML." maxlength="50" /> <br />
                    Notícia:<br /><textarea name="text" cols="80" rows="6" id="text">Aceita códigos HTML.</textarea><br />
                    <input type="submit" value="Adicionar" style="margin-top:10px;"/>
                </form>'
    // Formulario de adicionar noticia
            
    if($_GET[Reply] == TRUE// Caso o $_GET['Reply'] seja preenchido executa o código abaixo
            
    {
                
    $Reg=fopen('ntice/notices/allNotices.txt''a+'); // Abre o arquivo onde fica armazenada todas as noticias
                
    fwrite($Reg'|:|'.base64_encode(date("d-m-Y H:i:s")).':'.base64_encode($_POST[title])); // Escreve a noticia que foi adiciona com informações de data e titulo
                
    fclose($Reg); // Fecha o arquivo

                
    $Creat=fopen('ntice/notices/'.md5(date("d-m-Y H:i:s")).'.txt''x'); // Cria o arquivo da noticia que foi informada com o md5 de sua data.
                
    fputs($Creatbase64_encode($_POST[title]).':'.base64_encode(date(" d-m-Y H:i:s")).':'.base64_encode($_POST[text])); // Escreve no arquivo da noticia as informações.
                
    fclose($Creat); // Fecha o arquivo

                
    echo'Noticia Adicionada com sucesso!'// Retorna mensagem de sucesso
            
    }
        }
        function 
    __construct() // Função que carrega todo código
        
    {
            if(empty(
    $_GET['showNotice']) && empty($_GET['addNotice'])) // Caso nenhum $_GET seja preenchido mostra a lista de noticias
            
    {
                
    $this->showAll(); // Carrega a função showAll()
            
    }
            elseif(
    $_GET['showNotice'] == TRUE// Se o $_GET['showNotice'] for igual a TRUE ele exibe a noticia que foi escolhida
            
    {
                
    $this->showNotice($_GET[notice]); // Carrega a função showNotice() pegando o $_GET da noticia que foi escolhida
            
    }
            else 
    // Caso nenhuma condição acima seja verdadeira executa o seguinte código
            
    {
                
    $this->addNotice(); // Executa a função addNotice()
            
    }
            echo 
    '<br /><a href="?addNotice=TRUE">Adicionar noticias</a>'// Link da página de adicionar noticias
        
    }
    }
    new 
    notice(); // Faz a execução do código
    ?>
    Créditos:
    14biss
    Última edição por 14biss; 30-11-2010 às 10:22 PM.

    break $this->Fuck();

  2. #2

    Avatar de Nerdzinhu
    Data de Ingresso
    Nov 2010
    Localização
    Meu quarto
    Idade
    21
    Posts
    90
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    8

    Padrão

    Impressionante , ainda não cheguei a estudar POO , mais irei atras...
    Utilizar classes e functions é otimo ,parabens!

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Dúvida| Erro ao criar banco de dados no plesk OVH
    Por Stronda no fórum Suporte | Dúvidas
    Respostas: 9
    Último Post: 30-08-2015, 12:44 PM
  2. |Suporte| BackUp de Banco De Dados.
    Por Mentor no fórum IPB | Pedidos
    Respostas: 6
    Último Post: 10-03-2013, 12:45 AM
  3. |Dúvida| Banco de dados access
    Por PhiL no fórum Flood Livre
    Respostas: 4
    Último Post: 09-03-2013, 11:50 PM
  4. |Suporte| Recuperação de banco de dados.
    Por mudestroyer no fórum IPB | Suporte|Dúvidas
    Respostas: 1
    Último Post: 01-03-2013, 08:14 PM
  5. |Pedido| Restaurar Banco de dados
    Por C. Henrique no fórum IPB | Pedidos
    Respostas: 8
    Último Post: 13-04-2012, 02:37 PM

Tags para este Tópico

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •