Criação de páginas com artigos php. PHP

2017-01-10


Criamos um site dinâmico com usando php

Olá caro visitante!

Hoje de pagina inicial com linguagem programação PHP crio página dinâmica, que será posteriormente formado no servidor com cada solicitação do usuário.

Assim, mudando a estrutura do site e preenchendo-o com as páginas alteradas, teremos um site dinâmico, que no futuro irá simplificar muito o seu suporte técnico e desenvolvimento em comparação com a versão estática.

  • Por que você precisa de um site dinâmico
  • Como converter um site estático em dinâmico
  • Formamos blocos de um site dinâmico
  • Converter uma página da web de estática em dinâmica
  • Arquivos fonte do site

Por que você precisa de um site dinâmico

Por que um site dinâmico é necessário foi discutido no início instruções passo a passo Para obter mais informações, consulte o artigo Instalando um servidor web local Denwer, que explica a necessidade de instalar um servidor web local. Portanto, você pode voltar e atualizar esta questão.

Além disso, se você precisar considerar mais os prós e os contras de sites estáticos e dinâmicos, você pode aconselhar a leitura nas páginas da referência online "Puzzleweb.ru" com a seção Tipos de sites, onde explicações sobre diferentes opções de sites são fornecidas de forma bastante sucinta, mas ao mesmo tempo.

captura de tela 12

A isso podemos apenas acrescentar que, para obter um recurso de Internet verdadeiramente completo, é impossível pular esta etapa e ficar com a opção de site estático.

Portanto, não iremos mais mergulhar em discussões teóricas sobre a necessidade de criar um site dinâmico, mas passaremos a considerar como faremos isso.

Como converter um site estático em dinâmico

Como você sabe, a diferença fundamental entre um site dinâmico e um estático é que em um site estático, as páginas prontas ficam no servidor e aguardam sua vez de serem enviadas para o navegador do usuário. Além disso, se as páginas tiverem diferenças mesmo insignificantes, digamos a diferença em apenas uma frase ou, em geral, em uma palavra, ainda serão páginas separadas.

Na versão dinâmica, a formação das páginas ocorre no servidor a cada solicitação do usuário, dependendo da informação solicitada.

De forma simples, pode ser comparado a um construtor, onde um grande número de formas diferentes podem ser feitas a partir de um número limitado de elementos. Além disso, se você fizer qualquer alteração em um dos elementos, isso será refletido em toda a estrutura, incluindo este elemento.

Com base nisso, faremos da página principal criada uma aparência de um construtor consistindo de certos elementos (no nosso caso, serão arquivos), a partir dos quais as páginas da web serão posteriormente montadas a pedido dos usuários.

Para explicar as etapas que realizaremos para isso, usaremos o código HTML do esqueleto da página principal obtido em uma das etapas de criação de um site no artigo.

  1. "utf-8" >

    <span><b>Título da página</b> </span>

    "Descrição" content \u003d "Resumo do conteúdo da página" >

  2. "embrulho" >

    Um boné

    Rotator

    Conteúdo principal

    Barra Lateral

    Porão

Como você pode ver no código HTML, o contêiner , projetado para acomodar a parte visível de uma página da web, contém os seguintes blocos principais:

  • Um boné;
  • Rotator;
  • Conteúdo principal;
  • Barra Lateral;
  • Porão.

Observe que quatro de cinco blocos são comuns e apenas um bloco de "Conteúdo Principal" será diferente para cada página.

Para obter os elementos de um site dinâmico, vamos extrair o conteúdo desses blocos em arquivos separados, que incluiremos posteriormente ao montar várias páginas da web a pedido dos usuários.

Agora, nesta fase, haverá apenas cinco desses arquivos. Porém, no futuro, ao adicionar páginas ou funcionalidades adicionais ao site, novos arquivos serão conectados, e assim por diante, conforme necessário.

Tal construção da estrutura do site permitirá, no futuro, não se envolver em trabalhos rotineiros de alteração do código HTML de todas as páginas em caso de substituição ou adição de qualquer fragmento comum a elas. Nesses casos, bastará fazer alterações apenas em um arquivo específico, e isso completará todo o procedimento de substituição. Como você pode ver, a vantagem é óbvia.

Mas para fazermos isso, precisamos da linguagem PHP, com a ajuda da qual as páginas da web poderão acessar esses blocos selecionados e transferir seus conteúdos para si mesmas.

Se alguém ainda não teve que lidar com a linguagem PHP, então é aconselhável conhecê-la melhor, pois o PHP é uma das ferramentas mais importantes para o desenvolvimento de sites. Isso pode ser feito usando todos os tipos de literatura de referência, que podem ser encontrados em grandes quantidades nos espaços abertos da Internet russa.

Como alternativa, a já mencionada referência "Puzzleweb.ru", em que uma de suas partes é dedicada ao tema PHP. Para um estudo mais aprofundado do PHP, você também pode usar um livro de referência especializado, aprimorado especificamente para esta linguagem, postado no site "php.ru". Clicando no link "https://php.ru/manual/control-structures.intro.html" você pode ir para sua página de "Introdução", de onde você pode facilmente selecionar qualquer seção do livro de referência que lhe interesse.

Mas para tornar um site dinâmico agora e fornecer a capacidade de conectar arquivos a páginas HTML, basta usar apenas uma instrução de idioma (em PHP, qualquer script consiste em uma sequência de instruções). Esta pode ser uma das quatro instruções possíveis para conectar arquivos:

  • incluir;
  • exigir;
  • include_once;
  • requer uma vez.

Não faz sentido descrever suas características aqui, já que isso é explicado em detalhes nos livros de referência, por exemplo, seguindo o link "http://www.puzzleweb.ru/php/26_inc_files.php" você pode descobrir isso bem.

Quando criarmos um site, usaremos a instrução "require_once", normalmente uso esta opção, para mim é a mais conveniente.

Bem, agora que descobrimos o que faremos, passaremos para as ações práticas.

Formando blocos de um site dinâmico

Para formar blocos, que então participarão da montagem de páginas da web, primeiro você precisa criá-los. Isso é feito no editor de texto Notepad ++ de forma semelhante a como criamos o primeiro arquivo do site "index.html" no artigo Crie uma página da web e hospede-a em um servidor da web local ... Apenas a extensão neste caso deve ser especificada não "html", mas "php". Nesse caso, é necessário prestar atenção à codificação para evitar o aparecimento de todo tipo de caracteres incompreensíveis nas páginas futuras.

Os arquivos serão criados em uma pasta separada de "blocos" recém-criada. Para arquivos que são comuns a todas as páginas, atribuímos nomes levando em consideração os nomes dos blocos correspondentes. E para o bloco "principal", indicaremos um nome específico para cada página do site.

Assim, para a página principal, incluiremos um arquivo chamado "block_glavnaya" no bloco "principal". Para o resto: "cabeçalho", "seção", "à parte" e "rodapé".

Na hora de criar arquivos, você também pode levar em consideração que para simplificar este procedimento, é possível copiá-los através do menu "Arquivo", especificando o novo nome do arquivo ao salvar "Salvar como".

Em geral, a criação de arquivos é um procedimento padrão, portanto, não deve haver dificuldades. No final das contas, deve ser assim.


Em seguida, copiaremos o conteúdo de cada bloco e o transferiremos para o arquivo apropriado. Vamos dar uma olhada no exemplo "header.php".

1. Abra o arquivo "index.html" no editor Notepad ++, selecione a área desejada do bloco "cabeçalho" e copie-o para a área de transferência pressionando alternadamente os botões direito e esquerdo do mouse.

Deve-se notar que aqui estamos copiando todo o conteúdo do bloco, exceto para o menu. Isso ocorre porque para refletir o botão de menu ativo nos atributos da tag

  • você precisa atribuir um valor para a classe da classe para cada página "activ" ... O mesmo se aplica a um fragmento semelhante no bloco "rodapé".

    No futuro, também moveremos esses fragmentos de menu nos blocos "cabeçalho" e "rodapé" em arquivos separados, mas por enquanto não vamos complicar as coisas e deixá-los no mesmo lugar.

    Como selecionar e copiar para a área de transferência um fragmento do bloco "cabeçalho" é mostrado na imagem abaixo.



    3. E finalmente, para deslocar o conteúdo do arquivo no Notepad ++ para o lado esquerdo, pressione o botão "Shift" várias vezes para pressionar "Tab". Como resultado, obteremos o arquivo gerado "header.php" no seguinte formulário.


    Faremos o mesmo para outros arquivos. Abaixo, as capturas de tela mostram como ficará seu conteúdo após a conclusão de todas as ações necessárias.


    Fig.6 Arquivo "section.php"


    Fig.7 Arquivo "block_glavnaya.php"


    Fig.8 Arquivo "aparte.php"


    Fig.9 Arquivo "footer.php"

    Assim, recebemos todos os arquivos para a criação de uma página dinâmica, e agora podemos ir diretamente ao seu código HTML.

    Converter uma página da web de estática em dinâmica

    Para garantir que nossa página principal carregue os arquivos que foram criados na seção anterior, você deve primeiro alterar a extensão do arquivo "index" de "html" para "php" e, em seguida, reabri-lo no Notepad ++ e fazer as seguintes alterações:

    • Exclua o conteúdo dos blocos que foram anteriormente transferidos para os arquivos recém-criados.
    • No espaço livre, escreva as instruções "require_once" em PHP com o caminho para os arquivos correspondentes.
    • Em tags de menu
    • , em que é indicado o caminho para as páginas, para a página principal, substitua a extensão de "html" por "php" e, para outras, especifique os nomes das páginas recém-criadas.
    • Indique no cabeçalho "Casa".

    Depois de concluir essas operações, nossa página principal deve ter esta aparência.


    Na captura de tela acima, você pode ver que todas as instruções do PHP estão destacadas com uma tag de abertura ... Esta notação é usada para indicar quando iniciar e parar o processamento do código escrito em PHP. Portanto, no futuro, todos os códigos PHP serão distinguidos por esta designação.

    Você também pode prestar atenção que os nomes das novas páginas são feitos levando em consideração a sua finalidade, para que a estrutura e o código do site sejam melhor percebidos.

    Este foi o fim de todas as nossas transformações. E agora, se abrirmos a página principal novamente no navegador, não devemos ver nenhuma alteração com a versão anterior do site, ela deve abrir da mesma forma que antes. Mas, se algo estiver errado como resultado, você precisará procurar o erro nas operações acima.

    Vamos atualizar o navegador agora e tentar abrir a página principal.


    Como você pode ver, no nosso caso, a página principal abriu sem problemas. Mas, ao contrário do trabalho anterior do site, a página adquiriu essa aparência em função de sua formação no servidor ao processar uma solicitação.

    Assim, agora nosso site possui a primeira página dinâmica. E depois de adicionar outras páginas semelhantes a ele, este site pode ser chamado de dinâmico com todas as consequências decorrentes, ou seja, terá todos os benefícios de sites dinâmicos. E poderemos ter certeza disso quando, no futuro, o preenchermos com vários tipos de funcionalidade.

    Isso conclui esta importante etapa de desenvolvimento do site e no próximo artigo vamos criar novas páginas dinâmicas para ele. Os códigos-fonte da última versão do site podem ser baixados, como de costume, no link no final do artigo.

    Arquivos fonte do site

    Os arquivos de origem do site com as atualizações feitas neste artigo podem ser baixados do anexo materiais adicionais.

    Olá! Agora tentaremos implementar o registro mais simples no site usando PHP + MySQL. Para fazer isso, você deve ter o Apache instalado em seu computador. Como nosso script funciona é mostrado abaixo.

    1. Vamos começar criando a placa do usuário no banco de dados... Ele conterá os dados do usuário (login e senha). Vamos para phpmyadmin (se você criar uma base em seu PC http: // localhost / phpmyadmin /) Crie uma mesa comercial, terá 3 campos.

    Eu crio no banco de dados mysql, você pode criar em outro banco de dados. A seguir, defina os valores como na imagem:

    2. É necessária uma conexão a esta tabela. Vamos criar um arquivo bd.php... Seu conteúdo:

    $ db \u003d mysql_connect ("seu servidor MySQL", "faça login neste servidor", "senha para este servidor");
    mysql_select_db ("nome do banco de dados ao qual estamos nos conectando", $ db);
    ?>

    No meu caso, é assim:

    $ db \u003d mysql_connect ("localhost", "usuário", "1234");
    mysql_select_db ("mysql", $ db);
    ?>

    Nós salvamos bd.php.
    Excelente! Temos uma tabela no banco de dados, uma conexão com ela. Agora você pode começar a criar uma página onde os usuários deixarão seus dados.

    3. Crie um arquivo reg.php com conteúdo (todos os comentários dentro):



    cadastro


    cadastro


















    4. Crie um arquivo, que irá inserir dados no banco de dados e salvar o usuário. save_user.php(comentários internos):



    {
    }
    // se o login e a senha forem inseridos, nós os processamos para que as tags e os scripts não funcionem, você nunca sabe o que as pessoas podem inserir


    // remove os espaços extras
    $ login \u003d trim ($ login);
    $ senha \u003d trim ($ senha);
    // conectar ao banco de dados
    // verifique a existência de um usuário com o mesmo login
    $ result \u003d mysql_query ("SELECT id FROM users WHERE login \u003d" $ login "", $ db);
    if (! empty ($ myrow ["id"])) (
    exit ("Desculpe, o nome de usuário que você digitou já está registrado. Digite outro nome de usuário.");
    }
    // se não, salve os dados
    $ result2 \u003d mysql_query ("INSERT INTO usuários (login, senha) VALUES (" $ login "," $ senha ")");
    // Verifique se há algum erro
    if ($ result2 \u003d\u003d "TRUE")
    {
    echo "Você se registrou com sucesso! Agora você pode entrar no site. Página inicial";
    }
    outro (
    echo "Erro! Você não está registrado.";
    }
    ?>

    5. Agora nossos usuários podem se registrar! Em seguida, você precisa fazer uma “porta” de entrada no site para usuários já cadastrados. index.php (comentários internos):

    // todo o procedimento funciona em sessões. É nele que os dados do usuário são armazenados enquanto ele está no site. É muito importante executá-los logo no início da página !!!
    session_start ();
    ?>


    Pagina inicial


    Pagina inicial











    Registrar agora



    // Verifique se as variáveis \u200b\u200bde login e id de usuário estão vazias
    if (vazio ($ _ SESSION ["login"]) ou vazio ($ _ SESSION ["id"]))
    {
    // Se estiver vazio, não exibimos o link
    echo "Você está logado como convidado
    Este link está disponível apenas para usuários registrados ";
    }
    outro
    {

    No arquivo index.php exibiremos um link que será aberto apenas para usuários registrados. Este é o objetivo do script - restringir o acesso a quaisquer dados.

    6. Existe um arquivo com a verificação do nome de usuário e senha inseridos. testreg.php (comentários dentro):

    session_start (); // todo o procedimento funciona em sessões. É nele que os dados do usuário ficam armazenados enquanto ele está no site. É muito importante executá-los logo no início da página !!!
    if (isset ($ _ POST ["login"])) ($ login \u003d $ _POST ["login"]; if ($ login \u003d\u003d "") (unset ($ login);)) // insira o login inserido pelo usuário em variável $ login, se estiver vazia, destruímos a variável
    if (isset ($ _ POST ["password"])) ($ password \u003d $ _ POST ["password"]; if ($ password \u003d\u003d "") (unset ($ password);))
    // coloque a senha inserida pelo usuário na variável $ password, se estiver vazia, destrua a variável
    if (vazio ($ login) ou vazio ($ senha)) // se o usuário não inseriu o login ou a senha, emitimos um erro e interrompemos o script
    {
    exit ("Você não inseriu todas as informações, volte e preencha todos os campos!");
    }
    // se o login e a senha forem inseridos, nós os processamos para que as tags e os scripts não funcionem, você nunca sabe o que as pessoas podem inserir
    $ login \u003d stripslashes ($ login);
    $ login \u003d htmlspecialchars ($ login);
    $ senha \u003d stripslashes ($ senha);
    $ senha \u003d htmlspecialchars ($ senha);
    // remove os espaços extras
    $ login \u003d trim ($ login);
    $ senha \u003d trim ($ senha);
    // conectar ao banco de dados
    include ("bd.php"); // o arquivo bd.php deve estar na mesma pasta que todos os outros, se não estiver, basta alterar o caminho

    $ result \u003d mysql_query ("SELECT * FROM users WHERE login \u003d" $ login "", $ db); // recupera do banco de dados todos os dados sobre o usuário com o login inserido
    $ myrow \u003d mysql_fetch_array ($ result);
    if (vazio ($ myrow ["senha"]))
    {
    // se o usuário com o login inserido não existir
    }
    outro (
    // se existe, então verifique as senhas
    if ($ myrow ["senha"] \u003d\u003d $ senha) (
    // se as senhas forem iguais, inicie a sessão do usuário! Você pode parabenizá-lo, ele entrou!
    $ _SESSION ["login"] \u003d $ myrow ["login"];
    $ _SESSION ["id"] \u003d $ myrow ["id"]; // estes dados são usados \u200b\u200bcom freqüência, então o usuário conectado irá "carregar com ele"
    echo "Você entrou no site com sucesso! Página inicial";
    }
    outro (
    // se as senhas não corresponderem

    Sair ("Desculpe, o login que você digitou ou a senha está incorreta.");
    }
    }
    ?>

    Bom, isso é tudo! A lição pode ser entediante, mas muito útil. Aqui apenas a ideia de registro é mostrada, então você pode melhorá-la: adicionar proteção, design, campos de dados, upload de avatares, logout de sua conta (para isso, basta destruir as variáveis \u200b\u200bda sessão com a função não definido) etc. Boa sorte!

    Verifiquei tudo, funciona bem!

    O exemplo mais simples de um site dinâmico em PHP, é mais fácil do que parece inicialmente.

    Este modelo de exemplo funciona sem bancos de dados MSQL, mas isso é resolvido durante o processo de desenvolvimento e, neste estágio, tudo é escrito em HTML e PHP. No futuro, um exemplo de um template mais complexo será mostrado, mas por enquanto vamos nos concentrar em um simples, que é o suficiente para criar um excelente site.

    Se você precisa criar e promover um site sob encomenda, deve entrar em contato com um estúdio da web confiável para promoção do site.

    Primeiro, você precisa aprender e entender as diferenças entre a dinâmica e um site html simples, que foi descrito na última lição e com base no qual este projeto será construído. Por isso é aconselhável estudar, pois assim será muito fácil entender este artigo.

    E a diferença de um simples site está justamente na rapidez do atendimento! Quem já conhece um site HTML simples sabe que para trocar um banner é preciso percorrer todo o site, cada página ... o que leva muito tempo. E na dinâmica - tudo pode ser feito em poucos minutos, independente de quantas páginas o site tenha, no mínimo 1000, isso não afeta o tempo de edição! Acho que até isso é o suficiente para estudar esse exemplo!

    Por exemplo, vamos pegar um modelo de site escrito usando a tag

    E então, veja um exemplo de página de modelo regular, que iremos cortar em arquivos separados.


































    - haverá um corte e o conteúdo será um arquivo separado -



    Preenchimento do site





    - tudo abaixo também será um arquivo separado -

















    inserir lindo
    menu para o site








































    Corte de HTML - template em blocos PHP.

    O primeiro arquivo conterá todo o cabeçalho do site, até a abertura do bloco

    e será chamado de header, e sempre com a extensão php !!!


































    E o nome do arquivo será header.php


    O segundo arquivo será o principal, contendo todo o conteúdo do site - conteúdo que não mudará no futuro, ou muito raramente. O artigo geralmente é postado uma vez e as alterações em uma página não são problemáticas. Os demais arquivos responsáveis \u200b\u200bpelo projeto serão conectados a ele. E será chamado, por exemplo - title.php



    Preenchimento do site



    - haverá um corte, o conteúdo também será um arquivo separado -



    E o nome do arquivo será title.php


    Todo o resto - o bloco da barra lateral esquerda e rodapé, formamos no terceiro arquivo - footer.php.




    - tudo abaixo também será um arquivo separado -

















    inserir lindo
    menu para o site








































    e o nome do arquivo será footer.php


    Agora você pode começar a montar nosso site como um construtor e entender todo o mistério da criação de um site dinâmico. Para isso, é necessário conectar dois arquivos ao arquivo principal, responsável pelo design e que contém a barra lateral esquerda. É aqui que precisamos de conhecimentos básicos de PHP, sem os quais nada acontece. E para isso você precisa usar a função require já conhecida por nós.




    - conexão do arquivo header.php



    Preenchimento do site








    - conectando o arquivo footer.php


    E agora nossa página está montada! E este arquivo - title.php será o modelo a partir do qual as novas páginas serão formadas.
    E vamos criar o principal, cujo nome será index.php. Para isso, basta copiar o arquivo title.php e, ao salvá-lo na mesma pasta, dar o nome index.php. E todas as novas páginas são criadas de acordo com o mesmo princípio. Só o recheio será excelente, todo o resto será comum a eles, e será fácil ceder às mudanças instantâneas !!!

    E não importa qual programa abra seus arquivos php, eu tenho o programa PHP Expert Editor instalado, através do qual é muito conveniente recodificar as páginas, deve ficar como na imagem. São necessários dois arquivos e três páginas.

    E então você pode adicionar suas próprias alterações, dependendo do que você deseja do seu site. Por exemplo, se você inserir uma variável que exibirá o título de cada página separadamente,
    então você precisa adicionar este código ao seu arquivo header.php




    <?php echo «$title»; ?>


    E adicione o código ao modelo, que conterá seu nome de página exclusivo, que é necessário para o correto.






    $ title \u003d ’Um exemplo de site dinâmico em PHP. ';


    requer 'header.php';


    ?>



    Preenchimento do site



    Aqui você pode escrever o que quiser e inserir qualquer informação,


    destinado ao visitante.






    Gostaria de chamar sua atenção para um ponto muito importante. Isso se aplica ao desenvolvimento de um site de qualquer complexidade - antes de criar um novo projeto, defina com muito cuidado e clareza todas as funções futuras do projeto. Por exemplo, se houver um blog, você precisará de um bloco de comentários e, para isso, deverá inserir uma variável que determinará o endereço único da página, etc. Em uma palavra, você precisa pensar sobre o geral antes ... porque depois disso haverá muitas falhas que levarão um tempo muito longo e doloroso para serem consertadas, e este conselho se aplica tanto a sites simples quanto a projetos complexos construídos em um mecanismo supernovo!

    Para criar um site promissor, expansível e eficaz de qualquer complexidade, você deve começar pelo simples. Este não é um processo fácil, requer alguns conhecimentos básicos de PHP e MySQL, mas se você considerar ponto a ponto, pode traçar uma espécie de "plano de trabalho" que será útil na criação de novos sites. Vamos preparar o "núcleo" e a base do projeto. No início, será um site de cartão de visita normal, mas depois, ao adicionar funcionalidade, você poderá transformá-lo em qualquer coisa. Então vamos começar.

    1. Preparando o banco de dados. Crie a primeira tabela no banco de dados MySQL

    Criamos um novo banco de dados, por exemplo "meusite". Pessoalmente, estou acostumado a trabalhar com codificação UTF-8, então farei uma reserva de uma vez: certifique-se de que todos os arquivos de texto do site, a própria base, tabelas e campos de tabelas estejam na mesma codificação.
    Fazemos uma tabela no novo banco de dados. Vamos chamá-lo de "páginas". Esta tabela armazenará páginas estáticas do futuro site e informações sobre eles. A tabela deve conter os seguintes campos:

    • page_id - identificador de página (SMALLINT, chave primária, auto_increment);
    • page_alias - alias de página para a linha de endereço CNC (VARCHAR, 255);
    • page_title - título da página na janela do navegador (VARCHAR, 255);
    • page_meta_d - meta descrição da página para a tag de meta descrição (VARCHAR, 255);
    • page_meta_k - palavras-chave meta para a tag de palavras-chave meta (VARCHAR, 255);
    • page_h1 - título da página (VARCHAR, 255);
    • page_s_desc - uma breve descrição do material, por exemplo, se os materiais do site estão na forma de um blog (TEXTO);
    • page_content - o texto principal da página, que será exibido na coluna central do site (TEXTO);
    • page_publish - contém "Y" - se a página for publicada, ou "N" - se estiver oculta (CHAR, por padrão "Y").

    Imediatamente após criar a tabela, insira nela os valores da página principal do site. No campo "page_alias" da página principal, sugiro inserir o valor "home". Meta tags - de acordo com o tema de todo o site. Da mesma forma, você pode criar outras páginas, por exemplo "Sobre a empresa" com o alias "sobre" e suas próprias metatags, ou "Contatos" com o alias "contatos", etc.

    2. Crie um arquivo de configuração do site

    Na pasta raiz do site, que deve estar vazia nesta fase, crie uma pasta "cfg", nela, usando .htaccess, feche o acesso pela diretiva "deny from all". Crie um arquivo core.php com o seguinte conteúdo:

    // MYSQL
    classe MyDB
    {
    var $ dblogin \u003d "root"; // SEU LOGIN PARA O BANCO DE DADOS
    var $ dbpass \u003d ""; // SUA SENHA DO BANCO DE DADOS
    var $ db \u003d "meusite"; // NOME DA BASE DO SITE
    var $ dbhost \u003d "localhost";

    Var $ link;
    var $ query;
    var $ err;
    var $ result;
    var $ data;
    var $ fetch;

    Função conectar () (
    $ this-\u003e link \u003d mysql_connect ($ this-\u003e dbhost, $ this-\u003e dblogin, $ this-\u003e dbpass);
    mysql_select_db ($ this-\u003e db);
    mysql_query ("SET NAMES utf8");
    }

    Função close () (
    mysql_close ($ this-\u003e link);
    }

    Função executada ($ query) (
    $ this-\u003e query \u003d $ query;
    $ this-\u003e result \u003d mysql_query ($ this-\u003e query, $ this-\u003e link);
    $ this-\u003e err \u003d mysql_error ();
    }
    função linha () (
    $ this-\u003e data \u003d mysql_fetch_assoc ($ this-\u003e result);
    }
    function fetch () (
    while ($ this-\u003e data \u003d mysql_fetch_assoc ($ this-\u003e result)) (
    $ this-\u003e fetch \u003d $ this-\u003e data;
    return $ this-\u003e fetch;
    }
    }
    função stop () (
    não definido ($ this-\u003e dados);
    não definido ($ this-\u003e resultado);
    unset ($ this-\u003e fetch);
    unset ($ this-\u003e err);
    unset ($ this-\u003e query);
    }
    }

    Este arquivo até agora contém apenas uma classe simples para conexão com o banco de dados, mas no futuro você pode adicionar várias funções úteis a ele que estarão disponíveis em qualquer lugar no código do site. Não se esqueça de alterar o nome de usuário e a senha do seu banco de dados.

    Se você estiver trabalhando em um ambiente Windows, recomendo o uso de um editor. Este editor possui numeração de linhas e traduz facilmente o texto de uma codificação para outra. ATENÇÃO! Se você trabalha com codificação UTF-8 - converta arquivos para UTF-8 sem BOM - isso ajudará a evitar problemas no futuro.

    3. Crie index.php - o controlador do site principal

    O arquivo de configuração foi criado. Agora, na pasta raiz do site, crie index.php - este será o script principal do site, uma espécie de "controlador principal". Conteúdo do arquivo index.php:

    define ("INDEX", ""); // DEFINA A CONSTANTE DO CONTROLADOR PRINCIPAL

    Require_once ($ _ SERVER. "/ Cfg / core.php"); // CONECTANDO O NÚCLEO

    // CONECTANDO-SE AO BD
    $ db \u003d novo MyDB ();
    $ db-\u003e conectar ();

    // CONTROLADOR PRINCIPAL
    switch ($ _GET) (
    caso "página":
    incluir ($ _ SERVER. "/ com / page.php");
    quebrar;
    padrão:
    incluir ($ _ SERVER. "/ com / home.php");
    quebrar;
    }

    Incluir ($ _SERVER. "/ Template.php");
    $ db-\u003e close ();

    A variável $ _GET dirá ao controlador principal qual componente do site carregar quando solicitado. Agora nosso site oferece apenas dois componentes: "página" e "página inicial" (em princípio, você pode fazer com um componente de exibição de uma página normal, mas muitas vezes a aparência da página principal do site difere das páginas normais de itens de menu). A lógica do controlador principal é a seguinte: o nome do componente requerido é extraído da string da URL (o valor da variável $ option), dependendo de seu valor, o arquivo do próprio componente é conectado (contido na pasta / com). O arquivo do componente realiza todo o trabalho necessário, extrai do banco de dados e os grava em variáveis \u200b\u200bpara transferência para o modelo de design. No final, o arquivo de design do site é conectado, para o qual todas as variáveis \u200b\u200be dados extraídos nos componentes são transferidos. Isso parece muito mais difícil do que funciona.

    4. Crie um componente de saída para uma página normal

    Na raiz do site, crie uma pasta "com" - ela armazenará os arquivos de componentes. Um componente do site, no meu entendimento, é um arquivo no qual os dados são processados \u200b\u200bpara diferentes seções do site. Por exemplo, um componente de uma página regular extrai o título, a descrição e o texto do material do banco de dados e os grava nas variáveis \u200b\u200b$ title, $ meta_d, $ meta_k, $ content, etc. Esses dados são então transferidos para o modelo de design (para cada componente você pode criar seu próprio modelo de design ) e exibido para o usuário como uma página HTML. Por exemplo, um componente de catálogo que pode ser criado no futuro faria quase a mesma coisa, mas com dados sobre mercadorias - e há recursos específicos, outros campos na tabela, etc. Portanto, para cada seção funcional do site, vale a pena criar um componente separado. No esquema MVC (Model-View-Controller), o componente atua como um modelo.

    Crie um arquivo “page.php” na pasta “com”. O conteúdo do arquivo é o seguinte:

    / * COMPONENTE DE PÁGINA * /
    $ alias \u003d $ _GET;
    $ query \u003d "SELECT * FROM pages WHERE page_alias \u003d" ". $ alias." "AND page_publish \u003d" Y "LIMIT 1";
    $ db-\u003e run ($ query);
    $ db-\u003e row ();
    // VARIÁVEIS DE COMPONENTES
    $ id \u003d $ db-\u003e dados;
    $ alias \u003d $ db-\u003e dados;
    $ title \u003d $ db-\u003e dados;
    $ h1 \u003d $ db-\u003e dados;
    $ meta_d \u003d $ db-\u003e dados;
    $ meta_k \u003d $ db-\u003e dados;
    $ s_desc \u003d $ db-\u003e dados;
    $ componente \u003d $ db-\u003e dados;
    // SE A PÁGINA NÃO EXISTIR
    if (! $ id) (
    cabeçalho ("HTTP / 1.1 404 Not Found");
    $ component \u003d "ERROR 404! Esta página não existe";
    }
    $ db-\u003e stop ();

    5. Crie o componente de exibição da página principal

    A página principal de nosso banco de dados é armazenada sob o pseudônimo "home", e até agora em sua estrutura não difere das páginas normais do site - trata-se apenas de um artigo. No entanto, criaremos um componente separado para ele - para o futuro, por assim dizer.


    O conteúdo do componente "home.php" na pasta "com" é quase o mesmo que o conteúdo de um componente de página regular, exceto pela string de consulta à base e o nome do componente. A string de consulta agora se parece com isto:

    $ query \u003d "SELECT * FROM wx_pages WHERE page_alias \u003d" home "LIMIT 1";

    6. Crie um modelo de design para todo o site

    Na raiz do site, crie um arquivo template.php. Este é essencialmente um layout de design web HTML + CSS normal, apenas com variáveis \u200b\u200bPHP nos lugares certos. Inserir entre tags de título, na coluna central do site existe um encarte e assim, em todo o modelo, organizamos as variáveis \u200b\u200bnecessárias que são declaradas nos componentes.

    A pasta raiz também deve conter as pastas "css" e "imagens" para os elementos de design. No arquivo /css/style.css - você pode personalizar os estilos ao seu gosto.

    7. Limpe os links e o arquivo .htaccess

    Para criar links limpos, eu uso o mod_rewrite com instruções diretas para regras para cada componente separadamente, uma vez que considero a análise da barra de endereço usando o próprio controlador uma funcionalidade redundante. O conteúdo do Htaccess nesta fase é:


    RewriteEngine On
    RewriteBase /

    RewriteCond% (REQUEST_FILENAME)! -D
    RewriteCond% (REQUEST_FILENAME)! -F

    # ARQUIVOS PROIBIDOS
    RewriteRule .htaccess - [F]
    RewriteRule template.php - [F]

    # RULES mod_rewrite
    RewriteRule page / (+) ([\\ /] (0,1)) \\. Htm $ index.php? Option \u003d page & alias \u003d $ 1 [L]

    No futuro, iremos adicionar regras para os componentes de pesquisa, catálogo, artigos de blog, etc. Há apenas um ponto: converter links como “mysite.com/index.php?option\u003dpages&alias\u003dabout” em um link como “mysite.com/pages/about.htm” parece muito bom. Tente evitar e confiar no array $ _GET em seu projeto por razões de segurança. É aconselhável armazenar nele apenas os parâmetros do controlador principal (variável $ option) e do componente (variável $ alias).

    Além disso, em cada pasta do site "por precaução" crie um arquivo index.html vazio - isso é necessário para que nada seja exibido ao acessar o diretório através da barra de endereços.

    Tags: php, mysql, site engine, controller, site creation, mvc

    Existe um grande número de sites na Internet. Todos esses sites podem ser divididos em dois tipos: estáticos e dinâmicos. Hoje vamos falar sobre a criação de páginas dinâmicas, mas primeiro gostaria de dizer o que é um site (página) estático e dinâmico.

    Sites estáticos

    Os sites estáticos são compostos de páginas da web estáticas. Isso significa que não importa o que o usuário faça, a página sempre terá a mesma aparência. Essas páginas são armazenadas no servidor como documentos HTML. As páginas estáticas são feitas manualmente. Se você precisar alterar o conteúdo de uma página, deverá editar o código HTML de cada página.

    Vantagens:

    • Simplicidade e baixo custo de criação, pouco exigentes para os recursos de hardware;

    Desvantagens:

    • Edição de conteúdo demorada;
    • Uso impróprio em grandes projetos.

    Sites dinâmicos

    Os sites dinâmicos são constituídos por páginas da web dinâmicas que podem responder às entradas e mudanças do usuário. Essas páginas são geradas por um servidor web a partir de vários arquivos (modelos). Todas as informações são armazenadas em um banco de dados. Quando o usuário solicita uma página, as informações correspondentes são recuperadas do banco de dados, inseridas no template, formando uma página web, e enviadas pelo servidor web ao navegador do usuário. Assim, ao atualizar o conteúdo do site, basta adicionar o texto da nova página, que é então inserida no banco de dados por meio de um determinado mecanismo.

    Vantagens:

    • A gestão do conteúdo é realizada através de formulários especiais onde pode facilmente adicionar, editar e apagar informação;
    • Máxima eficiência ao adicionar novos conteúdos ao site;
    • Ao adicionar ou editar conteúdo, nenhum conhecimento especial de domínio da web é necessário (HTML, CSS);
    • A capacidade de criar grandes projetos multifuncionais;
    • Ótimas oportunidades de promoção.

    Desvantagens:

    • Alto custo de criação e manutenção;
    • Você precisa ter o conhecimento adequado para manter o desempenho do site.

    Agora acho que você entende qual é a melhor forma de criar um site usando páginas dinâmicas. é a escolha melhor e mais conveniente. Agora vamos falar sobre a criação de páginas dinâmicas.

    Links simples

    Antes de aprender PHP, acho que você já deve saber HTML e, claro, criar hiperlinks. Eu gostaria de lembrá-lo:

    $ link \u003d "exemplo.php"; impressão "<а href = \"$link\">Um exemplo de hiperlink dinâmico.
    \\ n "

    É tão fácil criar um hiperlink dinâmico usando php.

    O processo de criação de página dinâmica

    O processo de criação de uma página dinâmica consiste em várias etapas:

    Vamos fazer a moldura da página. Vamos nomear a página index.php - ela consistirá em partes: cabeçalho, rodapé, menu esquerdo (menu esquerdo). Neste exemplo, vou mostrar como uma página é organizada com base em tabelas, mas você também pode usar um layout de bloco.

    1. Nós formamos o arquivo header.php.

    Página dinâmica em PHP.

    Cabeçalho do site


    2. Nós formamos o arquivo leftmenu.php.

    • Link 1
    • Link 2
    • Link 3
    • Link 4
    • Link 5

    3. Forme o arquivo footer.php.

    Rodapé do site




    Crie uma pasta chamada modeloem que copiar os arquivos recebidos. Se precisar editar o cabeçalho, menu esquerdo ou rodapé do site, você saberá que os templates para essas partes do site estão nesta pasta.

    Vamos conectar os arquivos recebidos (modelos) ao site usando a instrução include usando o exemplo da página index.php.

    Olá!

    Esta é a primeira página PHP dinâmica.

    É assim que a página index.php é uma página dinâmica, ela será formada a partir de vários arquivos (templates). Qualquer número desses modelos pode ser feito. Se você precisar alterar qualquer parte do site, apenas encontre o arquivo de modelo necessário e edite-o.

    Isso conclui a criação de páginas dinâmicas. Acho que você entende o significado e a praticidade de sites dinâmicos e, com base no meu exemplo, pode criar um grande projeto. E não se esqueça de comentar seu código - isso é muito importante, amigos! Boa sorte para você!

    P.S. Pequenas mudanças de 06/07/2019:

    Como a programação sempre se desenvolve, portanto, ela deve se desenvolver na velocidade da luz. O layout da tabela mostrado acima é hoje pouco usado na prática e é necessário apenas para o aprendizado de programadores novatos.

    Se você deseja criar sites novos e eficazes, recomendamos o uso de um layout de bloco em vez de um layout de tabela. Vamos olhar mais de perto.

    As tabelas são projetadas especificamente para exibir dados tabulares, não para marcar os elementos da página. O que está na mesa:

    texto

    pode ser apresentado na forma de um layout de bloco (div):

    texto

    ocupa muito menos espaço em disco.

    Considere as vantagens de um layout de bloco em relação a um layout tabular:

    1. Uma redução significativa no tamanho da página, geralmente de 2 a 3 vezes, o que reduz significativamente o tempo de carregamento de um site. Ao mesmo tempo, o tamanho do -file aumentará um pouco, mas devido ao fato de que é armazenado em cache uma vez pelo navegador do usuário e, ao acessar outras páginas, é lido de seu computador, como resultado, o site é carregado muito mais rápido que o tabular.
    2. É muito mais conveniente alterar o design das páginas do site renderizadas em um arquivo CSS. Ao mesmo tempo, praticamente não há necessidade de editar o código.
    3. Graças às possibilidades de layout de blocos, é possível garantir que o conteúdo principal da página entre primeiro no código e só depois no cabeçalho, nas colunas esquerda e / ou direita. A aparência da página não mudará em nada.
    4. A transparência do código da página de bloqueio é visualmente agradável - não há montes de tags, tudo é muito bonito e compacto.