Desenvolvimento de PHP orientado por dados moderno com Bootstrap, GitHub e Heroku | Trevoir Williams | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Desenvolvimento de PHP orientado por dados moderno com Bootstrap, GitHub e Heroku

teacher avatar Trevoir Williams, Jamaican Software Engineer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      5:54

    • 2.

      Configuração de projetos e sites

      20:52

    • 3.

      Crie um formulário de Bootstrap 4

      28:22

    • 4.

      Formulário de PHP - $GET

      23:14

    • 5.

      Formulário de PHP - $POST

      10:49

    • 6.

      Design de banco com phpMyAdmin

      19:02

    • 7.

      Conecte com banco banco de dados usando PHP PDA

      18:20

    • 8.

      Save de registros no banco para banco para os bancos de dados

      37:55

    • 9.

      Visualize registros de banco de dados com PHP PDA

      35:38

    • 10.

      Confira um resumo no MySQL in no PHP PDA

      27:55

    • 11.

      Atualize os registros de banco de banco de banco no PHP Pde

      33:41

    • 12.

      Applicar registros de banco de banco web usando PHP PDA

      10:58

    • 13.

      Touchs finais: Validação de forma, Mensagens de erros e mensagens de sucesso

      16:41

    • 14.

      Faça um upload do aplicativo no GitHub

      5:39

    • 15.

      Crie o Heroku e Databas de baixo para o banco de dados

      20:39

    • 16.

      Configurar a tabela de banco de baixo no PHP e lógica

      20:05

    • 17.

      Configurar o usuário no PHP

      28:59

    • 18.

      Controlar o usuário em um aplicativo de PHP

      8:20

    • 19.

      Enviar e-mails usando o SendGrid para PHP

      31:03

    • 20.

      Upload de fotos de perfil

      30:48

    • 21.

      Toques finais

      14:18

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

170

Estudantes

--

Projeto

Sobre este curso

Este curso foi elaborado para equipar com as habilidades necessárias para criar aplicativos de condução de de de dados usando PHP e MySQL. Se você não estiver familiarizado com PHP, enroll e conclua o desenvolvimento de moderno com PHP, GitHub e enroll para aprender noções básicos.

PHP foi criado para tornar o desenvolvimento web mais fácil e muitos iniciantes encontrar um pouco esforço para pegar e começar com começar. Na verdade, o código de PHP foi fácil de de pegar, muitos não programadores de programação para escrever o aplicativo de PHP em poucos tempo!

As cinco principais razões para aprender PHP são:

  1. Friendliness para iniciantes

  2. Projetados

  3. Comunidade de suporte ativo

  4. Oportunidades de carreira

  5. Futuro

Este curso é prático e vai equipar você com com o máximo você de você para criar uma aplicação web de forma de funcionais, adicioná-lo ao

Linguagens e tecnologias utilizadas:

  • PHP (HyperText ) - linguagem de programação para servidor

  • HTML e CSS - idiomas padrão

  • Visual Studio (com extensões) - ferramenta de desenvolvimento ou IDE

  • XAMPP - para facilitar o Apache e MySQL Servers

  • PhpMyAdmin - ferramenta de gerenciamento no MySQL

  • GitHub - para o controle de fonte

  • Heroku - Para o site de publishing de gratuito

NÃO curso no mercado pode equipar você com essas habilidades. Level agora e faça a parte do clube de desenvolvedores em PHP

No final deste curso, você deve poder ser capaz para:

  • Crie uma aplicação web totalmente orientada em dados

  • Entender o fluxo de aplicativos no PHP

  • Crie e gerencie bancos de dados

  • Crie consultas em PHP/MySQL com PDO.

  • Configurar a autenticação e autorização

  • Use a estrutura de CSS do Bootstrap 4

  • Use JQuery e JQueryUI

  • Use o visual no Visual Studio

  • Implante com a Heroku

  • Gerencie projetos com GitHub

Conheça seu professor

Teacher Profile Image

Trevoir Williams

Jamaican Software Engineer

Professor
Level: All Levels

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Ei pessoal, bem-vindos a este novo curso excitante, desenvolvimento web aplicado com a BHB. Sou seu instrutor de guerra Williams. Neste curso, você estará aprendendo os fundamentos do desenvolvimento de aplicações web usando HTML, CSS, PHP, servidor Apache e ferramentas de hospedagem como Heroku e painel C. Claro que tudo isso não estaria completo sem amarrá-lo com um banco de dados MySQL para que possamos ter um aplicativo web totalmente dinâmico e orientado a dados. No final deste curso, você deve ser capaz de realizar o desenvolvimento web básico com configuração HTML e CSS como servidor XAMPP, entender o papel do PHP em aplicações web. Construa um banco de dados MySQL usando PHP, meu administrador, e tudo isso ajudaria você a construir uma aplicação web orientada por dados e dinâmica. Nós vamos estar olhando para PHP PDO e como estilo ou aplicação usando o bootstrap framework CSS mais popular. Em última análise, gostaríamos de incorporar o uso do controle de fonte através do github dos EUA e, finalmente, hospedar nosso aplicativo web no Heroku. A maioria dos outros cursos lhe ensinarão como entender o PHP, difícil de fazer o básico do PHP, mas eles realmente não mostram esse processo de entrada e desenvolvimento. E é isso que esperamos conseguir neste curso. No final deste curso, você deve ser capacitado e equipado com todas as ferramentas que você precisa para construir qualquer aplicativo que é solicitado, você sabe, antes de ir muito mais longe, eu quero que nós para tomar os próximos minutos para compreender as ferramentas que usaremos e como exatamente elas funcionam em todo o ecossistema de desenvolvimento web. Agora vamos começar com PHP. O PHP é uma linguagem de script web de código aberto que é usada principalmente para coisas do lado do serviço. E é abreviação de Hypertext, Preprocessor ou homepage pessoal. Cada B é projetado para ser totalmente incorporado em HTML e manipular HTML como você o desenvolvedor. Então desertos. Se você tem alguma exposição a quaisquer outras linguagens de programação como C plus, plus, C Sharp ou Java, então você vai descobrir que é muito familiar trabalhar com PHP. Se esta é a sua primeira vez trabalhando com qualquer linguagem de programação, então isso é finalmente porque vamos começar do zero. O próximo item de ticket grande seria o servidor XAMPP. E XAMPP é realmente abreviado para, bem, o X realmente significa qualquer ambiente. A base do servidor XAMPP é realmente o que chamamos de pilha de lâmpadas, que é AMP. E o L realmente significa Linux, Apache, MySQL e PHP ou Perl. Então zumbis realmente apenas uma adoção dos grumos preso em outros sistemas operacionais, como Windows e macOS. Uma vez que o L significa Linux, e é o ambiente de desenvolvimento PHP mais popular. É um balcão único. Você instalou o XAMPP e, em seguida, você obtém o servidor Apache, que é necessário para hospedar o código PHP. Você obtém MySQL, que é um servidor de banco de dados, e você obtém todas as bibliotecas necessárias para PHP e well pearl, mas nós estaremos fazendo PHP, então vamos nos concentrar nas bibliotecas PHP. E, mais recentemente, o m também significa Maria DB, que é um spin-off do mecanismo de banco de dados MySQL mais popular. Agora, aqui vamos dar uma olhada rápida em como HTML e CSS e PHP serão parecidos. Bem, este trecho de código não tem CSS ainda. Mas lá você vê que você tem algum HTML, que é o texto preto. Então você tem as tags PHP que foram anteriormente aludidas e algum cabo que iria imprimir algum texto dentro de uma página HTML. Tradicionalmente páginas HTML têm o ponto de extensão HTML ou ponto HTM. Quando estamos usando PHP, esses arquivos terão a extensão dot PHP. E as tags PHP só funcionarão em arquivos PHP dot. Mas à medida que avançarmos e entrarmos em mais desenvolvimentos do então você verá como isso funciona. Agora, a cada passo da maneira que queremos acompanhar nosso progresso e vamos fazer isso usando o controle de fonte e mais especificamente através do GitHub. Github são por extensão no controle de código-fonte que permite que você acompanhe alterações em seu projeto, colabore com membros da equipe. Se você tiver que trabalhar em uma configuração de equipe em vez de copiar e colar problemas de código, faça upload para um local central onde todos tenham acesso a todas as suas alterações. Também podemos gerenciar a documentação do projeto centralmente. Então do grande GitHub é provavelmente a ferramenta de controle de código fonte mais popular e também livre que está na Internet e é amplamente acessível, amplamente disponível para todos. E mais uma vez, é grátis. A última coisa que eu queria mencionar é Heroku, que nos permite implantar aplicativos web PHP em minutos. E podemos hospedar o aplicativo web, bem como o banco de dados, tudo em Heroku. Nós também estaremos olhando para usar as rotas mais tradicionais, que é o painel C. Eu não aludi a isso aqui, mas à medida que entrarmos no curso, veremos como essas ferramentas são valiosas. Mais uma vez, temos uma emocionante jornada pela frente e espero que fique por perto e espero que se aplique. No final deste curso, você deve ser capaz de assumir qualquer desafio que venha para você no desenvolvimento de aplicações web PHP. 2. Configuração de projetos e sites: Não começando do zero em diante Não deliberadamente não mostrei uma prévia de qualquer coisa que está por vir porque eu quero que nós estejamos nesta jornada juntos em que todos nós podemos trabalhar para , em seguida, sentar como envolve. Sei que somos nós que estamos realizando tudo isso. Então, a primeira coisa que queremos fazer é encontrar a nossa pasta de servidor tendo já instalado alguns em nós vamos toe ver encaixes zump HD em. Em seguida, criamos uma nova pasta dentro desta pasta. Então, cada vez que temos um novo site ou um novo aplicativo Web que vamos construir, queremos criar uma nova pasta nessa pasta será nossa linha de base para tudo o resto vir. Então, a primeira coisa que eu quero fazer é criar esta pasta em que eu vou chamá-lo de assiduidade. Certo, então essa é a nossa nova participação no projeto. A próxima coisa que quero fazer é abrir este projeto no tribunal de estúdio visual. Alguém vai abrir um código de estúdio visual para começar a sincronização agora. Eu tinha um projeto anterior aberto e tudo bem. Você pode ter feito outras coisas que é OK, mas você sempre pode começar indo toe arquivo goto abrir pasta em. Em seguida, você encontra a pasta que é vê algumas docas Ishi e, em seguida, você seleciona a que você conhece. Vai ser a sua linha de base? Em seguida, você seleciona em. Então você deixa o cabo de estúdio visual se reorganizar de acordo. Temos uma pasta muito vazia. Então é assim que sua interferência vai parecer no final. Não, por esta fase, já confortável com o padrão de pH B, Andi, se não você sempre pode voltar para os meus vídeos anteriores onde eu passei passo a passo com pH inteiro. B interage com cada buraco. Tudo está funcionando agora, a primeira coisa que sempre vai para o reboque. Qualquer site PHP é e é uma página PHP chamada index. Então Index sempre vai ser o seu primeiro arquivo deve ser sempre o seu primeiro arquivo em que representaria talvez o seu campo inicial. Mas mais uma vez, cada servidor Web sempre procura um arquivo chamado índice para Lord primeiro. Em seguida, eu vou para ir em frente e construir todo o cheio de estruturas porque para outros arquivos que não são necessariamente website mais rápido não quer que tudo aconteça no mesmo nível, então eu vou apenas trazê-los para fora em pastas diferentes . Então eu vou adicionar uma nova pasta apenas clicando neste novo botão de pasta aqui no Visual Studio Court na primeira pasta que eu vou adicionar, é o que chamamos de inclusões. Então minha pasta inclui terá. Bem, nós fomos incluir e exigir. O que acontece é que às vezes temos arquivos externos, talvez arquivos auxiliares com, tipo, tipo, um Class ou Leo Files. Podemos colocá-los aqui, e então nós apenas os referenciamos enquanto avançamos. Então não inclui pasta. Vou criar uma pasta CSS porque talvez tenhamos folhas de estilo. Eu vou criar uma pasta de scripts em Tenha cuidado ao adicionar Fuller porque se você tiver o polar selecionado e você clicar em nova pasta, então ele vai virar para ele. Por baixo disso, é só um clique. Certifique-se de que nada está seleccionado e, em seguida, clique em nova pasta. Tudo bem, então eu tenho scripts porque talvez nós vamos ter consulta J ou código JavaScript em execução em nossa visão em ir para criar um e chamá-lo db db curto para banco de dados não são porque bem, talvez eu queira os arquivos do tribunal que estarão interagindo com o banco de dados especificamente em uma pasta. Então é por isso que estou fazendo essas separações. Qualquer coisa que você veja na raiz aqui ou chame a rota fora da pasta seria um arquivo perturbado do diretor , e tudo o resto em uma pasta é apenas para fins de referência. Mas mais uma vez, esse delineamento está ocorrendo porque você não quer tudo em um só lugar. A primeira coisa que quero fazer é começar a fazer as unhas para o meu Petes. Então, em vídeos anteriores, eu teria mencionado que você sempre pode fazer ish chamada de e-mail em cinco e você começa o que eu chamo de esqueleto HTML que cada página web deve ter, no mínimo, fogo. Mas então eu quero dar um passo adiante, e eu quero usar bootstrap para minhas cargas. Então, só como um lembrete, nós podemos ir botas, pegar bootstrap dot com. A Andi. Lá você verá toda a documentação relativa ao frango bootstrap é Vá em frente e clique nisso. Quando você quiser documentação. Você vê toda a documentação como se relaciona as bootstraps, então eu poderia realmente apenas usar este esqueleto onde eles estão me dando os mesmos puxadores auxiliar sob. Mas eles também estão me dando o estoque. Ela refere-se que eu preciso de quatro bootstrap para que uma vez que eu colocar isso na minha vista, qualquer calço uma peça que eu tenho que muitas interferência destes automaticamente tem bootstrap embutido. Então eu vou continuar e copiar este cabo do site bootstrap. Andi, vou substituí-lo. Use-o para substituir o código existente no Visual Studio court no dso. Não, eu tenho Ah, bootstrap. Pronto na página dos decks. Agora, mais uma vez para cada peça que eu gostaria de ter esses estilos e todo o cabo bootstrap , eu teria que realmente copiar e colar discórdia cada vez no dia. Uma maneira de reduzir a necessidade disso ou eliminar a necessidade disso é começar a usar Meu inclui alguém para criar o arquivo Syrian. Inclui em ir chamar um hitter dot PHP no outro em, ainda na pasta includes em foi chamar o seu próprio. Assim, você sempre pode clicar na pasta para se certificar de que está selecionando a pasta para que quando você adicionar um novo arquivo, ele vá diretamente para essa pasta. No outro é rodapé dot PHP Não, eu quero que minhas cargas sejam uma atividade única, que significa que eu quero configurar Minha referência é um por favor. E se eu tiver que me sentar o suficiente, eu quero que tudo seja um policial assim ou fazê-lo uma vez. , Então, Em vez disso, Então,em vez de fazê-lo toda vez que eu tenho uma nova página, eu vou apenas fazê-lo uma vez e fazer uma referência conforme necessário. Então coloquei o cordão no meu discurso de índice. Mas o que eu vou fazer é removê-lo segmentado nas páginas relevantes. Então minha cabeça adare Ph. B. deveria ter ligado. Isso vai no topo da página no rodapé ponto que o PHP deveria ter chamado. Isso vai na parte inferior da página deste tribunal deve ser chamado. Isso nunca muda em uma página, então você vai notar que a maioria dos dizem que eles são consistentes. Cada barra suficiente pedaço parece o mesmo no rodapé parece o mesmo. Eu tinha o filtro é a última parte fora da praia. A maioria dos sites são padronizados dessa forma. Então vamos nos juntar a essa revolução. Nós vamos garantir que todos os quatro sites são padrão ou site agora é padronizar com admiração novamente em nosso Peter. Desculpe. Então o que eu vou fazer é tirar do corpo porque cada p começa com corpo. O que entra entre o corpo é único para a página. Tudo bem? Alguém para tirar do corpo estava todo o caminho para cima. Então, a partir de tipos de corpo doc, eu vou cortar a partir do discurso índice sobre entender para colocá-lo no pêssego cabeçalho. Tudo bem, então cada página que faz referência ao cabeçalho está indo para o dedo do pé automaticamente tem isso no topo da mesma forma. Vou levar tudo para baixo. O que? Seja qual for o conteúdo que está em nosso conteúdo é apenas Olá, mundo em. Isso é bom. Mas tudo abaixo disso também deve ser padrões. Vou levar tudo para baixo. Seja qual for o conteúdo seria capturado que e colocá-lo dentro fora do rodapé. Tudo bem, eu entendo que a espécie não é um pouco. Então, todos esses arquivos javascript precisam ser referenciados na página em todas essas tags, bem como na folha de estilo para bootstrap. Todos eles precisam fazer referência na página. Então isso deixa a questão. Onde estão as referências? Então o que vamos fazer é abrir um rebocador PHP no topo em dentro deste discurso, Be talk que eu vou ver exigir. Então nós olhamos para incluir e exigir sobre as diferenças que incluem vai tentar toe, encontrar o arquivo. E se não funcionar, basta usar um aviso e dizer: “ Ei, Ei, você sabe, eu tentei e não encontrei um incêndio. Então, eu sinto muito, enquanto exigem vai parar o seu site e ver Hey, Eu não consigo encontrar este arquivo sanduíches exigem e, em seguida, você tem duas opções estão exigindo duas opções para incluir que seria a uma vez que eles têm incluir uma vez e eles têm que exigir. Isso significa que, se por algum erro eu acidentalmente necessário para ser incluído, dois arquivos são os mesmos. Disparar outro duas vezes. Então seja se você realmente tentar incluí-lo duas vezes. No entanto, se eu disser incluir uma vez ou exigir uma vez mesmo se eu repetir esta directiva para exigir o mar e arquivo em outro lugar, você já incluiu ele são necessários para que ele não vai fazê-lo uma segunda vez. Então, essa é a diferença entre o exigem e exigem uma vez e a costura é para incluir e incluir um. Então eu vou ir em frente e ver exigir uma vez porque eu realmente só queria uma vez em. Em seguida, aspas em eu apenas com um cínico feito para que eu não esqueça. Mas dentro das aspas, vou colocar o caminho para o arquivo que estou exigindo. Então, no topo da página, o primeiro arquivo que eu preciso exigir antes de qualquer coisa, mesmo que eu tenha outras coisas que eu queira exigir. A primeira coisa que eu deveria estar exigindo é meu batedor, porque eu bati nela tem na parte de cima fora maio cada corpo dimmer em Bush, potencialmente qualquer conteúdo que vem no topo da página, tudo bem, então eu estou indo para exigir uma vez e eu vou dizer inclui porque essa é a pasta. Tudo bem, então os arquivos cabeçalho e rodapé estão dentro inclui Fuller. Então, para obtê-los, Eu tenho que ver inclui em, em seguida, dizer barra em seguida batedor. Não PHP em então eu posso simplesmente copiar isso porque é o mesmo conceito para o rodapé em que eu estou exigindo uma vez o rodapé. Então eu só vou mudar esta referência o rodapé dot PHP Então, quantas vezes eu tenho são tantos arquivos como eu tenho na pasta includes que eu preciso em uma página. Posso apenas referi-los desta mesma forma fora do curso nos pontos apropriados. Tudo bem, outra coisa que eu quero fazer é ter certeza de que eu estou colocando o título em todas as páginas porque é definido um lugar aqui em. É uma estática sentada aqui. Mas se eu tiver outra página como quando chegarmos a realmente construir o registro e ver coisas e assim por diante, cada página vai ter um título diferente, todos eles podem dizer olá, mundo, alguém para mim que a dinâmica, introduzindo uma variável que eu vou chamar título no topo em eu fui ver Título é igual a neste Oh, eu sinto muito. Estou declarando fora do Ph.B. Ph.B Todd. Então você percebe que a codificação de cores não era Havia apenas tomadas brancas porque ele teria renderizado em HTML. Então eu preciso realmente colocar isso entre as tags PHP Tudo certo, então. Eu vou ser claro antes da exigência em que é porque lembre-se, na programação, tudo é feito em sequência. Então, se eu referenciei o título aqui dentro, que eu vou fazer, eu vou dizer que eu quero imprimir o título e eu posso sempre apenas texto bastante estático. Bem, eu não posso. Apenas bem apertado. Isso iria literalmente imprimir dólar san título Softworks depois que eu quero colocar minha tomada estática. Então este é o comparecimento que é até Nome e então eu vou vê-lo correndo. Então esse é um texto estático. Mas nas partes dinâmicas, que é o título, eu preciso envolvê-lo dentro dos bandidos PHP. Alguém para ver abrir o título do Ph B Echo na Echo. Então você imprime. Então eu quero imprimir para isso. Retire o conteúdo dessa variável, e eu vou fechar isso rapidamente. Tudo bem, então eles são todos casados. Linhas se foram, então eu vou ter sempre atendentes traço, mas em seguida, em relação ao valor fora do título, o que quer que saia para o traço é propenso a mudar. Então, no discurso do índice, meu título será indexado. Eu declará-lo e definir o valor em então eu exijo isso para que no momento em que ele inclui este título de arquivo já teria sido declarado em inicializado. E assim ele sabe exatamente o que é. O eco nesta declaração. Outra coisa que eu vou adicionar a este projeto enquanto estamos neste tópico é um arquivo CSS. Então, há momentos em que queremos o nosso ou pouco flare que bootstrap em seu Andy nativo para estado não irá fornecer. Ele faz várias coisas, mas não faz todas as coisas. Então o que eu vou fazer é adicionar meu próprio arquivo CSS, e eu estou indo apenas para clicar na pasta CSS, Clique em Novo arquivo em. Vou chamá-lo de lado do site, não CSS, e você pode usar qualquer personagem especial na sociedade de nomes de fogo, não CSS. Tudo bem, eu sei que está em branco e eu deixo em branco porque eu não encontrei nenhum uso para ele ainda, mas eu ainda vou incluí-lo no meu cabeçalho que BHP. Então eu estou indo para baixo da seção de bootstrap. Adicionar uma linha de link de link igual a estilo. Ela está tudo bem em, então os interesses vai ser o passado para o arquivo, que é CSS barra onda fogo Nome é site dardo. CSS são. E depois posso fechar isto. Não preciso de todos esses atributos. Estes são os dois principais atributos que você precisa quando você está incluindo uma estrela. Folhas são tão tendo feito tudo fora que Quando eu baixei minha página de índice, eu espero ver referência sendo feita para referência bootstrap sendo feita para minha folha de estilo. O título deve ser reflexivo de qualquer valor que eu coloquei sua tia eles estavam indo para ver Olá mundo Onda. Deveríamos ver um pé ou mais. Vou modificar um pouco o rodapé. Eu vou adicionar, uh, se Andi eu vou pegar a impressão do dedo do pé dentro deste Div. Deixe-me ver o que são boas impressões. Eu estou apenas em colocar o puxador PHP em, em seguida, fui para echo copyrights. Andi, acho que posso fazer algo como o porquê. Tudo bem, vou entrar em contato com você. Precisa usar uma parada completa alguns imprimir a palavra copyright em então eu espaço e então eu estou chamando o capitão comendo o ano as ações, certo? O ano que assim seja. Por que deveria me dar sobre o ano. Tudo bem, então foi o que eu fiz lá. E depois vou fechar esta definição. Então eu vou pré-visualizar este site como ele é. Vou trazer o meu navegador, abrir um novo separador, e depois vou navegar pelo anfitrião local. O que me leva ao meu painel. Mas isso é o painel. Não quero painel de controle. O que estou olhando é a minha presença. Tudo bem, então a assiduidade deve ser Senhor. Tudo bem, então temos um erro aqui. Oh, eu fiz uma flecha na definição do comando de ações. A era era que eu deveria ter colocado isso entre aspas, então eu apenas consertei isso, e então nós voltamos e nos atualizamos. Aí está o 19. Eu acho que 19 é 2019 certo? Então você pode olhar nosso próprio os comandos de manipulação. E eu tenho um vídeo sobre isso. Você pode voltar para o meu vídeo sobre a manipulação do tempo D para ver exatamente como podemos obter diferentes valores impressos, liberou as ações. Agora vamos fazer mais um ajuste em que é toe realmente não ter o nosso conteúdo parado na margem esquerda assim. Então, o que queremos fazer é fazer uso de bootstraps. Chamam-lhe “O Contentor”. Então eu acho que no layout, você vê algo sobre como podemos usar uma classe narrativa contínua que na verdade, você sabe, tipo de linhas centrais são conteúdo entre as margens. As margens extremas da nossa página não estão na maioria dos sites meio que voou por isso. Eu nem sempre vou extremo depois de extremo ali. Como se deixasse algum espaço no meio. Então eu vou apenas modificar meu cabeçalho no rodapé para realizar isso. E há alguém para fazer as duas coisas. É isso o que aconteceria é que eu poderia dizer para dar aqui, Andi, fechar a div. Então meu conteúdo está entre essas vidas. Então eu posso dizer classe é igual recipiente sobre o que isso faria é realmente chamado que classe nossa própria. Olá, Além disso, quando eu atualizar você vê Olá mundo mover em Os direitos autorais não se moveu Então meu rodapé alegou movido Mas o conteúdo da minha página moveu o este por favor encontrar isso funciona Mas, em seguida, o lado não deste é que quando eu tenho outra página e eu preciso parecer efeito depois de continuar dizendo dar classe igual recipiente em, em seguida, colocar no meu conteúdo. Então o que eu vou fazer é pegar esse velho. Já que isto vai acontecer, como vai repetir? E sempre quero que as nossas páginas tenham este tribunal. Vou cortar isso e agradá-lo como a primeira coisa no meu corpo. Rebocador. Então estamos abrindo o rebocador de corpo aqui no nosso batedor. Então, após a conversa corporal, eu teria colocado isso conter uma classe de qualquer maneira, Então eu coloquei isso dentro do batedor para que cada vez que eu incluir a frente ou exigir o cabeçalho, isso está implícito fora do curso. Preciso fechá-la. Então eu estou indo sempre fechá-lo como a primeira coisa no rodapé. Então, uh bem, sim, eu quero colocar o conteúdo deles também ser empurrado para longe. Então isto está lá dentro. Este seria o meu rodapé. Então, se eu desistir disso, então eu sei o que é. Um barco, digo rodapé. Então, em ideias. Uma excelente maneira de identificar quais são seus elementos. Quatro. Então eu só tenho um Dave Andi aleatório, eu só para sair para lembrar o que é para Então se eu disser Dave em, basta dar-lhe um rodapé I D, eu sempre vou lembrar que velho isso é o que este quatro desonesto. Então esse é o Po fora usando IDs. Mas, além disso, eu vou colocar este fechamento ao vivo após o filtro tive tudo bem e entender os comprimidos. Eles podem ver onde tudo começa e pára. Então, este encerramento parece aleatório neste discurso. Mas então quando você olha para ele em relação ao cabeçalho, ele está abrindo aqui em seu recipiente de vidro em seu fechamento aqui no rodapé no DSO. Quando eu atualizar minha página, espero ver que meu pé ou conteúdo também vai se juntar Olá, mundo também dentro desse recipiente. Tudo bem, então ainda feche isso. Só vou fazer referência à fonte paga e veremos que tudo se encaixa . Tudo está se encaixando como se tivéssemos um grande asiático aparecesse. Então tudo isso de linha para reta até a linha 17 teria sido um referenciado dentro do arquivo hitter dot PHP e então nós temos nosso conteúdo dentro do índice e conteúdo conteúdo em. No final de tudo, temos ou fechando parte, que é tudo constante em nosso rodapé PHP. Então, mais uma vez, o pobre fazendo Leo é assim que você pode fazer a mudança uma vez em um arquivo, e ele ondula em todas as páginas que fazem referência a este arquivo. Agora que temos o nosso Leo , não temos. A próxima coisa que queremos fazer é começar a projetar um formulário e começar a olhar para os diferentes métodos fora da submissão. 3. Crie um formulário de Bootstrap 4: Ei, pessoal, Neste vídeo, vamos começar o ditado ou primeiro formulário usando PHP e bootstrap no Schimmel e todas essas coisas maravilhosas que se juntam nos permitem coletar dados dos usuários. Andi liderando para armazená-lo é para uso posterior. Então já começamos a projetar. Nosso site que criamos estão cheios de estrutura colocando nossos pais e nossas referências. E nós tipo de segmentado ou dedo do pé do cordão tem esse tipo de Leo que pode sentir, então sei que o que vamos fazer é começar a modificar sobre a fala do índice para ser, ah, forma que coleta dados e olhamos para usar a submissão do get para ou formulário. Eu só vou começar a modificar o conteúdo fora da página em que eu estou indo para em vez de imprimir Olá mundo. Vou ver as inscrições para uma conferência. Então estamos criando em I t conferência ou distritos em forma onde queremos que todos os participantes comecem a colocar em suas informações e declarando tudo que você sabe, eu sou um DBS então isso nós temos uma idéia fora. Quem é que vai participar ou fazer uma conferência? Podemos armazená-lo para análise mais tarde, então eu tenho isso. Cada um rebocar a primeira coisa na página, e é sempre bom ter em cada um puxão não só para legibilidade pelo usuário para saber onde eles estão, mas também para motores de busca e amor. Cada vez em páginas em você fica mais alto em torno de reis para este tipo de coisas. Também quero que cada um queira estar no centro do meu poço. Então, se eu der uma olhada no que acontece aqui, eu apenas atualizo. Não, eu tenho que ver as inscrições para a conferência. Então, em vez de apenas ver que eu estou indo ou em vez de tê-lo para a esquerda, eu estou indo para o centro alinhar. É um bootstrap como uma classe em Do você sempre pode ir e olhar para a documentação por si mesmo que eu tenho usado para nós. Ele meio que se tornou uma parte de mim, mas sempre sinta-se livre para voltar para o site bootstrap. Olhe para a documentação. Se é que você não tem certeza hotel complexo algo. Então eu estou indo para o centro, alinhá-lo, e enquanto eu estou aqui, eu apenas tento encontrar essa referência. Na documentação, nossa cidade irá sob utilitários e procurar texto. Em seguida, a primeira coisa que você vê varas alinhamentos. Se é que você deseja mover o seu próprio texto com ele para a esquerda, para o centro, para a direita, ou você sabe que os diferentes. Em seguida, eles dão o exemplo do tribunal, que você possa usar um texto de classe esquerda para empurrá-lo para o centro tecnológico esquerdo para empurrá-lo para o centro, etc, etc. Então é muito simples. Quer pegar? Você se lembra deles rapidamente, então eu quero enviar nossas linhas, entender para ver um centro de texto. Outra coisa que eu quero salientar é que, embora o exemplo possa ter sido com uma pita, ele se aplica a qualquer coisa que é texto. Então é um exemplo pita. Sim, em estavam usando-o em um H. Uma vez você pode ser usado em quase qualquer rebocador que tem a ver com varas. O fato é que, ele vai tirar qualquer conteúdo fora do que no centro, alinhá-lo, está alinhado em conformidade. Certo, então eu não tenho que me preocupar com o exemplo versus o tipo de puxador que você está usando e o que fez isso. Eu só destaquei isso e você muda para cima para empurrar tudo de volta para a coluna da esquerda. Sou apenas um defensor doentio para o recuo. Então, em seguida, vamos fazer ah forma. Então, para fazer um formulário, temos italiano, um general chamado Forma Onda. Entenda o dedo aberto e feche isso rapidamente, pois os formulários podem ter algumas coisas, e você não quer esquecer de fechar seus tacos. Isso pode levar a alguns problemas irritantes e irritantes de depuração. Não, para projetar meu formulário usando classes bootstrap entender muito rapidamente. Salte para a documentação no find. Acho que isso seria nos componentes. Encontre referências para formulários. Lá vamos nós. Então eles nos dão alguns formulários de amostra. Eles dizem, você sabe, se você usar minhas aulas, isso é o que eles são estrangeiros podem parecer com relativa facilidade não são e eles dizem os diferentes controles que você tem um estilo Nikon nos tamanhos ings. Eles têm algumas opções. Se você continuar, você pode ficar um pouco fora. Inspiração para um layout formal são projetados a partir de seus exemplos. Por hoje, no entanto, nós vamos manter isso simples, então eu vou apenas voltar para o primeiro exemplo que estava lá onde nós temos o rótulo , o que ele quer? E o controle específico para ele até o botão enviar. Então eu posso realmente dar uma olhada nesse placar e ver como ele é feito. Na verdade, só quero uma cópia. Isto marcou. Voltar para o meu site e substituir as vezes formulário que eu simplesmente tão alegremente puttin em. Vou substituí-los por todos os tribunais ligados. Eu só vou passar alguns momentos aqui para obter todo o meu recuo apropriado para que eu saiba onde tudo começa e pára. Tudo bem, então eu tenho meu formulário de conversa, abrindo e fechando aqui. Então você percebe que há monte fora, cede no meio. Tudo bem, então, se você olhar dentro do dibs, você tem o rótulo, que é a palavra que está impresso. Vendo isso é o que estou pedindo. Então este foi o de para o endereço de e-mail, e então nós temos o tipo de entrada. Andi, cinco iniciais. Você tem alguns tipos disponíveis para você. Nesse caso, esse tipo é e e-mails que realmente executa validações específicas no e-mail. Apenas para ter certeza de que você está colocando um endereço de e-mail fora da caixa sem qualquer fio adicional. A Andi. Alguns outros atributos. E então eles te dão um pequeno onde te deu uma dica. Então, se você olhar para o tribunal contra o exemplo, então você meio que vê onde tudo está. Então temos o endereço de e-mail em que estava na seção rótulo você tem a caixa de texto em. Você sabe que um tem em ah, espaço reservado. Este é o e-mail de entrada. Então isso é em atributos espaço reservado que usa esse tipo de greedo toma que desaparece quando o texto realmente entra. Então aqui embaixo você vê que há uma cidadezinha aqui que diz que você nunca compartilha. Eles mostram-te o cordão para conseguires tudo isso. Então o fato é que você copiou. Você pode não precisar. Você pode remover a reforma underst conforme necessário. Não, eu só adicionei alguns comentários aqui, ou um estar vindo aqui com os diferentes campos que pretendemos toe coletar de nosso seria participantes não são tão quer chamá-lo o primeiro nome sobrenome a data de nascimento e vai estar usando um seletor de datas vai tomar sua especialidade em porque e estas são as especialidades que estamos servindo para. Andi outro no outro, só por precaução. Tudo bem, então. Queremos o endereço de e-mail sob o número de contato, e isso é o que ou formulário deve ser projetado para coletar de nossos usuários. Tudo bem, então, não, vamos começar a massacrar ou começar a modificar. Eu não sou, digamos massacrar. Vamos começar a personalizar este código para que possamos cumprir a nossa missão. Não, estou bem. Estou dando um modelo. Seja tão criativo quanto você precisa ser. Se quiser tentar outra coisa, tudo bem. Se você tiver dificuldade, sinta-se sempre à vontade para me alcançar. Eu sei que há certas coisas nesta escola que eu vou reter porque é assim que bootstrap eu nos baixa para tirar vantagem de seu design. Então, por exemplo, você percebe que você sempre tem uma classe diff chamada grupo de formulário dentro desta Div. Então você tem o que mais vai em rebocar esse grupo de formulários, o que significa o tipo de entrada no rótulo para ele e qualquer outra coisa. Assim, cada um destes teria o seu próprio dar com grupo de formulário de classe. Então eu preciso que eu já tenho endereço de e-mail. Não vou apagar o endereço de e-mail. Mas o que eu vou fazer é copiar este grupo de formulários e depois fui criar outro. Tudo bem. E depois vou modificar este outro. Então eu já tenho o endereço de e-mail aqui. Não estou removendo o endereço de e-mail, mas o endereço de e-mail não é a primeira coisa na lista. É como o segundo a durar. Eu ainda tenho pelo menos quatro outras coisas acima. Então eu vou continuar colocando as coisas acima dos emissores até eu chegar lá. Então eu vou mudar o rótulo. Em primeiro lugar, Você quer mudar a liderança antes no i d. Porque o que acontece é que em html cinco, eles dão o rótulo para uma ID coisa. Bem, realmente bootstrap, porque quando ele saiu da gravadora, ele meio que destaca a contra viúva a clicar no controle em si. Então veja como eu pego a palavra senha. Isso destaca. Então você quer que o rótulo quatro no I d. demais para obter esse tipo de efeito. E você não quer repetir as idéias. Você nunca quer repetir as idéias fora de seus elementos. Gerald, seu site. Então eu vou mudar este para algo mais significativo porque eu estou fazendo o primeiro nome Andi. Escrevi primeiro erroneamente. Então você quer ter certeza que você começa todo o derramamento direito no dia? Então essa é a ideia. Vou mudar o rótulo. Quatro atributos do primeiro nome. Vou mudar os rótulos. Mensagem do dedo do pé do exército. Primeiro nome Andi. Eu vou mudar o qualquer coisa aqui que tenha a ver com e-mail e basicamente vai mudar . Pensamento relativo reboque sendo usado para um primeiro nome. Então, o tipo de entrada aqui é e-mail. O primeiro nome não é um e-mail. Seria mais texto Onda, Eu vou mudar este Emir, Ajude a dizer primeiro. Na verdade, nunca acho que não preciso disso. Este atributo não é absolutamente necessário. Então eu vou apenas remover esse. Não preciso dessa. Tudo bem, eu quero remover isso Este pequeno texto Tudo bem, eu não preciso muito disso se você só quer um rótulo na caixa de texto. Isto é o que vai parecer. Você tem o seu viver com forma com classe formado um grupo e, em seguida, você tem o seu rótulo, e então você tem a sua entrada, e eu vou mudar o texto de espaço reservado para ver Inter. Primeiro nome, sério? E realmente eu não preciso de texto de espaço reservado se eu tiver um rótulo. Então, mais uma vez, cabe a você no seu design. Tudo bem? Eu não gosto de ver um espaço reservado quando eu já tenho o rótulo Alguém para remover esse. Então é assim que parece. Se eu quiser um rótulo em que leva caixa sobre isso é para o primeiro nome. Não, chamá-lo de sobrenome seria praticamente idêntico para entender, Para copiar e colar isso em mudar tudo para ser relativo dedo do pé Sobrenome. Certo, então não, estou coletando o sobrenome. Mudei o texto do rótulo. Eu mudei seu valor de atributo quatro e o i d fora da caixa de texto para que eles trabalhem juntos. Andi sabe que estou coletando o sobrenome. Próximo. Queremos a data de folga do nascimento, então saia. nascimento sofre Quintal. Continue ao longo da mesma linha sobre os quatro vai ser em entender. Para ler você será abreviado. A idéia aqui é um acordo ser feito fora do nascimento. O texto do rótulo diz: “ Foi fora do nascimento, nascimento dentro de um on. Então o tipo pode ser. Na verdade, é picker porque html cinco realmente tem vai bater. Desculpe. Então, o tipo de dados a data do tipo de entrada realmente nos dá um seletor de data em. Vamos investigar se esta é a melhor maneira de o fazer ou não, mas para não, isso pode funcionar. Tudo bem. Em seguida, precisamos de outro controle porque temos especialidade, que vai ser mais como uma caixa suspensa, permitindo-nos selecionar. Então, se eu usar um menu suspenso, obviamente você só pode selecionar um fora de sua acima. Quem poderia usar um botão de opção para difundir a caixa de seleção. Então seria uma perda, um seleto todos pelo menos um são todos fora dos valores potenciais. Então, isso é com você e sua conferência para a minha conferência. Acredito que sua especialidade é só uma vez que vou te dar uma caixa. Tudo bem, então eu vou apenas copiar isso mais uma vez em Eu estou copiando e colando o Suspiria perder fora redigitando coisas que eu não tenho que re digitar. Certo? Então este aqui, o trabalho é sobressalente T Onda. Vou ver uma especialidade, nossa área fora da especialidade. Eu sempre posso atender meus rótulos como dignos ou não, como eu quero que o texto que está sendo impresso para o usuário eu vou mudar o I d. Bem, eu vou mudar isso. Quem vai controlar? Porque uma caixa suspensa não estaria envolvido usando uma entrada, Jack alguém apenas passar por cima do dedo do pé bootstrap e ver o que eles têm para mim em termos off drop boomboxes. E lá eles realmente o têm. Eles têm a seção de controle estrangeiro onde eles estão me mostrando uma lista suspensa, e é isso que parece. Uma vez que o bootstrap é aplicado. Tudo bem, no exemplo para ele está bem aqui. Nós temos os grupos de formulários, então essa é basicamente a nossa constante em que eles têm o rótulo. Então o que temos é um puxão seleto com opções no meio. Então eu vou copiar isso porque nós temos tudo o resto, tudo bem. Temos tudo o resto na polícia, entende uma cópia daquela seção selecionada e depois passar algum tempo consertando nosso recuo aqui. Então eu vou deixar essa aula. Você percebe que todos eles têm essa classe de controle de traço. Certo. Então, com todo o controle de traço estrangeiro, eles não pareciam tão dinâmicos como parecem aqui. Eles não sabem. Eles não têm aquele olhar e sentir bootstrap, e vamos olhar para isso mais tarde. Então eu vou selecionar administrado um rebocador que eu estou com para mudar o i d. aqui até uma especialidade. Certo? Então essa é a gravadora sabe trabalhar com ela. E então eu vou colocar em minhas opções. E minhas opções mais uma vez foram admissão no banco de dados. Então base de dados adicionar ah significa, desenvolvedor de software no administrador da Web e outros. Então, basta digitar isso rapidamente. Tudo bem, eu sei que está feito. Então temos ou lista suspensa. Sei que não estamos olhando para ele. Não sei se já esteve, e isso é bom. Se você tem sido eu não tenho. Então nós somos este edifício cegamente e esperando que tudo se encaixe como gostaríamos . E se ele realmente não apenas corrigi-lo como você vai junto. Então, em nenhum lugar no endereço de e-mail. E mais uma vez porque tomamos esse exemplo, nós já temos endereço de e-mail Eu estou apenas em certeza que para cima. Mude um pouco porque é um pouco exagerado para mim. Então rótulo para e-mail sobre as idéias controles, ninguém para ser e-mail para que estes dois Noto trabalhar juntos. Andi, vou deixar tudo o resto aqui neste seria realmente um bom aviso de isenção de responsabilidade. Nunca mostraremos seu e-mail com mais ninguém porque você preparou coisas para a minha conferência. Eu não sou. Quer usar seu e-mail de forma maliciosa. Você sabe, você poderia usar este pouco bem em. Oh, então esta ideia e este atributo andam de mãos dadas. Vê isso? Então eu não removê-lo de tempos anteriores, mas aqui é por que bootstrap seria fora tipo off. Coloque que estão fazendo experimentos com eles. A próxima coisa que queremos após o e-mail é o número de contato em. Eu estou realmente indo para rotinar o cabo de e-mail em ir para reutilizá-lo para quatro números porque, bem, eu vou mostrar-lhe Por que Então para eso o rótulo para sua queda, os formulários, os controles que eu d é cheio, então o trabalho vai ver bem, número de contato. Tudo bem. Eu acredito que há. Vou usar texto. Então ainda havia eu. A caixa de texto parecia que deveria coletar um número quatro, mas ainda não chegamos lá, então vou usar texto no dedo do pé. Remova o espaço reservado em. Vou fazer o mesmo para o espaço reservado acima. Mais uma vez, não gosto de ter o nível e o espaço reservado. Eu acho que eles devem ser usados de forma intercambiável. isso é pessoal Masisso é pessoal. Em eu vou deixar este texto de ajuda que eu vou dizer ajuda completa em vez de ajuda de e-mail no CME aqui em então eu quero deixar este texto de ajuda e eu vou dizer, Bem, nunca compartilhar seu número com ninguém mais Então nós temos a privacidade isenções de responsabilidade aqui que vamos minty na privacidade do seu número de telefone e seu endereço de e-mail são não, que terminamos com o nosso formulário porque temos tudo o que precisamos. Podemos ver o resto do tribunal. Então eu acho que parte do exemplo que tomamos também tinha esta caixa de texto para senha, que não precisamos, pelo menos ainda não nesta caixa de seleção para um exemplo também, então podemos remover essa Onda, Temos um botão que é off tipo enviar que envolve uma tentativa de submissão para o navegador em temos classe é igual a VT e Bt e tracejado para sempre, que nos dá um bom botão azul no formulário de envio. Tudo bem, então você sempre pode personalizar as mudanças secretas. Comece botão verde, dizendo bater que o sucesso e ver registro. Cabe a você. Personalize como quiser, mas para não, vamos avançar em uma órbita prévia. Então foi aqui que paramos em Little Veja onde estamos. Não, olha para isso. Isso é arte adorável para sempre cada vez bem linha centro de uma vez. Temos o nosso primeiro nome. Eu noto quando eu clicar apenas o rótulo cada tipo de controle de acende-se Mais uma vez eu era o rótulo para eo i d no trabalho em então Isso é o que a nossa forma parece. Nós apenas construímos uma forma, e tudo o que fizemos foi fazer a forma como arrancamos e olhamos para a beleza. Oh, venha tudo bem agora eu só vou brincar um pouco e mostrar a vocês outras coisas que poderíamos fazer. Primeiro, se eu tomar toda a forma, referência de classe de controle que garante o que acontece, então nossos livros didáticos se parece com isso , que é apenas o padrão e padrão. Então é por isso que temos nessa classe de controle de forma que ele assume os atributos bootstrap sua compreensão para introduzir que se eu quisesse que meu botão não fosse tão pequeno. Tudo bem. Está meio perdido até lá em baixo. Então eu tenho uma classe batendo bloco traço em Bt e bloco de poeira encontra o trecho botão direito em todo o pêssego. Tudo bem, Andi, eu quero algum espaço entre o meu envio sobre meus direitos autorais, então eu provavelmente posso colocar em algumas tags br, então entenda, para colocar em um barco cerca de quatro ou cinco em, Então você Observe que você tem esse espaço para que possamos voltar e consertar o rodapé mais tarde. Mas apenas para mostrar que qualquer conteúdo que você colocar no espaço de índice entre o hander o cabeçalho inclui underfoot inclui ele irá renderizar que estamos em. Então, se olharmos aparecer em nosso título, vemos índice de assiduidade, e lembre-se que estamos sentando esse valor na nesta seção superior do site em hitter está apenas fazendo referência ao seu Não. Mais uma coisa que eu quero ver é o nosso controle DEET. Então nós tínhamos usado para data de nascimento no dia em que ele comeu um tipo. Tudo bem em. Então, se você apenas dar uma olhada rápida nele, você realmente vê onde ele parece diferente dos livros didáticos regulares em Se tentarmos mudar esses valores que vemos que foram confinados ou restritos a apenas colocar. Na verdade, está relacionado, mas há outras tomadas. Não posso entrar lá, e isso é perfeito. O perigo, no entanto, é que este controle oito vai ser processado de forma diferente em relação aos distritos estão sendo usados. Então, nesta situação, nosso navegador Chrome vai nos dar um controle de calendário agradável sobre. Podemos deixar a data, entanto, no meu limite, explorar quando eu clicar nisso, eu estou recebendo um tipo diferente de controle, certo? Não, todos eles. Ambos funcionam, então não é uma questão de funcionalidade. No entanto, eles funcionam de forma diferente. A Andi. Eu posso ver onde isso vai levar a problemas de experiência do usuário ou até mesmo problemas de suporte, porque se você está acostumado a ver o seu site em cruel e alguém causar em ver que não está funcionando corretamente uma vantagem, então isso é um problema de design, tanto quanto eu sou preocupado. Então, queremos consistência em todo o site em todos os navegadores Agora o que precisamos fazer para manter a consistência em todos os navegadores com nosso selecionador de datas ou fez o controle usado para realmente referenciar um seletor profundo e que um dos mais populares e fáceis de usar um seria de Jake Preocupar-te que eu compreendo gula Jake, onde você eu e ele vai apenas ir para o site aqui. Eles têm um monte do que você chama de widgets. Você pode obter um kardian controla auto, completar todos os tipos de coisas. Então, o que nos interessa é o selecionador de datas. Então nós apenas olhamos para como nós vamos sobre incluindo isso em. Dê-nos um exemplo rápido onde você clica e você obtém um controle de seletor de data, não importa o que o irmão er é assim que ele vai olhar sobre. É isso que queremos. Então, basta clicar em exibir fonte em, então o show nos classificar fora o que precisa ser incluído, certo, Então precisamos de uma folha de estilo em. Eles realmente nos dão alguns decadentes e links. Então precisamos de uma folha de estilo e precisamos de arquivos de script. Preciso de um dedo de referência. Jake, preocupe-se. Então. Precisamos de uma referência ao Jake. Você sabia o que aconteceu? É que quando tomamos o exemplo de Bootstrap em nosso rodapé um dos scripts que estão sendo referenciados é consulta J. Então nós não precisamos incluir o Jake ou novamente, o que nós só precisamos fazer saber sua referência o Jake onde você seção I. Eu posso copiar isso, Andi Well, volta para o meu pé ou cordão e colá-lo em outro espaço como a última coisa. Então, mais uma vez, ordem resmunga, precisamos ter certeza de que não colocamos acima do nerd original eram amigos. Porque há coisas nisto que dependem do tribunal a partir disto. Então isso tem que ser processado primeiro. Antes disso, podemos começar a trabalhar em seguida, podemos tomar este exemplo de script. Este bloco marcado onde o que ele está fazendo é invocar uma função nele está procurando alguns elementos do selecionador de data I D. Então quero ver a hashtag em script geral Means está procurando em elementos com idee em. Então a idéia está procurando seria, neste caso, o orador. Então somos apenas entidade. Isso e vamos colá-lo por baixo da referência à pedreira J chamada Então, mais uma vez, ordene manifestantes. Não consigo enfatizar isso o suficiente. Tudo bem, então se você não seguir a ordem do que você provavelmente vai ter problemas e problemas de referência em, então eu vou mudar isso porque nós não temos nenhum elemento do selecionador de datas. O que você vai querer? Ele vai ter o nosso elemento chamado OBE. Tudo bem, então o inimigo com eu d d o b isso é regra sobre o selecionador de datas. Então eu vou apenas mudar isso eu d para lidar ser então vamos olhar para o elemento Você será uma vez que qualquer página carregada sobre ele vai tentar invocar a classe seletor de data, que é Ah, função sorry, que é um formulário mostrado sendo chamado a partir deste marcado que tem dependência é em coisas neste. Então é por isso que os manifestantes ordem mais uma vez em seguida, se olharmos para o resto do exemplo que vemos aqui que o tipo de entrada é texto, não seja ele. Então não temos que configurá-lo. Uma divindade pode ser texto sobre o i. D estava lá selecionador. Então eu já posso estabelecer o pai. Precisamos mudar o i d. O que eu vou fazer agora é mudar o tipo de data para o texto. Então aqui está a dívida. Vou mudar isso para texto na discagem. Economize em mais uma coisa que eu não assumi é a folha de estilo. Tudo bem, então esta folha de estilo realmente é o que vai fazer isso parecer assim? Certo? Então temos que incluir esse esconderijo. Entenda, dedo do pé, pegue esse acorde. É um CDN ligado ao esconderijo em algum lugar. E eu estou indo para ir e dividi-lo dentro do cabeçalho, e eu vou colocá-lo depois do estoque bootstrap. Então, tem esta estrela bootstrap. Ela não tinha o Jake ou escondeu, e depois temos mais coisas pessoais comidas. Certo, então quando estivermos frescos e tentarmos, notaríamos que não está funcionando. Tudo bem, então quando queremos depurar quando nosso javascript como em coisas não está funcionando. Podemos sempre clicar com o botão direito do mouse no espaço vazio e clicar em Inspecionar em seguida. Esse tipo de traz esta seção de depuração onde podemos ir para o console e ver quais erros estão sendo impressos na área que é prevalente aqui é que ele está dizendo que há algo que ele está tentando acessar a partir do geek ou U F. Isso não está disponível. Então lembre-se, ordem de habitação murmura, temos que ter certeza de que somos amigos o cais e arquivo que é ghee esclarecido antes de sermos amigos o arquivo que eu fiz. Mas ele está vendo que ele não pode encontrar certas coisas em um fora do aero seriamente e que ser picker não é uma função nele está fazendo referência a este arquivo J trimestre que já incluímos. Então o que está acontecendo aqui é um assunto fora da versão. Então nós temos o último desgaste geek, que é três pontos algo apontar algo. Considerando que se olharmos para trás para o exemplo, vemos que ele está contando com a versão da consulta J 1.12 ponto quatro. Então essa é a raiz do seu problema. Então, em outras palavras. Ele está dizendo que você está tentando fazer referência a algo que não está na versão atual. E isso é bom. Então, o que vamos fazer é apenas certificar-nos de que fazemos referência a isso como o exemplo teria indicado. Então vamos pegar essa referência. Vamos voltar ao nosso cordão. Eu quero colocar essa referência bem aqui acima da referência da consulta G. Então este é o nosso Jake. Onde você é uma referência. Eu estou colocando aquele bem acima dele. Tudo bem, então nós temos a última versão, que é uma consulta 3.3 ponto um em que está sendo referenciado. Em primeiro lugar, em seguida, este está sendo referenciado depois em apenas a tempo de carregar o Jake preocupá-lo I e, em seguida, todas essas referências ocorrendo selecionador data ou deve l o data picker arma controle dedo do pé trabalho. Então, se eu voltar e me refrescar, sabe o que é isso? Todas as flechas do meu console desapareceram. Eu não tenho que o site não está reclamando de nada. Não, então se eu clicar na data de saída do nascimento, eu tenho o meu controle. Tudo bem. Sobre isso é o que realmente queríamos. Então, se eu voltar para o Internet Explorer e atualizar, então meu controle, meu Collender terá a mesma aparência. E é isso que queremos. Esse nível de consistência, Andi, a responsabilidade para com nossos usuários está ligada. A grande coisa sobre isso é que ele não segue nenhuma entrada do teclado além de talvez números, mas eles não podem colocar texto são coisas muito, muito aleatórias lá dentro. Portanto, você pode realmente resolver evitar que dados ruins entrem em seu aplicativo usando esses controles. Tudo bem, então é isso por configurar nosso formulário. Andi, espero que tenha se divertido. Espero que tenhas aprendido alguma coisa. E se você tiver alguma dificuldade, me avise e eu vou me certificar de chegar até você. 4. Formulário de PHP - $GET: Ei, pessoal, parabéns por terem chegado tão longe. Espero que tenha gostado da viagem. E não se preocupe, ele vai ficar ainda mais emocionante neste vídeo. Começamos a olhar para a vida após a forma. Em outras palavras, quando realmente clicamos em enviar, esperamos que algo aconteça porque não há forma na Internet que quando clicamos em envios, nada acontece. Algo sempre acontece, e hoje vamos ver o que acontece e aprender a controlá-lo. Voltando ao nosso processo judicial, vamos começar a fazer modificações no rebocador de forma que vamos dizer duas coisas. Bem disse um método sobre a ação lá. Duas formas de métodos de missão. Um é obter e um é posado neste vídeo. Vamos estar olhando para o 1º 1 como get eu estou indo para modificar meu estrangeiro cansado e eu estou indo toe adicionar em atributos e este é chamado meu terceiro em. O valor para esses atributos vai ser a palavra get. Não, você provavelmente está se perguntando o que é colocado, o que está acontecendo. Por que isso é relevante? E eu vou trazê-los em uma pequena viagem de campo tipo de contexto perceber o que obter faz . Então vamos a um site popular como o youtube dot com. Agora o YouTube é um site de streaming de vídeo muito poderoso e muito popular em. Como um desenvolvedor iniciante, alguém não foi trabalhado em nenhum projeto de qualquer magnitude real. Até agora, vocês provavelmente não podem estar se perguntando como eles fazem o que fazem? Então eu vou dividi-lo em termos simples. Andi vai ver contextualmente o que eles recebem. Esses e todo o YouTube usam o que estamos prestes a explorar. Então aqui em cima você tem a busca. Talvez tenha percebido por não, ou talvez tenha sabido antes. Mas essa busca é apenas uma forma. Estamos criando um formulário. Temos uma caixa de texto e temos um botão de envio. Você também. Eles têm uma caixa de texto e sempre enviar botão para vê-lo Conceito. Se eu procurar vídeos em cachorros, estou digitando esse valor. E então eu clique no botão de pesquisa, que é como escolher ou enviar botão aqui. O que acontece é que ele vai para outra página, essas outras páginas, o que chamamos de ação. Tudo bem, então nós vamos olhar para a ação e onde também não pode chegar. Então, a próxima página que vem depois de enviar seu formulário é chamada de Página de Ação. E então, se você olhar no navegador do navegador, o texto no folheto. Desculpe, então você verá este ponto de interrogação, e então você verá algum valor e verá algum. Então você vê um ponto de interrogação e você vê alguns valores. O que é isso é um resultado da nossa ação. Então eles se arrependem de obter método. Então, a ação é a próxima página que vem após o formulário. Tudo bem, então em outras palavras, quando clicamos em enviar, esperamos sair do formulário, seguir outro paciente, ver se você é bem sucedido ou algo assim, certo? Essa é a nossa ação. No entanto, os valores que você está vendo aqui seriam, como resultado, fora dos valores que foram enviados pelos formulários. No nosso caso, escrevemos filhotes para serem submetidos. Tudo bem, então cachorros foram submetidos. Quando clicamos em pesquisar, então o que você vê é o que você chama de resultado de pedreira ou uma consulta. Desculpe que a palavra está escorregando, mas estes são resultados trimestrais aparecendo na U. R. R. L então, quando usamos obter, ele realmente cria esse ponto de interrogação e, em seguida, ele passa cada variável que estava na forma, bem como todos os valores. Certo, então essa é uma maneira prática de sair. Todo get é usado em todo o trabalho de ações. Então, vamos modificar nosso formulário de tal forma que quando clicamos em enviar, nos movemos para outra página em. Além disso, vamos ver o que acontece em nosso Earl quer que o método get está sendo usado. Então nós modificamos e usamos o método get A próxima coisa é que queremos a ação. Então eu vou dizer ação como outro atributo em. Eu vou dizer que a ação é sucesso que PHP Então a página de ação? Bem, primeiro, precisamos criá-lo porque até agora só temos um pagamento ph b apenas fazendo qualquer coisa que eu entendo para derrubar todas essas pastas. Então vemos que realmente só temos uma página, que é índice. Então precisamos criar outro pitch chamado Sucesso que PHP. Então, o que acontece é que quando você clicar em enviar vai ver qual página eu devo ir para a próxima ? E teríamos definido essa página aqui. Sucesso que PHP. Então eu vou apenas ir em frente e criá-lo. Eu só vou para o meu explorador dor e clique em novo arquivo. E então eu vou dizer sucesso que PHP em, então apenas da mesma maneira que eu quero em minhas páginas. Bastante consistente. Vou tomar o tribunal de requerimentos do Index, e vou pagar o sucesso de sentar. Tudo bem, então eu não tenho que fazer muito trabalho para conhecer minhas páginas parecidas. E eu vou fazer o mesmo aqui. E eu vou copiar esses rebocadores. E à medida que avançamos, refinamos o design, então trabalhe com ele para nada. Então, no sucesso muito ph. B. Estou fazendo referência ao cabeçalho no rodapé. Eu só preciso mudar o título aqui porque este é o sucesso. Pagou alguém para ver o sucesso aqui. Tudo bem, mais nenhuma modificação é que eu vou colocar em cada etiqueta aqui vai apenas imprimir . Você foi registrado. Então, quando preencherem o formulário e clicarem em enviar, queremos que saibam que foram bem-sucedidos. Então, vamos apenas dizer que você tem Bean Mr Bean registrado. Muito bem, Andi, mais uma vez, vou usar o meu bootstrap para mover facilmente o meu conteúdo. O nosso próprio alguém para ver toma o centro. Andi, acredito que o bootstrap tem algo para texto verde. Então, você sabe, codificação de cores meio que ajuda a dar dicas visuais sobre o quê? Quando algo é uma era versus quando algo é bom alguém para usar texto traço sucesso que eu acredito que deve dar um velho verde colocar em nós podemos sempre testar essa teoria. Mas, essencialmente, é isso que o nosso discurso de sucesso deve imprimir. Então, vamos ver o que acontece quando, depois de fazer essas modificações, voltar para a minha página de registro. Vou me referir, então ele fica com o último fio. Depois vou encher este barco. Então Mary Poppins em seus dias de folga é provavelmente e notar que este não é um limitado na data no tempo ou o dinheiro, especificamente a partir do ano. Então, vamos modificar isso faz. Isso vai ser irritante para os usuários. Se eles nascem nos anos 50, você pode ver o problema. E então eu vou apenas ir em frente e trabalhar com esta data que Onda deixar como um banco de dados. Quero dizer, eu estou pop no Gmail Dot Com em seu número é 12 algo aleatório. Tudo bem. E, em seguida, quando eu clicar em enviar Veja o que acontece. Você tem feijão registrado. Isso não é adorável? Então é assim que começamos a ver todo um trabalho de formas. Então, quando enviamos a próxima página que ele vai toe teria sido definido por nós na ação. Tudo bem? Sucesso que PHP. Eu notei que o ponto de interrogação está aparecendo porque é dito para ficar assim porque nós estamos recebendo essa pergunta Mark já está lá, mas nada está vindo depois dos pontos de interrogação. Então não, precisamos fazer mais algumas modificações, dedo do pé ou forma para começar a obter conteúdo para aparecer, ou você está oh em. Então nós sabemos que o get está realmente funcionando corretamente agora voltando para o nosso núcleo a próxima modificação que precisamos, necessidade, necessidade precisa precisa fazer em Really This está no contexto fora do PH. B e algumas outras línguas do serviço I. Precisamos realmente dar nossos controles de entrada o que chamamos de atributos de nome tão certo? Não, eles têm idéias e idéias usadas principalmente por Jake, Ori e irmã CS, você sabe, nomear nosso controle. Então, usando o i d. Como vimos no caso fora data de nascimento, poderíamos realmente dizer que o script deve tar obter qualquer elemento com a data i d nascimento. Então vemos que eu d pode ser útil para o lado visual das coisas, mas para o lado do servidor das coisas, precisamos usar um atributo name. Então, quando usamos o atributo name, é como se estivéssemos simulando variável. Assim, da mesma forma que podemos apenas declarar uma variável aqui e dar-lhe um valor, e podemos ecoar essa variável e é tudo agradável e elegante. A única maneira que o PHP pode realmente acessar o valor dentro de for control é se nós acessá-lo por seu nome em. A única maneira de definir o nome para o nosso controle é dar-lhe os atributos de nome. Então eu vou ir em frente e dar o primeiro nome, o atributo nome e o nome podem ser a mesma coisa. Então você não tem que se preocupar com o nome que você vai dar. Você pode ter as idéias primeiro nome e o nome é primeiro nome apenas para consistência. Vês? Tudo bem. Então você pode realmente apenas copiar e peças. A idéia está indo para a direita, e mudou de I D para necessidade. Tudo bem, então qualquer método é mais fácil para você, e eu só faço isso para alguns na tela, mas nosso continente a lição, e você pode fazer isso sozinho, hum, hum, quatro anos de idade edificação. Também é uma boa ideia dar o nome do botão de envio. A Andi. Eu só vou fazer isso. Então eu dei todos os outros nomes, e eu vou apenas dar o botão de enviar e nome também porque às vezes você quer realmente chamá-lo pelo nome pelo PHP para, dinamicamente , realizar coisas com ele. Então, cada coisa que está na minha forma, é um elemento estranho. Uma vez que ele está coletando dados ou está interagindo com dados e o botão de enviar cairia nessa segunda categoria, eu estou dando um nome a ele. Não, eu quero voltar ao meu formulário na atualização. Vou preencher este formulário. Alguns estavam usando informações de Mary Poppins. Então eu vou apresentar Onda. Fomos nossa ação, mas dê uma olhada no nosso você é Oh, assim você pode ver isso para cada elemento. Seja qual for o nome que demos ao elemento. Estamos vendo esses valores lá. Tudo bem, então primeiro nome sobrenome, você será e-mail especial no telefone, e você também notou que você está vendo os valores que foram colocados. Então o primeiro nome é igual a Mary. Sobrenome é igual a Poppins, você será igual. E isso é tipo de quatro meses por causa de personagens especiais. Os cortes não estão realmente sozinhos no euro, então está compensando os cortes, que é o que parece. Um banco de dados enigmático mas especializado, além de administrador. Esse é o espaço bem ali no e-mail em pop mais uma vez personagem especial Gmail dot com, etcetera, etcetera, etcetera, etc e enviar que, bem, não tinha valor. Então, isso é bom. Então ele vai colocar o valor. Seja qual for o valor de alguns que teria sido, estaria lá. Mas o ponto é, para cada nome que você teria definido em sua forma, os valores podem ser vistos pelo nosso lado do servidor não são para que eles recebem ação é realmente colocar o método get. Desculpe é realmente colocar todos os valores aqui. E isso é o que você chama de sequência de consulta ou resultados trimestrais, certo? Qualquer coisa após o ponto de interrogação, Não contextualmente para este formulário de registro. Isto é inofensivo. Se você estiver fazendo um uso, se você estiver fazendo um formulário de registro onde eles podem usar qualquer quantidade de resposta postural e dados confidenciais de dados, você não gostaria de usar a cadeia de pedreira aqui. Certo, então é quando olhamos para o outro método que não passa todos os seus valores em todas as suas informações valiosas aqui na URL. Publicamente acessível. Tudo bem. Não, a próxima coisa é, se eu quisesse reimprimir a informação que acabou de ser enviada no formulário na página ? Então o contexto é que Mary acabou de se inscrever e nós só queremos mostrar a ela que esta é a informação que ela inseriu enquanto afirma que ela foi registrada com sucesso. Então o que eu vou fazer é modificar minha página de ação sobre eu estou indo dedo do pé, na verdade imprimir casaco tudo o que voltou do formulário. Então, em nossa página, vamos começar a usar código PHP. Então, em primeiro lugar, eu abri minha tag PHP. Tudo bem, em seguida, dentro deste rebocador, nós vamos começar a usar uma função especializada em, uh, este é chamado get. Então isso é o que chamamos como uma super variável no PHP. Então eu vou dizer um cifrão, sublinhar, ficar bem e, em seguida, abrir quadrado. Então é realmente como uma super variável ari. Significado sobre porque eu estou usando os colchetes pode dizer-lhe cenário, mas, em seguida, cada subscrito realmente vai ter o nome fora do controlador que você define . Então eles literalmente o nome que você definiu é um assinante deste Get Ari. Tudo bem, então deixe-me colocar isso em contexto se eu vir pegar o primeiro nome. Tudo bem em. Bem, isso só vai obter os valores, realmente quero imprimi-lo. Oh, então eu vou ter que dizer eco, pegar o primeiro nome. Tudo bem. Então, quando eu voltar para a minha página no formulário Phil, ele vai, em seguida, clicar. Submeter. Então eu vou ver Mary sendo ecoada para a tela. E está imprimindo Mary porque está recebendo o valor que está associado ao primeiro nome. Tudo bem, então isso é completo. Você começa a obter de volta os valores que estão sendo enviados no formulário que você clicar em enviá-lo passa no teste. Em algum lugar que em algum lugar está nesta super variável praticamente em você pode segmentar esta super variável usando o nome fora do controle que você pretende toe obter o valor para Tudo bem. Então, mais uma vez, esta é apenas uma grande variável ou Ari e você apenas obter os específicos usando o nome subscript que é que corresponde com o controle. Você está tentando tirar o valor. Então isso significa que eu posso realmente usar isso e obter todos os outros valores entender para duplicar essa linha e ver obter sobrenome. Quero que o acordo seja que está a ser apresentado. Eu quero o que mais é que havia uma especialidade. Eles podem ir em frente e apenas sentir estes velhos fora da tela. Vou fazer tudo na tela. Preciso dele no seu tempo livre. Tudo bem, então, tendo feito isso, se eu for e me refrescar, então eu vou vê-los todos sendo impressos e fora do curso. Sabemos como funciona a declaração Echo. Não é quando o dedo tenta espaço para nós. Mas isso é muito bonito saber a coisa maravilhosa sobre o obter uma vez contra isso, eu não tive que voltar e enviar o formulário. É apenas o que está na URL está disponível no get aqui em todos os momentos. Então só porque eu atualizei sobre os valores já estão lá. Então ele só tem sobre os valores em. Olha para isto. Se eu mudar este dedo do pé meu nome e, em seguida, eu atualizar a página. Não, desculpe. Se eu alterá-lo para o meu nome e, em seguida, pressionar enter não atualizado, você irá atualizar a página. Nós recarregamos a página porque as variáveis ainda estão lá no mundo. Ele só obteria qualquer valor na variável que está sendo referenciada. Então, mais uma vez, isso pode ser útil. Vemos que um grande site como o YouTube o usa, mas eles só o usam para mostrar os resultados da pesquisa. Eles não estão usando isso para passar informações confidenciais. Não, eu tenho em outra janela exemplo. Então isso é botas beliscar. As pessoas vêm aqui e fazem você conhecer pequenos trechos que você pode se inspirar, se não barra completamente aqui. Eles não conseguem uma representação simples , da informação de alguém, e vou usar isto como inspiração do dedo do pé sobre o pH. Aqui nós procuramos por qualquer um que acabou de se registrar. Agora eu vou para o site bootstrap e eu vou usar o componente do cartão, e eu fui até você tirar inspiração disso para representar os registrantes. Informações sobre este discurso de sucesso não são assim. Eu só vou tirar inspiração de casa. Quer olhar, eles não enviaram nenhuma foto de perfil, e tudo bem. Vou deixar isso em paz, mas pelo menos nos deixa ver melhor. Podemos representar seus dados usando inspiração a partir deste controle nossos componentes. Só estou me perguntando para olhar para todos os modelos, e eu vejo aqui que este é simples. É projetado apenas para texto, e tudo o que temos é texto. Então, vamos apenas copiar isso. Então voltamos ao nosso discurso de sucesso, então eu vou colar isso de todo o PHP, passar algum tempo fazendo recuo, e então o que vamos fazer é modificar tudo isso. Lembre-se que fora da caixa este tribunal vai funcionar, mas nós queremos este Este dedo representação realmente tem a Dita vindo de ou forma. Então isso é o que temos até agora, nós temos o título do carro e um subtítulo, e então nós temos algumas coisas. Alguns textos são. Então o que eu vou fazer é colocar o nome completo dos registrantes aqui, onde é o título do carro dele. Então eu vou fazer essa mudança e nós apenas fazê-lo lado a lado. Então o que eu quero fazer é Sprint primeiro nome e sobrenome nesta seção para esta conversa de cinco anos . Certo, lembre-se que temos várias maneiras de fazer isso. A maneira mais simples para mim é colocar um bloco PHP. Tudo bem, alguns sobrepondo isso entre o H cinco puxão que eu quero ecoar. Eu vou ser ecoando o valor para o primeiro nome em um espaço no valor para o sobrenome. E então lembre-se que realmente e verdadeiramente este espaço não vai existir. Então eu estou indo, colocá-los entre aspas, usar minha interpolação. Tudo bem. E então o que isso vai fazer é apenas criar um longo contíguo bloco de texto. Andi, com o meu semi-cólon, e acho que há algo errado aqui. Ok, então isso e nós estamos recebendo uma linha vermelha. E se eu olhar para trás para a minha página, vejo que o pêssego quebrou por esse erro. Então o D sobre a depuração é bastante claro, e está nos enviando para onde qual arquivo tem a seta ao amanhecer? Qual linha? E isso é mentir 11. E essa é a nossa linha aqui. Então, se isso não funcionar, então eu vou em vez disso remover as aspas em. Vou usar alguma concatenação aqui, alguém para conquistar Tinny. São as variáveis da ferramenta, algumas que ecoam o primeiro nome. E então eu vou enganar o Capitão 8 um espaço em branco para o sobrenome. Tudo bem, então temos essa impressão longa. Então, às vezes você pode ter uma idéia de todo para escrever código como eu acabei de fazer. Então pode não funcionar casaco, e tudo bem. Você sempre pode saber, todas as técnicas. Ele sempre pode atualizar e reagrupar e tentar de outra maneira. Então, quando eu atualizo isso, então vemos nossos valores sendo impressos como eles estão aqui. Então não gosto que me chamem fantoches. Compreender? Para mudar o nome de mudanças, mas para Mary Press entrar e, em seguida, obter Mary Poppins. Certo, então esse é o primeiro passo. Em seguida, vou mudar o subtítulo. Toby ela forneceu especialidade. Então ela diz que é uma administradora de banco de dados. Então eu vou mudar o texto aqui para o subtítulo da mesma maneira. Então não, estamos vendo que podemos copiar isso, e eu vou criar um espaço. Então nós temos duas linhas aqui para que possamos ver o que cada seis começa e pára no que está dentro h seis, que é o nosso bloco de praia b em. Então. Vou mudar isto para Specialty. Andi, é tudo o que preciso impresso. Então eu vou apenas remover tudo isso em então quando eu atualizar minha página o banco de dados Mary Poppins em tudo certo. E então eu tenho certeza que você entendeu a idéia. Você pode ir em frente e se trocar. Por isso, inspiramo-nos num controlador existente no Não, estamos a torná-lo nosso. Agora estamos fazendo dinâmica porque os valores aqui são relativos ao que está sendo enviado no formulário. Tudo bem, então quantas mudanças fizerem, vocês podem vê-las refletidas aqui então eu vou seguir em frente e dominar o resto das mudanças aqui. E então nós apenas olhamos para a arte do produto final. Então eu fiz todas as mudanças, tudo o que foi. Faça a aula P. É uma mensagem de carro, e eu fiz cada um. E então o que vou fazer aqui é ser explícito. Então, data de nascimento, cólon para cada um deles. Só vou me certificar de que o texto estático está lá. Então isso é tudo que começamos a mesclar texto estático com texto dinâmico porque cada data de nascimento vai obter endereço de e-mail impresso vai ser impresso. Mas o que está no lado seguinte fora do cólon é sempre vai ser relativo dedo do pé o que é submetido. Tudo bem, então quando eu fizer tudo isso de dia, eu vou levar todos esses puxadores de tio porque eu realmente não preciso deles, certo? Não, eu não preciso deles no perfil, mas é claro, você sabe, fazer o seu próprio. Você personaliza todo o seu que você queria. E então quando eu atualizei minha página, eu vejo aqui que eu tenho ah ligeiro erro e é visto que eu tenho um índice indefinido chamado Contato e determinar o número da linha, e isso é porque os índices telefone em, não contato. Então você me cometeu esses erros, e o PHP sempre estará alerta para eles para mantê-lo na linha quando eu atualizar. É com isso que acabo. Então, um cartão de contato para mostrar a Mary Poppins tudo o que ela acabou de enviar. 5. Formulário de PHP - $POST: Ei, pessoal. Em nosso vídeo anterior, passamos por modificar nosso dedo do pé de envio de formulário. Na verdade, Ir para outra página uma vez de dados foi enviado no formulário no DTI para exibir os dados que estão sendo enviados. Então, apenas como uma recapitulação rápida onde distância de rapidamente, Philo esta forma. E eu vou usar valores que estavam lá antes para agilizar esse processo. E então quando eu clicar em enviar, vamos para a próxima página onde tudo o que acabamos de preencher está lá em exibição. Agora olhamos para o uso de um e ação e para o método get onda get método realmente coloca todos os valores que estão sendo submetidos na forma ali mesmo no Ural em Plea Inseto. Você não quer isso se está lidando com informações confidenciais, você não quer isso. O conde será uma fonte para qualquer um que tenha intenções maliciosas de vir e obter os dados. Não deveria ser assim tão simples. Então, para certas aplicações, sim, está tudo bem. Mas então, quando você está lidando com dados confidenciais, você quer usar outro método que é chamado post, e é isso que vamos estar olhando hoje. Não, entrar no posto são muito, muito parecidos. Portanto, as mudanças que precisamos para fazer dedo do pé ou fazenda e rasgado pêssego ação serão muito, muito mínimas agora. A primeira mudança que faríamos é mudar o método. Então nós dissemos, Obter o que queremos dizer desta vez é post Andi que é metade de desconto. O trabalho termina bem ali. Então, apenas mudando o método de começa a postar o formulário, comportamento será totalmente diferente. E eu vou te mostrar. Não, você percebe que há uma diferença. Então eu estou recebendo um erro aqui, e é vendo que eu tenho índices indefinidos em fazer outras coisas. Então ele está procurando os valores que deveriam estar lá, e não está encontrando. Além disso, você percebe que minha garota não mancha sobre nenhum valor. Então você provavelmente está se perguntando, OK, onde estão os valores? Então, se voltarmos para a nossa página de ação, que foi o sucesso que o PHP, nós teríamos escrito um pouco fora do curso, nós tiramos isso do bootstrap Society Does obter esse cartão. O que estávamos fazendo era ecoar em cada índice fora do alcance. Então o que acontece é que porque nós não estamos passando sobre os valores no método get mais . O Super Vera antes de começar não está recebendo nenhum valor. É isso que está acontecendo aqui. Então é por isso que estamos recebendo esses erros. Esse nome de índice indefinido porque eles recebem Super Variável está procurando algum valor com o primeiro nome do índice. mesmo com o sobrenome em todos os outros. Então este não é uma maneira de introduzir a outra super variável, que funciona com o método post em que um é post. É simples assim. Então eu vou deixar este tribunal e na verdade apenas ir dedo para fora esta pontuação, ou pelo menos a maioria fora desta quadra, porque depois de chegar até o PHP manualmente. Então eu vou apenas para comentários comentários. Andi, vou deixar um aviso por cima. Então todos sabemos para que serve este código. Tudo bem, então eu apenas jogar esse cara pequeno para ver que esta primavera Sol valoriza nosso dedão anterior a ação estar usando método igual a obter para que saibamos que essa seção fora da quadra era para . No entanto, vou duplicar esta seção do código. Eu só vou fazer algumas modificações como eu disse Get on post são muito, muito semelhantes na grande diferença é que em vez de ver get, Eu vou ver sinal do dólar na pontuação. Postar sobre isso é metade do trabalho do Peter. Vou deixar com o primeiro nome ligado. Então eu vou voltar agora. Outra coisa é que, como os valores não estão aqui no início, é meio que visitar os fundos. É como se tivesse retransmissão Tofik, submissão Ari. Se tentar, refresque a ação, Peter. Então, quando eu continuar a notar, sei que Ok, no meio do ruído, você vê a palavra espelho, e isso é porque a super variável Post post está realmente vendo um valor chamado primeiro nome. É Ele funciona da mesma forma que contra se você entender o que o get funciona literalmente apenas mudando o método de começar a postar em onde você teria dito chegar você ver Post. Essa é a grande diferença. Mas depois quero torradas. Eu aprecio o fato de que o comportamento também é diferente porque não, nós não temos essa string de consulta. Não temos esse ponto de interrogação com todos os valores como vimos com os pontos. Tudo bem, então um em que publicamos dados, acontece em segundo plano. Assim, os dados confidenciais são potencialmente sensíveis. Os dados não estão sendo passados no URL como era com o get. No entanto, mais que seja obscurecido dos olhos do usuário, nós, os desenvolvedores, sabemos exatamente o que está acontecendo porque sabemos que somos nós que estamos puxando as cordas. Então eu vou apenas ir em frente e mudar tudo isso, colocar referências no post, e então eu vou atualizar a página, que vai me perguntar se eu quero. Você sabe, ele vai dizer que a página que eu estou procurando tinha algumas informações. Desejo reenviar? Certo. Então é isso que Crume está perguntando. Entende? Pode continuar fazendo isso. Depois voltamos ao normal. Então, todos os dados que acabei de passar no formulário são não. Não há mais erros, mas observe um. Nenhum dado está sendo passado no URL. No entanto, somos capazes de acessá-lo na parte de trás no entanto, alguém para começar do zero. Eu vou apenas voltar para o formulário e, em seguida, fui para enviar um novo disco. Então vou inventar uma nova pessoa. Agnes Walters Onda. Em um beco sem saída desse exercício, vamos consertar esse seletor de datas, e então essa pessoa é um desenvolvedor de software. A Andi. Ela é uma Walter no Gmail Dot com. Tudo bem, esse não é o endereço apropriado da noite no número é um até a noite. Tudo bem, eu sei quando nós enviamos notas, nada no mundo, os primeiros limpadores de tela. Além disso, no entanto, todos os dados dela estão lá para exibição. Então, mais uma vez, isso é porque não estamos usando o método post. Não, eu vi. Só saiba que vamos consertar o seletor de datas e vamos fazer isso juntos. Não. Então eu vou para a DJIA Query You. I referências para o Deep eaker em ir para ver quais opções estão disponíveis. Então eu vou ao site. Eu acho que ele selecionador em. Então eu vou ver aqui se eles têm algum ajuste. São formas personalizadas do cliente para exibir o seletor de datas que é mais propício para minha base de usuários ? Tudo bem. E eu encontrei o que é mês de exibição em menus dyear Então você clica no exemplo e você vê que ele permite que você selecione o mês, selecione o ano e, em seguida, selecione a data em. Isso é muito melhor do que o que tínhamos anteriormente, que é o padrão em onde se eu nascesse em 1950 eu teria que clicar. Isso não é prático, certo? Então não quero modificá-lo. Então eu vou olhar para o cabo de exemplo para ver o que é que faz essa diferença. E então a grande diferença que estou detectando aqui está na função, então sabemos que chamamos de selecionador de datas. Mas o que fizemos foi chamar o seletor de datas e abrir e fechar varia. O que eles estão fazendo é passar alguns valores aqui. Então eu sou apenas entidade esses valores porque isso é tudo que eu realmente preciso, porque eu tenho o resto do tribunal. Então eles querem copiar tudo isso e substituir o que os idosos são. Basta copiar as partes relevantes e substituir. Só estou parando na parte relevante. Então eu vou voltar para o meu tribunal, onde meus catadores definiram qual a função estava sendo chamada no meu arquivo de rodapé. Onda, vou modificá-lo com os novos valores. Tudo bem, Sob Passe algum tempo consertando meu recuo. Tudo bem. No DSO meu seletor de data No tem alguns parâmetros sendo passados. Ok, então é por isso que seu tribunal precisa parecer se você tem a mesma preocupação que eu Então quando eu voltar e atualizar minha página e eu recarregar meu seletor de datas Não, parece mais fácil de usar. Mudamos meus usuários para selecionar suas ações. Eu posso saber confortavelmente rolar em seguida, você vê, ele está limitando qual ano Então esse é outro ajuste que provavelmente vai querer encontrar volta para a nossa corte. Eu vou adicionar mais um atributos neste vai definir o intervalo de ano sobre os atributos é literalmente aqui. Alcance em, em seguida, Colon Sanders seguindo o mesmo padrão que os anteriores em. Então o valor para isso pode ser que eu acho que é negativo Um em Dredd de plantão mais zero. Tudo bem, eu vou ver isso e ver como é. E quando eu recarregar, dê uma olhada nos anos disponíveis para mim nesta entrega. Eu não vejo? Eu tenho até 2019 em até 100 anos. Então deixe-me explicar que quando eu definir polegadas ano e eu disse menos 100 cólon mais zero, isso significa que eu posso ver até 100 anos atrás, mas nada além deste ano. Tudo bem, então este será um alvo móvel fora do curso, porque no próximo ano 100 anos atrás seria 1920 em oposição a 1919 como é. Não, na orelha também próxima seria 2020. Então é assim que você iria para um barco sentado fora do seu alcance que está disponível para seleção de seu controle de calendário. Em última análise, o objetivo deste vídeo tutorial foi nos ajudar a entender todo o fim de semana enviar dados de um formulário para a outra página usando o método post. Então nós já temos o get e você ainda tem a referência do tribunal marcada acima. Não, nós sabemos como fazê-lo com post em comparavelmente, Cada um tem seu próprio propósito. Cada um tem suas vantagens. Eu só os uso sabiamente 6. Design de banco com phpMyAdmin: Ei, pessoal. Em todos os nossos vídeos anteriores, até este momento, temos olhado para projetar um formulário, enviando os dados para poder visualizá-lo após o envio. O próximo passo importante a dar depois de fazer todo esse trabalho maravilhoso é realmente armazenar esses dados que amanhã podemos visualizá-los no dia seguinte e, essencialmente, estamos criando um sistema de registro para uma conferência 90. Então, no final do dia, precisamos ver uma lista completa de todos que preencheram este formulário. O próximo grande requisito para que isso seja realizado é um banco de dados. Nosso objetivo para este vídeo é iniciar ou processo de criação de banco de dados. E vamos estar usando PHP my admin para projetar um banco de dados em Maria db cortar meu SQL No para começar , primeiro precisamos lançar PHP meu admin. E para fazer isso, nós apenas abrimos uma nova banheira ou navegador e então nós podemos subir o nosso endereço de host local. Mas o aplicativo que estamos indo para a pasta é PHP meu quero dizer arte. Então, isso é um pouco as letras Ph b m y a d M i n não são Então, se você digitar isso e não funciona, então você provavelmente quer ter certeza de que seu serviço ESC UAL está funcionando doente e apenas abrir zump e certifique-se de que meu SQL está funcionando e correndo. Andi, deve funcionar, está bem? Não, algo é o bilhete. Eu vou dizer meu SQL muito porque para os anos que tem sido o mecanismo de banco de dados padrão que vem empacotado em Xam, despeje um para qualquer fora aqueles ph servidor. Aplicações de ambiente B. Mais recentemente, houve outra versão da minha escola chamada Maria DB. E assim você os vê. Você usou muito intercambiavelmente com bastante frequência. Não. Se você tiver sucesso Bro dois Petri, meu administrador do que sua tela seria algo parecido com isso. Se ele pedir para arrastar, então você pode usar rota sem senha. Isso geralmente funciona. E se ainda tiveres dificuldade, podes avisar-me e eu ajudo-te. Sem PHP. Meu administrador é um sistema de gerenciamento de banco de dados projetado bem, realmente. Para o meu perguntar o seu corte Maria DD é completamente baseado em, e ele teria sido instalado quando você instalou alguns. Portanto, este é um portal baseado na Web que permite manipular o banco de dados como você precisa, sem qualquer sobrecarga adicional desligada, abrindo outro aplicativo e usando muitos recursos. Então é realmente prático e silencioso limpo. É fácil de usar em, então vamos usar isso para projetar nosso banco de dados que estará aceitando dados deste formulário . Não, com base na natureza deste formulário, eu tenho escopo duas tabelas no meu design em It's Ok se você criar queria, poderíamos criar uma tabela para armazenar tudo. Então nós apenas sabemos que estamos nos sentindo desejados com todas as informações no dia, eu vou explicar por que eu tenho duas tabelas quando eu estou projetando as tabelas. Então as mesas que vamos ter serão um participante na área fora. A perícia não está ligada. Vou explicar por que estou fazendo uma mesa só para ouvir fora de conhecimento para que possamos voltar para Peach Member em homens em seguida para criar um novo banco de dados. Nós clicamos neste novo este novo botão aqui, aquele link e, em seguida, que irá trazer uma caixa de diálogo ou mudança apareceu em vez e pedir-nos para o nome fora do banco de dados, então nós vamos apenas chamar este um atendimento. Então eu sempre nomeio meus bancos de dados. Hum, claramente o suficiente para eu saber exatamente a que aplicativo está relacionado para que eu possa ver assiduidade sublinhar Bebe art, e então nós vamos ir em frente e clicar, criar, e então ele vai passar a permitir-nos começar a criar tabelas. Então a primeira tabela, hum, foi criar é um 10 B no número de colunas que eu quero porque eu posso fazer todas as concedidas. Eu posso mudar isso ao longo do caminho, mas eu posso apenas contatar e dizer que eu quero 123456 colunas, segundos aumenta número 26 e, em seguida, clique em Goal on. Em seguida, a próxima tela está me pedindo dedo realmente preencher o que eu quero tão bem, na verdade deveria ter obtido uma coluna extra, e eu vou ver por que. Então, a primeira coluna que eu costumo colocar em qualquer banco de dados que estou projetando está na chave primária autoincriminadora . Então o primeiro 1 seria um I d. Eu vou chamá-lo de um 10 d sublinhado I d. Eu vou chamá-lo de um 10 d sublinhado I d. Deixo o tipo de dados de int Andi, Eu estou indo para um dizer que ele deve ser um incremento eyeota Meios vai co-propriedade por si só. Então isso significa que para cada registro que vai nesta coluna, o valor nesta coluna sempre será alterado. E assim sempre será único. E assim esta será a minha chave primária, uma vez que cada banco de dados devidamente projetado deve incluir registros que são identificados exclusivamente em ter nossa chave primária que é única é o passo número um. Então, a maneira mais fácil de ter certeza de que você sempre terá uma idéia única, porque com base nos dados que estamos coletando, não há nada único. O único talvez o endereço de e-mail tem que ser único cada vez e realmente e realmente não faz porque eu não vou impedir alguém de usar o mesmo endereço de e-mail duas vezes. Então não há nada aqui que diga “velho”. Essa pessoa é definitivamente única, então eu vou criar meu próprio valor único. Chame isso de participante. Eu faria isso auto incremental ing Andi, Eu também vou e, em seguida, que prometem a adição off no índice, onde eles estão perguntando se eu quero torná-lo um índice primário. Outros vão em frente. O que isso fez foi criar o índice chamado Primário, então é assim que obtemos a chave primária. Tudo bem, em incrementos automáticos. Apenas habilitando o incremento automático, ele só vai dizer, Oh, isso é suposto ser a chave primária em Ao habilitar isso, então sabemos que temos a chave primária que também está implementando. Então eu vou em frente e criar uma coluna que corresponde a cada ponto de dados que eu pretendo armazenar primeiro nome, sobrenome, data de nascimento no DSO. Vou sentir aqueles velhos em Petri. Meu administrador. Então o nosso primeiro nome e, em seguida, o tipo de dados para o primeiro nome não pode ser int ele. Tem que ser algo que seria como uma corda. Então nós bancos de dados eles não são. Quanto a dar um discurso, esteja com a BHP. O tipo de dados não importava para a variável. Eu poderia colocar o número de texto de tudo dentro de qualquer tipo de variável. Mas no banco de dados você tem que ser muito, muito especial porque o tipo de dados será armazenado dentro dessa coluna. Então, os mais populares que você vê usarão estão no topo. Nós temos o nosso char, que é um usado para texto muito, e então nós também temos texto, Tudo bem, então você pode usar qualquer um. Vou manter a troca porque Varta está por aí há algum tempo. E isso é o que todos sempre usaram. E esse é o mais popular. Você sempre verá outros mecanismos de banco de dados. Vou usar var char onda. Vou definir este comprimento do pé 50. Então, definindo Bartsch são, que é um texto sobre o 50. Estou a dizer que estou a permitir que esta coluna armazene qualquer bloco de texto com até 50 caracteres tamanho. Tudo bem, acho que posso definir padrões e todo tipo de coisas, mas eu realmente não preciso sentar mais nada porque eu não preciso de um padrão. Valor deve ser obtê-lo a partir do formulário no outro. As outras opções não se aplicam, então eu não vou colocá-las. Então eu só passo para o próximo, que é sobrenome e sobrenome. Tenho certeza que concordará. Kit pode ter o mesmo tratamento que a primeira equipe, e eu também me que 50. Você pode aumentar isso se desejar. Talvez 100 porque às vezes você tem pessoas vindo com alguns nomes muito únicos e longos . Então o que vai acontecer é que se alguém se sentir velho aqui, forma em seu nome é mais do que o número. Você senta aqui, ele vai truncá-lo para que ele só vai armazenar tantos caracteres quanto puder. Então sentar um número maior é sempre uma boa idéia no caso de você estar antecipando que o valor baseado em ah não é prático. Muito bem, então o nosso primeiro nome apelido seguinte é feito fora do nascimento. Tudo bem, então observa que isso não necessariamente tem que se alinhar com o rótulo ou o nome ou a idéia de que você dá o controle porque o mapeamento será feito de outra maneira. Mas você sempre quer ter certeza de que você definiu algum espaço para armazenar algum valor na data de nascimento não seria um número. É mais fora de um encontro. Então eu vou usar o tipo de dados de data porque eu vou estar armazenando em data dentro dessa coluna. Não preciso definir um comprimento para o valor. Então você sabe o que é isso? Às vezes sutil. E, às vezes, não. Não precisa de um comprimento. Eles não precisam de um comprimento. As outras duas colunas seriam o endereço de e-mail Número de contato Onda. Tudo bem. Em ambos estes seria var char Onda, disse endereço de e-mail para 100 no número de contato. Eu vou sentar como Varta também não são int porque as pessoas podem vir e eles usam seus traços e seus suportes quando eles estão tocando em seus números, porque algumas pessoas digitam seus números assim e, em seguida, espécies certo? Então você pode acabar com variações a menos que você vai ser muito rigoroso com sua mesquita, e mesmo assim você não quer usar um número. Eu minha regra pessoal, é não usar um tipo de dados numéricos se você não pretende fazer mês na coluna. Então não vamos fazer matemática com o contato da pessoa. Os números são deixar que, como Varta no número típico é de até 11 ou 13 caracteres. Também disse isso o 15 para que qualquer um, por qualquer razão se usar 11 dígitos ou 13 dígitos são você é um extra. Não há espaço para você. Tudo bem, , nós deixamos de fora uma coluna, que seria a era fora da experiência, então eu só vou adicionar uma nova coluna. Então saímos das colunas porque pedi seis, mas usei uma das seis para fazer outra coisa. Então, no topo aqui, eu posso apenas ver um estranho colunas são apenas deixar ir. E isso só me dá outra coluna. Então eu vou dizer chá especial. Tudo bem, Onda, vou deixar isso como está. Você vê por quê? Então eu vou dizer especialidade. Eu d Tudo bem em então eu posso escolher para pré-visualizar o SQL porque realmente, na verdade, isso vai apenas executar algum SQL em segundo plano em Se você não tem certeza sobre SQL ou a própria linguagem, você pode enganar ou meu outros tutoriais sobre o desenvolvimento do meu banco de dados de desenvolvimento SQL e domínio. E você também pode conferir meu outro conjunto de vídeos no Microsoft SQL Server para todos. Então, sem visualizar o meu SQL que seria usado para executar isso, eu posso distrito salvar que realmente envolverá o SQL em segundo plano em dar-nos a nossa tabela e, em seguida, este é o nosso design de tabela e estrutura. Então nós olhamos e vemos todos fora de nossas colunas ou como eles foram definidos. Então você vê, esta pequena chave indica que esta é a chave primária, tudo bem. E então eles dizem que também é incremental. Então isso significa que para cada valor que entra em, uh, valor será gerado exclusivamente nesta coluna. Não, eu disse que teríamos que fazer mesas, e eu explicaria o porquê. Então você notou que eu uso a especialidade I d. Em vez disso fora da especialidade como um gráfico de barras, mesmo que nós estamos pedindo Bem , nós estamos mostrando palavras aqui, mas nós não vamos armazenar palavras. A razão para isso é que não quero guardar palavras para mim. É inútil ter banco de dados adicionar média 20 vezes no meu banco de dados. Em vez de fazer isso, vou criar outra mesa só para as especialidades. Andi, eu fui fazer referência a essa tabela sempre que alguém seleciona algo desta gota conhecido . Então, em outras palavras, se eu tivesse uma nova especialidade para esta lista, então essa lista deveria automaticamente puxar isso daquela tabela. Eu não deveria ter que entrar em feito em meu html toda vez. E se você se lembrar do dinheiro ou dos presentes adicionando as opções e então eu teria que continuar , eu não sei a opção em então que isso pode ser tedioso. Então o que eu vou fazer é criar uma tabela que terá o único propósito de armazenar a lista de especialidades porque nós só temos quatro em DWI. Não, eu provoco o nosso mais amplo, um portador do que apenas quatro especialidades. Então, isso nos dará maior flexibilidade no gerenciamento de nossas listas em qualquer lugar que tenhamos uma lista suspensa. É bom que caia nas ruas. São dados de uma mesa. Então eu vou para o novo criar a tabela chamada especialidades. Certo, , preciso de uma especialidade no placar , então começo sempre com minha coluna. Eu vou fazê-lo também implementando, o que me levará a torná-lo uma chave primária. E eu continuo internado. Tudo o resto está bem, então. Só vou ter outra coluna. Esse é o nome dele. Então esta seria a idéia, e este será o nome. Meu nome seria o nome da especialidade. Então, o valor de texto que está associado a essa ideia entrará. Esta coluna não está ligada. Então vou conhecer aquele dos nossos char. Eu posso fazer isso em 150, então eu vou economizar. E então eu tenho duas mesas. Então eu tenho especialidades especializadas e eu tenho participantes para saber que nós temos esta nova mesa no bloco e nós precisamos estabelecer que a especialidade I d da tabela de especialidades é um pouco relacionado a um m Basta clicar sobre a mesa aqui, participante. Antiético. Suponha que com a estrutura africana em, queremos estabelecer que estes dois estão relacionados e, literalmente, a palavra relacionada se aplica porque em bancos de dados você tem o que você chama de relacionamentos. Então precisamos estabelecer que há uma relação entre a especialidade i d em nossa tabela participante na especialidade I d em nossa tabela de especialidades não são então eu vou voltar para a minha mesa participante Clique na estrutura em que eu vou clicar exibição de relação. Então, tem estrutura de tabela eram visão de relação em Então isso vai saber pediu-nos para configurar o que chamamos de restrições chave estrangeira. Não, em poucas palavras, nossa chave primária é um valor único em uma tabela que significa participante, I d é a chave primária em sua tabela 10 de. No entanto, precisamos fazer referência à chave primária fora da tabela de especialidades dentro da tabela participante, e é isso que a torna uma chave estrangeira. Então é uma chave primária no estábulo da especialidade. Mas aqui naquele detalhe 10 vai ser, ah, chave estrangeira. Outra coisa com essa constante é que se eu tiver quatro especialidades na tabela de especialidades , eu não posso referenciar valor na tabela de participantes. Isso não leva isso feito. Dito isso, é outro nível de proteção garantir que seus dados estejam limpos e sejam sólidos. Então eu vou apenas adicionar este nome de restrição e número um para dar-lhe um nome que me diz o que é para tão f k abreviação para chave estrangeira em. É uma chave estrangeira entre a participante Onda Ah, especialidades. Certo, então essa é a minha convenção de nomes. Você poderia nomear esses filhotes se você quisesse, mas se você nomear os filhotes, tirar um sabático e voltar, eu olhei para o seu tribunal. Não faria muito sentido. Então o ponto é, você quer dar a isso um nome que é realmente simbólico fora do que ele é para, então meus joelhos dizendo que esta é uma restrição de chave estrangeira entre a tabela participante no estábulo especialidade em. Posso deixar a restrição se você mudar isso. A cascata significa que, se você excluir o valor da chave primária da tabela primária, ele excluiria todos os valores relacionados. Então eu vou deixar isso para não ligar. Eu vou adicionar a coluna da tabela de participantes, que é a especialidade que eu d em. Então eu vou selecionar o banco de dados ao qual isso está relacionado. Então ainda estamos naquele tendão, Stevie em seguida, a mesa dentro fora do atendimento. Db é especialidades em, em seguida, a coluna é ideia de especialidade, por isso está sempre indo para padrão. Seja qual for. A chave primária está fora da próxima equipe que você diz que há um relacionamento com porque ele sabe que claramente o ar tentando relacioná-lo com a chave primária. Então, se você não vê-lo aqui em cima assim, isso significa que você não configurou sua chave primária corretamente. Agora, uma vez, se você quiser uma compreensão mais profunda sobre bancos de dados, relacionamentos, SQL todas essas tecnologias maravilhosas, ele pode enganar meus outros vídeos. Meu desenvolvimento e domínio de banco de dados SQL ou Microsoft SQL Server para todos. Agora, tendo feito todas essas coisas, podemos ir em frente e clicar em Salvar em, então isso realmente teria executado esta pedreira em configurar esse intervalo de const entre as duas tabelas. Se você precisar modificar rapidamente sua tabela e fazer algo as chaves primárias porque você pode ter perdido ou você não entendeu bem na primeira vez, você sempre pode pegar a coluna e clicar em principal. Tudo bem, e então, se você quiser fazer isso fora dos incrementos, você pode ir em frente e clicar. Mudar isso vai trazê-lo de volta para a visão de design onde você poderia ir em frente e escrever tudo o que você pode ter perdido na primeira vez. É isso. Para mais de banco de dados projetado para este pequeno aplicativo, você sempre terá acesso ao PHP, meu administrador e para cada aplicativo que você construir e você pode precisar de um banco de dados para, você sempre pode ir para o host local barra PHP. Meu administrador. Vá em frente e crie seu novo banco de dados em todas as tabelas que você precisa. Se você precisar de mais informações ou tiver alguma dificuldade em seguir os passos neste vídeo , sinta-se à vontade para me dar uma linha e eu vou ter certeza de acompanhar com você 7. Conecte com banco banco de dados usando PHP PDA: Ei, pessoal, neste vídeo, continuamos nossa tarefa fora, ligando nosso formulário de registro no nosso banco de dados. Você sabe, vídeo anterior nós fomos para Petri meu administrador e criamos nosso banco de dados. Com duas tabelas sobre neste vídeo, vamos olhar para como nós realmente se conectar a este banco de dados de nossa aplicação web. Agora, para começar esse processo, vamos voltar para o nosso projeto no Visual Studio Court em O que queremos fazer é em um novo arquivo para todo este projeto neste incêndio será responsável por lidar com a conexão com o banco de dados. Para começar esta festa. Vou clicar na pasta que criamos desde o início chamado DB. Ele está vazio agora quando fomos selecioná-lo e criar um novo arquivo lá. E eu vou chamar esse arquivo, querida, querida, aquele CEO e dot PHP e isso é apenas uma convenção de nomenclatura. Os outros tutoriais ou outras fontes podem tê-lo como banco de dados conficker ou outra coisa. Realmente não importa o que você chama de arquivo, mas mais uma vez, você sempre quis ser indicativo de seu propósito. Agora, dentro deste arquivo, eu vou começar com meus bandidos Ph B ligados. Vamos ver como construímos o que chamamos de cadeia de conexão. Vamos usar o que chamamos de objeto DOP. Não, existem várias maneiras de conectar uma base de dados no PHP. Eles são o que você chama de olhos Ap que muito ou facilitam a conexão entre seu código PHP no banco de dados no que usaremos é PDO Now. A razão pela qual estou usando DOP é que oferece mais proteção do que imunidade de outras bibliotecas . Então, literalmente, as letras PD ou aquele vídeo está lá, não é? Veja outros drivers como o meu SQL em você verá meu SQL I Aqueles são menos seguros do que PDO, e vídeo é aquele que as pessoas recomendam que você use para evitar coisas como injeção de SQL em para evitar contra outras preocupações de segurança. Além disso, usando o método PDO, você realmente reduz a necessidade de se conectar ao banco de dados sempre que quiser fazer algo contra o banco de dados, as conexões possam ser caras. Andi, quanto mais seu aplicativo estiver sendo usado, mais conexões estarão lá. Então, é claro, você quer minimizar a frequência com que alguém se conecta, mesmo que tenha o dedo do pé muitas vezes. Você não quer multiplicar isso. Então o vídeo oferece alguns benefícios para o tradicional meu SQL na minha escola, eu, um ap eyes on. Mas é o que vamos usar neste curso. Noto iniciar a modificação ou arquivo. A primeira coisa que eu vou fazer é a clara na variável, e eu vou chamá-la host on. Vou dar-lhe um valor. Agora, o volume que dá é relativo ao servidor de banco de dados, o significa que meu servidor de banco de dados está sentado em cavalos locais e Petri. Meu administrador é apenas uma janela para este servidor de banco de dados. Tudo bem, mas o servidor de banco de dados está no host local, então eu tenho duas maneiras de ler o “brinde”. Consigo ver a palavra loca anfitrião. Ou você também pode ver as pessoas se referem Toho, co anfitrião por I. P tem 1 a $7.0.0 não um. Tudo bem. E eu apenas coloquei este endereço I p no contexto se eu atacar isso no meu navegador, tudo bem, então lembre-se o que acontece quando eu digitar host local no navegador. É automaticamente. Brose é para o pouso cárter Peach olhar o que acontece em um tipo que eu p endereço no navegador. Ele também Brose é para esta página de destino. E isso é porque o endereço I p é o que a palavra resultados host local toe. Tudo bem, então você pode usá-los de forma intercambiável ou em qualquer momento você foi um jantar de hospedagem local neste I p e vice-versa. Então, se você ver o endereço i p em qualquer outro exemplo, isso é realmente o que é isso é apenas uma outra maneira de ver o host local tudo bem, alguém para deixá-lo com o endereço i p. Então nós aprenderíamos algo novo hoje em ir declarar outro banco de dados muito bacall onda db que estamos conectando toe B b é abreviação de banco de dados. Então, os bancos de dados que estavam procurando e olhando para conectar toe ele é o único que nós criamos em entender, para verificar duas vezes e ter certeza de que eu tenho o nome rapidamente, que é assiduidade no banco de dados pontuação alguém para digitar assiduidade esta pontuação. Devi Next temos um usuário. Não, o meu PC. Meu administrador não me prometeu fazer login quando eu estava carregando. Eu mencionei isso se anos o fizessem. Você poderia usar rota sem senha e você conseguiria passar. Então, por padrão, uma vez que você instala minha escola ou Maria DB aqui, você recebe um usuário padrão chamado route. Tudo bem, então eu só vou ver rota como o usuário em onde quer que haja um usuário, há sempre um pedido de uma senha em. Agora, apenas um passe é igual a Andi por rota padrão não tem uma senha. Se você estava usando ter o meu SQL Community Edition, então você teria que colocar uma senha no usuário root no momento da instalação. Mas, mais uma vez, se você estiver usando zump one mom para qualquer um desses ambientes ph B todos em um pacote de instalação , então você teria um usuário chamado Roots sem senha que lhe concederá acesso ao seu banco de dados. Esta não é a maneira mais segura, mas esta é a sua máquina, então está bem fora de curso na produção. Então você quer levar mais consideração com seu nome de usuário e senha na última coisa que vamos sentar é Ah charset em. Isto é realmente apenas ver que tipo de símbolos esperamos estar trabalhando com. E eu estou apenas digitando isso porque este é um conjunto de carga padrão. Eles não precisam necessariamente se lembrar disso. Agradeço que vá lá. Tudo bem, então depois de declarar essas variáveis, eu vou declarar outra que eu vou chamar de BSN. Não, de Yasin é na verdade ah, terminologia usada na conectividade DOP. Então é a maneira que ele se conecta ao banco de dados é apenas mais um mecanismo. Tudo bem, é abreviação de nome da fonte de dados. Então, se você já ouviu fora jdb c r o d b c são coisas assim, eles todos ds em está relacionado a esse tipo off conectividade são então nós vamos fazer é realmente construir uma conexão decente usando esses valores em. Vou datilografar um por um e explicar como eu vou junto. Então a primeira coisa que fazemos é a variável clara TSN. Ele não precisa ser chamado de assemble mais uma vez tornando as variáveis úteis em termos de sua nomeação em. Eu vou usar aspas duplas porque eu só vou tirar vantagem da interpolação um algum digitação no texto. Então temos o meu SQL. Então, em primeiro lugar, declaramos o driver Este é o tipo de banco de dados que pretendemos conectar. Oh, não. PDO realmente suporta bancos de dados diferentes, drivers diferentes. Você pode usá-lo para Oracle se você tiver um banco de dados Microsoft SQL trabalhando com. Então este driver está dizendo que eu estou prestes a connick toe um meu banco de dados SQL e nós vemos dois pontos e então nós alimentamos alguns parâmetros no reboque. Este conector. Então o primeiro parâmetro é host, e foi o host igual no die pode realmente usar minha variável. Isso eu disse, é o anfitrião. Tudo bem, então eu declarei hospedeiro aqui. Então, em vez de digitar, é velho dentro desta string. Eu só vou bater aqui. Então a vantagem disso é que eu sempre posso mudar isso sem ter que modificar esta string inteira em Outra vantagem é que eles iam fazer isso uma vez. Portanto, não é algo que você faz toda vez que você quer se conectar com ele. Toda vez que você está prestes a construir um site, então você tem que fazer isso. Mas para o propósito deste site, só fazemos esta atividade uma vez. E neste arquivo, estou me conectando ao cavalo que acabei de mencionar. Variável. Próximo parâmetro é nome do banco de dados em. Nós declaramos db fora de cima em. Damos o nome a ele. Tudo bem, então eu só estou fazendo referência a todas essas coisas, e então a outra coisa é carregada mais uma vez, nós chamamos o conjunto de char, então isso teria construído em OD. OD B C como conector quatro ou minha instância SQL que está sentado no host local como um como o valor aqui sugere em queremos que o banco de dados chamado TV assiduidade na chance de que estamos trabalhando com este universal e padrão. Na próxima linha, vou fazer o que chamamos de “tentativa, captura”. Então tente Catches são usados para o que chamamos de manipulação de exceção. Então eu vejo tentar e então eu abri a brisa encaracolada. Em seguida, após o segundo aparecer para trazer alguém para ver pegar em. Então abrimos dois pais vê, e então temos o aparelho encaracolado novamente. Então deixe-me só andar pela pista. É o que este quarteirão faz. É tenta fazer algo que será definido entre o aberto e o fechamento para a tentativa. Então, se isso se sente, então você pode especificar o que você quer acontecer aqui, onde eles querem lançar uma exceção. Você quer parar a execução ou apenas quer mostrar uma mensagem de erro agradável e amigável que às vezes as coisas acontecem e você veria um im im aero aparecer erro inesperado. Muitas vezes isso é o que está acontecendo. Eles tentaram. Tentaram a operação que você pediu. Você não trabalhou. Então eles dizem erro inesperado. Então o que queremos fazer é tentar se conectar ao banco de dados alguém para declarar em objetos ou outra variável em. Eu estou chamando um p d o em PDO e ganhar hoje encontrar ou declarar uma nova instância fora de um PD ou classe. Então esta classe é incorporada ao PHP. Então nós estamos olhando para algumas coisas orientadas a objetos no interior do pai Isto é para a função PDO ou classe. Desculpe. Nós estaremos passando os valores D S n Então estamos passando em qualquer valor que está dentro dessa variável d s n. Em seguida, estaremos passando no usuário que foi definido Então nós não usamos usuário inicialmente em, em seguida, foram passados na senha em Morar. Há outros apartamentos que podem entrar lá, mas sabemos que é tudo o que precisamos. Então só precisamos do DS no usuário do passado. Agora você percebe que há, Ah, pequena Linha Vermelha sob as redes de captura porque precisamos colocar que tipo de exceção pretendemos gatos para que você possa realmente ir com aqueles aparentemente vê em um monte de idiomas, e É só uma pegadinha genérica. Mas neste, você precisa da doença dos pais, e você precisa especificar que tipo de erro você está procurando. Então, nesta situação, já que estamos tentando nos conectar ao DOP, eles nos deram uma opção para exceção DOP. Então estamos assistindo para ver se vai haver uma flecha com o objeto DOP. Andi, eu vou atribuir ao dedo do pé uma variável chamada E. Tudo bem, então uma vez que há uma seta DOP durante esta tentativa, então ele vai pegar a seta ligada, em seguida, armazenar todos os detalhes fora da era dentro de uma variável chamada E, e, em seguida, na próxima linha você pode decidir o que você quer fazer isso. Então, dentro deste bloco de esboço, eu estou realmente apenas indo para dizer algo como jogar novo em uma vez usado a palavra através, isso significa que vai parar toda a execução e apenas exibir um erro. Tudo bem, então você pode não querer fazer isso o tempo todo em suas capturas de tentativa, mas nesta situação, nós realmente queremos um erro para ver se nossa conexão está funcionando ou não. Então eu quero lançar novo, e então eu vou ver uma exceção DOP. Andi, eu vou colocar um cordão que vai me dar a mensagem. Então este e aqui apresenta um objeto, e este objeto tem algumas funções nele. Então eu tenho um sinal de telefone que diz, get message on this get message função vai realmente imprimir o que a era está vendo . Então, qualquer que seja a área é, às vezes você quer realmente ler a seta para que você pode Deeble propriedade. Uma vez que você pegar a exceção. Você sempre pode obter o erro aqui, então eu poderia apenas ecoar isso sem lançar uma nova exceção. Mas, mais uma vez, eu realmente quero parar a execução de algo tão crítico quanto a conectividade do banco de dados, mas você pode fazê-lo de forma mais elegante apenas talvez ecoando aquele antigo. Há um erro com isso, mas a página ainda carregaria, então isso depende de você. Então eu vou sair com este cordão no que está mais uma vez. O que deveria acontecer é que ele deveria tentar uma conexão. Toe A. Meu servidor SQL telefonou para uma deslocação com este banco de dados em suporte a isso. Charset nele deveria tentar essa conexão usando um nome de usuário e uma senha conforme fornecido aqui. Então, se algo está errado, bem, se nada está errado, então isso vai, Senhor, isso vai ficar bem. E se algo está errado, então toda a execução vai parar e você vê uma mensagem de erro alguém para torná-lo um pouco mais claro quando nada está errado. Ilha Ver eco. Então, se ele tentar a conexão e nada der errado, eu vou ver base de teatro Echo Hello. Certo, então se virmos essas palavras aparecendo em algum lugar em nossa paz, então sabemos que uma conectividade ou a tentativa de conexão foi bem sucedida. Então, agora que fizemos esse arquivo e está neste diretor sob DB, o que queremos fazer é incluí-lo em nossa página, alguém para voltar ao meu formulário em Dougherty Road. A linha. Então o que eu fiz foi ver exigir uma vez em dez centavos, exigindo o arquivo db barra conduta PHP. Então não é porque não está no inclui completo. Isso significa que não posso incluí-lo. Eu tenho que incluí-lo. Tudo o que não é nativo na página que eu quero na página. Eu vou ter que usar ou exigir ou incluir para obtê-lo onde é o é, embora seja apenas uma questão de descobrir onde ele está. Então, nesta situação está na pasta db no finalmente Mishcon. Eu só vejo exigir uma vez quando a pasta de banco de dados e me obter esse arquivo. Tudo bem, então quando eu atualizar meu formulário, a expectativa é que eu vou ver Olá. Banco de dados em algum lugar impresso, e eu atualizei. Lá vamos nós. Alô? Bancos de dados ecoando ao nosso pêssego. Tudo bem, isso é ótimo. Então isso é um progresso. Não. E se eu errar alguns dos meus detalhes? Tipo, talvez eu tenha perdido o endereço i P. Eu fiz uma vez para 7.1 ponto 0.1. Não há nenhum endereço perto daqui que passe por isto. Então, se eu tentasse essa conexão com os dados errados, o que aconteceria é, bem, bem, o que deveria acontecer é que o banco de dados Hilo desapareceria. Então, aparentemente 1 a $7 maravilhas série válida. Então, eu só vou levar com um. Vamos tentar esse experimento, então estraguei alguns detalhes neste caso. Bem, minha tentativa de um orçamento parece a primeira vez, mas vamos ter certeza que isso não vai funcionar. Então vamos voltar e ver o que acontece quando eu me refrescar. Então vemos que pegamos esse erro no que estamos vendo. Ser impresso aqui é o resultado de nós chamando a função get mensagem dentro fora do objeto não são assim. Isso é o que acontece quando você está no seu núcleo. Dessa forma, você poderia inserir mais uma vez em vez de lançar a exceção. Eu poderia ter me deixado apenas comentar esta aveia Onda deixe-me ecoar na mensagem elegante sobre. Na verdade, eu vou dizer algo como, bem, eu fui imprimir em cada um em que eu vou ver nenhum banco de dados telefonado. Certo, feche meu puxador e eu queria me destacar e mostrar que é perigoso. Compreender, adicionado a classe CSS da classe bootstrap é igual a arte. E então aqui está um dos perigos fora. Usando aspas simples em aspas duplas, eu vou usar aspas duplas no lado de fora em vez de simples no interior. Alguém fez essa mudança rapidamente em eu fui ver um traço de texto Danger. Então deixe-me apenas atualizar e mostrar-lhe que o pago ainda carregou tudo ainda executado. Mas a mensagem está sendo impressa, como esperado porque nenhum negócio de dados telefonou. Então é isso que estou dizendo. Existem várias maneiras, os erros de 100 anos. Ele pode fazê-lo onde é o juízo final. Se algo não funciona para associado, dê uma mensagem agradável que seja amigável, e isso não causa muita interrupção para o fluxo de seus lados. Fora do curso. Você dá isso baseado em quão importante sua tarefa é, tudo bem, então eu vou colocar mas minha exceção jogando bem ali, porque se eu não cortar no banco de dados não há formulário, não há mais nada vai acontecer. Devem acontecer. Então é isso para facilitar uma conexão com o banco de dados usando o objeto PDO no próximo vídeo, vamos olhar para Hall. Nós realmente armazenar os valores no banco de dados 8. Save de registros no banco para banco para os bancos de dados: Ei, pessoal, Neste vídeo, vamos começar a fiação ou formulário de registro com nosso objetivo de banco de dados fora deste vídeo É que quando enviamos nosso formulário os dados que são exibidos no sucesso que a página PHP também são enviados assim mais, tabela participante em mais de dias deste. Agora este processo começa com a modificação fora do nosso curso. Voltamos ao código visual do estúdio. Em seguida, o que queremos fazer é criar um novo arquivo em nossa pasta DB algum inverno criando você arquivo clique na pasta DB, criar novo fogo sobre eles. Indo chamar isso de um ponto carod PHP Nenhuma multidão é um acrônimo para Criar, ler, atualizar e excluir. Com o propósito deste arquivo é a loja todas as funções ou funções são todos do tribunal associado ID com essas operações. Isso também representa nosso primeiro passo para usar uma abordagem orientada a objeto sobre o desenvolvimento THB. Então, a primeira coisa que queremos fazer como de costume em qualquer arquivo PHP é criar ou bloquear PHP. Então, dentro deste bloco, vamos definir uma classe sobre o nome da classe. Normalmente encontro meu nome de classe refletivo fora dos nomes dos arquivos. Dessa forma eu sei exatamente qual classe é representada por um arquivo que? Alguém para chamar essa classe de fraude. E se você não está muito familiarizado com o que eu estou fazendo aqui com classe e objetos e assim por diante, tudo bem. Você pode ficar comigo e eu explico ao longo do caminho. Mas isso é abordagem orientada a objetos para programação. Não, eu vou definir atributos privados e eu forneceria este banco de dados em. Depois fui definir uma função. Mas esta é uma função especial que cada classe tem nosso chan, e é chamado de construtor. Alguém para ler a palavra do John. Nós teríamos olhado para como nós definimos funções antes e impeach Be todos têm que ver é a função palavra em Dê-lhe esse nome. Então é um filho de forma, e então é assim que definimos um construtor. Então é dois sublinhados e na construção da palavra, Então isso é sublinhado sublinhado con acariciado na construção da porta. Er vai tomar um parâmetro sobre isso. Você chamaria este parâmetro de con? Então, essencialmente, quando você está inicializando um objeto fora de uma classe, você pode realmente upped para fazê-lo sem quaisquer objetos sem quaisquer parâmetros Ou se você exigir uma permissão que este é o lugar onde você teria definido que um parâmetro é necessário algum valor é necessário sempre que você está inicializando um objeto fora dessa classe, que então eu vou tomar um parâmetro chamado sobre. Então eu estou com um sinal que o valor da água veio para este apartamento off para ou variável privada chamada DB. Então, e então eu quero dizer isso, que é uma palavra-chave na maioria das linguagens de programação, que só significa nesta classe neste arquivo de classe que eu estou dentro. Então esta é apenas uma maneira curta de dizer que estou em casa. Tudo bem, então isso me dá acesso a todos os atributos privados e públicos deste arquivo de classe. Então, neste caso, eu quero que este banco de dados obtenha o valor que nos engana. Tudo bem. Então, em outras palavras, onde quer que eu vá usar Devi garganta discutir, ele deve incorporar qualquer valor que venha em cima. Tudo bem. Então eu só fui em frente e adicionei alguns comentários para que tenhamos um pouco mais de contexto sobre o que está acontecendo com cada linha fora da quadra. Agora a coisa legal sobre as classes que você pode colocar tantas funções e variáveis estão dentro dessa classe. E onde quer que você precise referenciá-lo, tudo que você precisa é uma instância fora da classe em você apenas fazer referência à função que está lá. Então vamos estar usando esta classe todo-casa todas as funções associadas à criação de um registro no aeroporto de recuperação de Ardis Abi para obter mais abelhas de dados ou bater um recorde em nossos dados Abelhas em fez a reunião no relatório em nosso banco de dados. Então, para este vídeo, vamos nos concentrar em carnes Oh, é a função de inserção. Então eu vou dizer função. Mas então eu tenho que qualificar este como público. Então eu disse que o soldado aqui na morte também tem opção fora do público. Então o que isso significa é que se eu declarar um objeto fora da multidão de classe, não há maneira de eu interagir fora do BB porque desonesto, privado para a classe. Então a única maneira que eu posso interagir com DB é de outra função dentro da classe. No entanto, quando eu vejo público, então ele me permite interagir com ele fora disso. Então eu sou que é uma função pública em. Eu quero simplesmente chamar esta inserção, e eu apenas ler o corpo da função, em seguida, inserir No. É suposto obter alguns parâmetros para que ele saiba o que deve ser inserindo. Então eu vou definir parâmetros aqui dentro desta função de inserção que será capaz aceitar todos os valores que estão sendo passados na ação post. Então deixe-me, deixe-me dizer que da maneira diferente, lembrar ou formar? Estamos coletando um monte, batendo no nome, primeiro nome, sobrenome, data de nascimento, etc. Então todos esses pontos de dados serão enviados. Quando eles são enviados, eles vão para a página do PHP do ponto de sucesso, que é a nossa ação. Podemos acessá-los todos usando a variável post. O que não podemos fazer, no entanto, é colocá-los na base de dados, pelo menos ainda não. Então eu vou definir uma função dentro do meu arquivo de multidão que vai estar esperando e disposto a aceitar valores que estariam vindo do artigo post função estrelado. Por outras palavras, vou criar um perímetro. Os dados dela apontam alguém para ter 14 1º nome e eu vou tipo de reagiu encurtado, então eles não têm dedo necessariamente refletir o nome exato de alguém para encurtá-lo. Mas pelo menos saberei o que nome f significa um nome L. Estou apenas declarando algumas variáveis que realmente retém todos os valores voltando e especialidade. Ok, Então eles assim mais uma vez, quando eu chamo esta função para inserções, a expectativa é que eu vou estar passando um valor por parâmetro aan operação den que eu realizar dentro da função usará esses para completar a inserção. Não, a parte divertida dentro da minha função, eu vou começar com uma tentativa e pegar, então eu posso realmente apenas escrever a palavra tentar e impressionar duas vezes. E no estúdio visual apenas completa toda a tentativa. Apanha para mim. Deixe-me fazer isso de novo. Escreveu a palavra tente primeiro top duas vezes se selecionar. Se você tem ambos os alto-falantes, certifique-se de que o 2º 1 é um que está em foco no peito para cima duas vezes e, em seguida, você vai obter o seu bloco juiz pista automaticamente. Se isso não funcionar para você entender isso. Ou tente abrir chaves fechadas, pegar parênteses abertas em chaves abertas, abertas e fechadas. - Não. Mais uma vez, o bloco de captura de pista vê que eu vou tentar e fazer alguma coisa aqui. Mas eu estou assistindo para ver se eu recebo um erro para que eu possa tomar uma ação particular com este ar e este manuseio de exceção lógica. Então, eu acabei de adicionar uma comunidade aqui. Então o que eu vou fazer é ir em frente e criar uma variável chamada SQL nesta variável vai apenas jogar host para minhas instruções de inserção SQL. Vou dar-vos um pequeno truque. Se você não está tão confortável com instruções SQL, então você pode realmente ir para o seu banco de dados no PHP. Meu administrador Clique em sua mesa em seguida, Goto sq Bem em, em seguida, clique em inserir E ele tipo de dá-lhe um pequeno modelo sobre o que uma declaração de inserção precisa se parecer. Então, seguindo esse cara, sabemos como precisamos digitar nossas declarações. No geral, vamos colocá-los no PHP. Mas mais uma vez, se é que você quer desenvolver seu esque você vai e habilidades de desenvolvimento de banco de dados. Então você precisa verificar o meu curso, que é o meu desenvolvimento de banco de dados SQL. Maestria da Andi. Então, de volta ao nosso frio, onde passavam o tipo juntos? Alguém para dizer Inserir em Então essas palavras-chave SQL ar no Ben. Vou especificar o nome da tabela, que neste caso é um 10 B porque estou prestes a inserir um relatório na tabela participante. Andi, eu tenho que especificar quais colunas agora são duas escolas de pensamento são duas maneiras de fazer isso . Você pode especificar todos os problemas. Você não precisa necessariamente, porque se você colocar os valores da coluna desculpe, se você colocar os valores na ordem exata em que eles teriam aparecido. Se você disse valor, então você não precisa necessariamente fazer essa parte dele. Alguém que pule essa parte. E eu estou apenas na direita. Quanto mais você sabe, o Foster Lee. Então a primeira coluna seria o primeiro nome, sobrenome, data de nascimento, endereço de e-mail planta esse número em Dwell. Lembrem-se, tivemos uma ideia de especialidade e não apenas uma especialidade, então vamos chegar a isso. Mas essa é a ordem que você não precisa colocar em nada para o participante i d porque é uma chave primária autoincriminadora. Então, após a lista seria, off colunas vem os valores da palavra. Então teríamos tido participante e, em seguida, listando todas as colunas e, em seguida, dizemos valores. Mas já que não estamos listando as colunas, eu removi isso. Então, se você está listando as colunas, você tem a doença dos pais. Se não estiverem, não precisarão deles, então guardaremos valores. Mas aqui está a parte maluca. Assim, com um sq regular, uma declaração, você teria estipulado um valor que corresponde a cada um deles. Então, se eu sentisse isso agora, eu teria colocado algo como o valor estático. Mary Andi Poppins, etc, certo? Eu não vou preencher tudo isso, mas isso é o que eu teria assumido para que todos possam ver. Tudo bem, então é isso que eu estaria colocando se eu estivesse escrevendo este manual de declarações. E se você estava usando o meu assassino na minha escola eu namorei Ah, ap I, então isso também é completo. Você sempre superaria os perigos fora fazendo diretamente assim no PHP ele abre você para assistir porque as injeções SQL que são muito, muito desagradável tipo de ataque que você realmente não quer entreter. Certo, como um guarda contra essa DOP requer que fossem partículas ativas de distância, então ele irá executá-la. Então, a maneira particular que nós vamos escrever isso vai nos fazer realmente usar como espaços reservados. Então, em vez de ver o valor, entenda Para colocar dois pontos em um espaço reservado dedo do pé corresponde com o que deveria estar lá. Tudo bem, alguém para dizer cólon f nome caído eu nome em. Eu entendo que você reutiliza todos os nomes de variáveis dos parâmetros, então realmente e verdadeiramente , mais uma vez, estes são titulares de lugares, eles não têm nenhum valor agora. Então, no final deste exercício, você deve ter esses titulares por favor. Mais uma vez lhes dou nomes semelhantes a cada variável que sei que corresponderão Você não tinha o dedo do pé para consistência. Eu recomendo que você faça isso teríamos criado alguns muito, muito abstrato forma muitas vezes sqs demônios. O próximo passo é toe Prepare esta instrução SQL Alguém para ser claro na variável mãe em. Eu vou chamar este s d MT que abreviação para declarações. Então essa é a minha convenção de nomes. Então eu vou ver isso. E então isso é assim que nós realmente acessar ou variável privada desonesto. Lembre-se que TV representa a conexão PDO ou a conexão em que já teria definido ou conexão de dentro off con sobre isso é nossos objetos PDO, que representa a conexão com o banco de dados. Então aqui dentro da classe cantou esta é uma obstrução desta conexão. Portanto, a DOP existe aqui. Mas o que pretendemos fazer é passá-lo para a classe de multidão e ele será armazenado como DB. Então, a única maneira de acessar DB é ver isso. Então não é o mesmo isso em então usamos que operadores. Então isso é um traço e tias cumprimentadas e nossos ouvintes. E com um estreito nesta seta é basicamente buraco Nós referência atributos ou propriedades ou funções dentro de uma classe não são de um objeto. Então isso representa o objeto fora da classe aparafusado em. Em seguida, estamos acessando a propriedade, nossos atributos dd por isso dizemos db em, em seguida, dentro off db, temos outra função alguém para usar essa seta novamente nesta função é chamado Preparar em, em seguida, preparar leva um parâmetro que seria a instrução SQL. Então poderíamos ter feito isso. Nós teríamos dito este R o D B r o preparar e, em seguida, apenas escrever essa declaração de habilidade dentro dos parênteses. Mas gosto de segmentar isso ou aquilo. Comer passo fora do caminho é claro o que está acontecendo. Então vamos definir rs seu depoimento primeiro. Então fomos em frente e preparamos para execução mais tarde. O próximo passo é realmente ligar sobre placeholders para os valores reais para lembrar que estes com a Polônia está aqui dentro fora de nossa instrução SQL, eu realmente colocar todos nós o que os valores rial são esperados para vir através desses parâmetros . Então precisamos ter uma seção onde vemos chá STM em uma seta em que chamamos uma canção de filme chamada Bind Param. E, em seguida, esta função leva dois parâmetros no número experimental um que é o nosso espaço reservado. Então nome F é o titular primeiro lugar em. Então temos uma vírgula. Então vamos ver o que você quer? Oh, comprando este lugar para essencialmente o que isso faria. Vemos que dentro desta declaração que está sendo preparado, eu quero que esses espaços reservados é substituído por esses valores Agora pode parecer tedioso pode parecer segunda-feira, e especialmente se você está acostumado a apenas escrever instrução SQL qualquer inserir em. Mas, mais uma vez, este é um nível adicional de proteção contra o ataque de injeção SQL. Então você vai fazer isso para cada espaço reservado e entender para duplicar essas linhas e entender para mudar o que eu preciso para mudar os pais, eles podem parar em paz do que tipo de acelerar esse processo. Aqui está uma das vantagens com o uso do espaço reservado, tornando o pacífico que parecia apenas esse nome disponível. As mudanças podem ocorrer mais rapidamente, então vou mudar esses votos. Tudo bem, então eu terminei de vincular todos os meus espaços reservados e tudo parece bom para ir na última coisa a fazer ou desculpe, eu cometi um erro com meu nome de objeto. Eu tinha o cordão escrito em outro lugar e copiei em pedaços, então eu fiz isso corrigido. Tudo bem, então eu sei que nós desossamos todos os espaços reservados com nossos valores reais. A próxima coisa que queremos fazer é realmente executar. Então nós cst onda vazio nós em. Então eu uso minha flecha. Vou chamar uma função chamada executar neste parâmetro de neve profunda. E depois de escrevermos executar, eu vou escrever retorno True. Então, pelo menos se ele pegar esse fogo e ele retornar verdadeiro, então podemos tomar isso como um indicador de sucesso que nossa declaração foi executada com sucesso. Agora, no lado negativo fora da cerca, nós queremos realmente lidar com qualquer época que possa surgir. E nesta fase, nós realmente queremos ver qualquer erro que surja. Então eu vou substituir este terrível th com exceção DOP. Lembra-te que estamos a rasgar a operação DOP. Então, o mais, mais ligeiramente exceção a ocorrer é com a operação PDO ligada, eu vou atribuir qualquer objeto de erro que volta a uma variável chamada E em então bem, eu vou fazer aqui é eco para a tela. Então eu não sou de jogar. Aqueles lançamentos parariam a execução completamente, mas eu fui para eco e r para chegar à mensagem para que nós teríamos usado E ira. Receba mensagem antes da Andi. Tenho certeza que você está se perguntando o que isso quer dizer. Então eu espero que este exercício tenha trazido mais contexto para o que esta área é porque ele é realmente apenas um objeto fora de uma classe inteira. Acabamos de estabelecer que dentro de uma classe, aqueles com acesso que está na classe é usar o operador de seta em. Então podemos realmente interagir com as outras funções. Então est GMT, aqui está um objeto off db Prepare em, em seguida, o objeto vazio SD tem uma função ligar Param na função executar. Assim, da mesma forma e cifrão e representa a classe ou um objeto fora da exceção de vídeo classe em uma das funções do analfabetismo é obter mensagem em, então, se em um carrinho liberado em então não jogando, mas impresso para a tela e queremos retornar cai. Então, então, este é apenas um indicador para dizer que não foi bem sucedido. Agora que eu tenho essas alterações na nossa página de multidão ou arquivo de multidão. Não, temos algumas mudanças que queremos fazer no nosso arquivo de conexão A primeira coisa que quero fazer é o que chamamos de atributos do objeto PDO. Então eu sei que está se conectando ao banco de dados, e é muitas vezes e elegante. Mas quando estávamos fazendo este exercício, nós não definir atributos sobre aqueles realmente diz que eu realmente quero são, como um controle remoto. Por outras palavras, DOP tentará sempre comportar-se e não ser inintrusiva. Mas então você pode forçá-lo a se comportar de uma certa maneira, definindo os atributos de uma certa maneira que eu queria estar aqui é que se há uma exceção, eu realmente queria parar toda a execução e me mostrar que há uma exceção. Então o que eu vou fazer aqui é fazer referência a um objeto PDO em. Eu vou chamar a função dentro deste objeto chamado os atributos set on. Então eu só vou digitar esses oh, rapidamente fora da tela, e então nós apenas revisá-los. Então estes são os dois atributos que eu quero definir em seus dois como se relacionam com a era. Então eu estou sentado este atributos na era mais é exceção. , Essencialmente,este atributo é que você está dizendo que sempre que há um ar eu quero ver que há um ar. Não se comporte. Diz-me que há um erro porque a última coisa que queres é fazer o bullying. Você acha que está tudo bem, e então você empurra a produção e então nada funciona. Então queremos ver quando há um erro. Então é isso que esta linha está vendo. Esse é o troco número um. A próxima mudança que queremos para mim é fazer referência ao nosso arquivo de multidões aqui mesmo no bacalhau em Khan. Andi, vou explicar por que vamos fazer assim. Lembre-se que em nossas páginas somos um frenesi são con não PHP. Em vez de ter que referenciar conduta Ph. B e, em seguida, referência cantou. Por que eu vou fazer é depois de estabelecer uma conexão bem sucedida, claro, porque a única maneira vai conseguir esse fogo. Se nenhuma exceção é lançada, Eu quero incluir ou o que eu posso exigir em Eu só vou exigir uma vez. Andi, eu quero fraude ponto aviso PHP. Eu não tenho que colocar db barra Croat porque este é o arquivo con que está exigindo o arquivo . Então, se eu olhar para os quatro o nível Eles estão ambos no mesmo nível na pasta DB. Então eu não tenho que dizer db slash crowd. Então, se você é um cartão de barra de banco de dados, eu não trabalhei, em seguida, tentando remover a barra d v e ele deve funcionar alguma referência crude que o PHP em. Então eu vou definir um objeto totalmente novo. Eu estou chamando de bruto para definir um objeto Eu vou ver este é o nome fora do objeto. E eu queria ser igual a uma nova instância fora da minha classe. E lembre-se que a classe finalmente mr dot PHP a classe eles perderam o PHP ponto vermelho no nome do objeto é crawdad ph com parafuso. Então tudo é cruzado, tudo parece uniformes. Então a nova instância cantou, então a multidão exige aqui. O código do estúdio visual está me dizendo que há algo que precisa entrar dentro dos parâmetros. E isso porque quando definimos nosso construtor, nós o definimos para aceitar algum valor. Tudo bem, então o valor que está esperando instituição em nosso contexto porque somos os únicos construindo seu sabemos que os valores que esperam é algum conector. Alguém para passar o objeto DOP no reboque, meu parâmetro. Então DOP para saber o que vai acontecer é que para cada vez que realmente incluir ou exigir o arquivo con, a conexão será estabelecida sobre isso será feito uma vez. E, em seguida, ele vai apenas referência ou perfil para que qualquer operação que você deseja realizar, só precisamos de referência o objeto de multidão em qualquer função. Então, neste ponto, nós só temos uma função então em qualquer lugar que realmente nos divertimos referenciado em qualquer página. Nós podemos realmente apenas ir em frente no sinal de referência Dólar bruto em seguida, usando o nosso operador, nós podemos olhar para todos os outros filhos de telefone lá dentro. Então armados com esse novo conhecimento, o que precisamos fazer é realmente começar a configurar nosso discurso de sucesso para ser capaz de chamar nossa função de multidão. Então o passo número um é exigir e eu estou apenas em exigem uma vez em, vamos colocar no banco de dados barra con dot PHP. Então, quando este discurso Lords, ele vai toe exigir este arquivo que vai para a frente e iniciar uma conexão em, então ele não vai exigir ou arquivo de multidão em definido uma nova classe em, então qualquer coisa que precisamos fazer na página, podemos receber multidão objeto em, chamar a função. Assim, vamos segmentar o tribunal e ficar com tudo. Um lugar que não estamos colocando muito PHP são muito, muito banco de dados, muitas operações de banco de dados, misturando-se com nosso HTML o tempo todo. E é uma maneira agradável e mais limpa de ter seu tribunal. Agora que terminei essa atividade, vou começar a escrever um pouco mais. Ph. B Acorde. Só vou usar o bloco que já está lá. Então o que eu quero fazer é verificar se isso se esta página está sendo carregada em uma ação post no contexto agora , perceber que, lembre-se que sempre podemos ir para o nosso aplicativo e apenas ver locais que os inquilinos cortar sucesso que o PHP está certo porque ele é oposto. Não temos nenhum desses parâmetros. Nós não temos uma pergunta, mas e quando eu faço isso, eu vou estar recebendo um monte de erros sobre variáveis indefinidas em que é realmente porque ele está tentando imprimir valores a partir da ação post. Se não havia nenhuma opção de post significando, eu estou apenas navegando para a página casualmente. Eu realmente não enviei um para ele chegar lá então essas variáveis não existem. Então, antes de tentarmos colocar algo no banco de dados, provavelmente queremos checar. Se tal variável existe, e se pelo menos um fora de todos os existe, podemos supor que o que prende fora deles existe. Tudo bem? - Não. Quando estávamos projetando nosso formulário, eu tinha colocado um nome no botão enviar e é por isso que muitas vezes você vê que as pessoas colocam um nome no botão enviar no que eles vão fazer é verificar se a variável de envio existe, porque isso teria vindo sobre a variável post junto com o primeiro nome, sobrenome, etcetera, etc. Mesmo que não tenha valor, ele realmente existe. É como uma variável vazia na ação de postagem. Então o que queremos fazer é começar verificando se esse valor de envio existe. Então eu posso dizer se uma NASA está pronta. Então essa é uma função para dizer que não existe dentro do set. Passamos em uma variável, então esta é uma boa maneira de verificar se uma variável existe em uma página, alguém para verificar se está definido colchete no envio. Então, mais uma vez, isso não é verificar nossos valores. Só verificando. Essa variável existe? Se está vazio ou não é irrelevante. Ele existe na página em? Mas se isso acontecer, então queremos realizar uma opção. As lanternas vermelhas lá porque eu perdi esse cínico e cerebral que tudo bem, então nós dizemos que se ele está definido pós cúpula, então se a variável Submeter Post existe, então nós queremos prosseguir com a nossa operação. Então eu vou definir outra variável, e eu vou chamá-la. Sucesso é igual. A razão pela qual estou fazendo isso é que estou prestes a chamar a inserção da função de multidão. E lembre-se que inserir é uma função de retorno de valor faz com que retorne através de nossas quedas. Então isso significa Bem, eu provavelmente posso chamar isso de sucesso em vez de sucesso. Então isso é fazer uma pergunta. É bem sucedido? Gaveta cai? É um sucesso em? Então eu vou atribuir a esta variável o que for devolvido do telefone mostrado. Não, porque nós definimos são exigidos bebê barra de milho dot PHP em Lembre-se que inicializar é algum objeto para nós chamado crude. Eu tenho acesso instantâneo a este objeto chamado fraude em então, dentro do objeto bruto Eu quero meu filho de telefone inserir nesta função inserir é definido o exceto nesta ordem estes valores primeiro nome a data de nascimento sobrenome, e-mail, endereço, contato e especialidade. Então eu estou realmente indo para ir em frente e preencher esses valores usando os valores postais. Então, um padrão seria o Adidas passado o valor post diretamente na função. Eu não estou particularmente financiado que eu prefiro definir minhas variáveis. Então eu vou ter o nome f. Então, dentro do contexto, fora do sucesso que o jogo Ph. B F não existia, então eu posso reutilizá-lo aqui. Então nome F é igual dedo do pé post primeiro nome. E eu vou fazer isso para cada um fora dos valores no post. Ao ir fazer isso, todas as telas, você pode ir em frente e fazer isso todos os direitos de adicionado todos os valores do do do post. Apresse-se com alguns comentários para que saibamos exatamente o que está acontecendo. Adede. Passo em frente, então o que eu vou fazer é chamar a função de inserção na passagem no parâmetro necessário. Então é o nome F que eu nomeei. Você receberá um e-mail nessa ordem exata. Então eu vou ver o nome Atribuir F como o primeiro parâmetro. O sinal que eu chamo Andi. Eu só vou fazer todos eles. Apenas certifique-se de que todos se alinham. Tudo bem? Assim que isso for feito, deixe-me recapitular. O que aconteceu? Então, quando esta página é carregada, ele irá verificar se o Post, se um fora das variáveis post existem em. Estamos trabalhando com a suposição de que se um existe e os outros existem, então, se um existe, então queremos extrair outros valores de cada um. Isso é feito porque talvez você entrar no valioso. Você quer manipulá-lo antes de colocá-lo no banco de dados. Então é por isso que isso é sempre uma boa idéia antes de realmente chamar a função de inserção. Então, no final de nós, verificamos se foi um sucesso. Bem, nós passamos esses valores para a nossa função de inserção em Então o resultado da função de inserção será armazenado nesta variável é sucesso. Então isso vem a calhar porque se quisermos imprimir uma mensagem específica se foi bem sucedida versus apelações. Um fracasso do que isso nos dá a habilidade para que eu possa ver se seu sucesso significa se isso é verdade, então faça outra coisa. Faça outra coisa. Então agora o que estamos fazendo é imprimir um bom alerta na mensagem de sucesso do gelo quando você foi registrado com sucesso até que não, não houve nenhuma operação real para mim para torná-lo um fracasso. Então o que eu vou fazer é fazer este h um puxão realmente ecoar este cada um puxão se foi um sucesso. Então, se é sucesso, então vamos ver essa mensagem de sucesso sendo impressa para a tela mais. Vamos ecoar o oposto de alguém para reutilizar esse resfriado. Mas eu vou mudar esse perigo de texto que nos dará texto lido em então que veremos que havia uma flecha no processamento. Havia uma flecha. Certo, mais uma vez, estamos checando se somos verdade. São quedas retornadas a partir desta função de inserção. E se for verdade, então queremos dar-lhes uma mensagem de sucesso. E se foi quedas, então queremos mostrar-lhes isso. Ei, havia uma seta processando seu registro. Não, temos uma mudança adicional e muito importante a fazer. E foi assim que lançou a nossa especialidade. Não, até este ponto, especialidade tem vindo através de nós. Texto. Temos um controle seleto aqui, Uma lista suspensa dando-nos cada especialidade em quando o submetemos no discurso de sucesso. Quando imprimimos o valor, recebemos uma mensagem. Você tem alguém fora do texto agora? O problema com isso é que nós projetamos nosso banco de dados para aceitar uma especialidade I d. Então nós temos uma especialidade estável, que está vazia agora, então nós sempre podemos sentir isso com dados sobre, mas a tabela participante está tomando o i d relativo. Então, as especialidades nesta mesa. Então primeiro eles precisam inserir, pelo menos Bem, eu vou inserir um para este vídeo, então eu vou inserir o banco de dados, adicionar especialidade média. Então eu vou. Então eu clico em minhas especialidades de mesa. E então eu cliquei em inserir. Então eu vou dar o dedo do pé, não dar. Desvalorizo porque não posso. Mas eu vou te dar o nome, banco de dados, administrador e depois ir. Isso me mostrará que ele está prestes a executar um comando de inserção na parte inferior da página. Eu posso clicar em ir novamente em seguida que inserido. Então, quando eu olho nesse banco de dados apenas clicando na tabela, ele sempre me mostrará o que está lá. Vejo que fizeram uma dupla entrada. Ok, eu posso remover um. Isso é bom. Mas não, vejo que tenho pelo menos um registro aqui no dia. Eu tenho administrador de banco de dados no I d ouvir história, que significa que porque nós definimos essa constante na mesa, eu posso colocar em um valor I d aqui que não existe na tabela. Então, o que quer que eu esteja prestes a inserir no meu banco de dados precisa de muito com o trem de Wisconsin. Então eu fui forçar isso. Então vamos falar comigo mais do que eu porque você vai junto. Mas para não, eu só vou forçar o valor associado a esta opção a ser três. Então, vamos apenas garantir que Mary Poppins, por exemplo, veja seleciona três em. Ela é uma administradora de banco de dados. Quando apresentamos o que a expectativa é que três serão impressos aqui sobre os dois ou três serão passados no post em. Em seguida, três será o valor que é recebido aqui na especialidade Onda finalmente colocado no banco de dados. Tudo bem, então eu vou tentar e enviar o formulário e vamos ver se conseguimos algum URL e tentar e se através deles, então eu envio. Estou vendo que estou recebendo alguns árabes aqui no 1º 1 dizendo que há uma data de índice indefinida fora do nascimento e eles me dão o número da linha no arquivo. E quando olho para trás, eles estão certos porque não é sair do nascimento. Na verdade, é um acordo ser. Então esse é o meu erro. Então, basta conhecer essa correção. A próxima seta está vendo que eu tenho na chamada método definido para obter Massad. Então isso é um erro de ortografia da minha parte. Então, no cantou que PHP na linha 30 fim de semana ir em frente em mim, essa correção Então isso é começar a mensagem. Então podemos tentar reenviar Andi, espero ver Ares novamente porque tudo bem, lá vamos nós. Houve um processamento de heroína. Então o que isso fez foi tentar a operação que eu especifiquei e ele voltou cai em então porque ele voltou cai. Estamos imprimindo todo aquele texto de pão visto. Houve um processamento de flechas. Ocorreu um erro no processamento. Mas então nós também estamos ecoando a mensagem porque nós vimos recebe mensagem para ser deve ser ecoado em. O que estamos ecoando é dizer que o valor de inserção isso não faz muito alguma coisa, algo algo. E isso é porque os dados, a palavra banco de dados Adminis ainda vem através do i. D. Tudo bem, então vamos tentar de novo, e a era foi porque eu não atualizei minha página. Eu só reenvio para o formulário. Então vamos tentar preencher o formulário mais uma vez em, então podemos prosseguir para enviar, Tudo bem, então eu ainda estou recebendo o erro. E se lermos o RNC e que a lista de valores não faz muito a lista de colunas. Então isso é porque, bem, parecia que há alguma cola incompatível com os valores que fornecemos. Então o que eu vou fazer é apenas modificar minha inserção em e ser muito, muito explícito. Vou ver um nome longo. O sobrenome data de nascimento. Então estes são os nomes de coluna como eles aparecem no design do banco de dados. Então apenas você pode sempre lembrar a si mesmo sobre o que as colunas são clicando sobre a mesa em si e, em seguida, indo para a estrutura. E você vê, primeiro nome, sobrenome, data de nascimento, e-mail, endereço, números de contato. Temos que estar muito, muito, muito certos de que você está derramando. Certo, então essa é a data de nascimento. Endereço de e-mail. Número de contato na especialidade. Sublinhado I d. Então podemos tentar isso mais uma vez, então eu vou voltar ao meu formulário. Eu fui para reformar Mais uma vez, Philip totes em Enviar e eu tenho sucesso. Tudo bem, então você percebe que há um três voltando aqui nesta impressão, ao contrário da palavra banco de dados, quero dizer, então está tudo bem como vamos junto com refiná-lo. Mas o importante é que depois de todas essas mudanças e atividades, finalmente registramos alguém com sucesso não validar que a pessoa foi registrada com sucesso. Podemos sempre voltar para PHP meu administrador clique em nossa tabela participante em. Vamos ver mais gravar seus Mary Poppins em você ver que a data de nascimento veio através zeros em. Isso é por causa de um problema antigo. Mas vamos começar com isso. O Oates. Mas certo? Não, nós temos Victor porque nós enviamos com sucesso ou 1º 2 registros no banco de dados garças de milho . 9. Visualize registros de banco de dados com PHP PDA: Ei, pessoal, Neste vídeo, vamos continuar nosso caminho para criar um aplicativo de multidão completo no PHP. E hoje vamos estar olhando para como podemos ver os registros que foram enviados para o banco de dados. Por meio de recapitulação, teríamos criado um banco de dados chamado assiduidade DB Dentro off atendedores db temos uma tabela chamada participante, que é onde nossos registros para cada participante serão armazenados, significa que cada pessoa que registradores nesta página devem ser armazenados neste banco de dados uma vez que eles clicam. Enviar agora para conseguir isso, o que eu vou fazer é adicionar barra suficiente para o topo desta página, que me permitirá navegar para outra página para ver todos os registros, alguém para ir para bootstrap dot com e ver o que eles têm na loja para mim, para barras nuff. Então eu vou para obter bootstrap dot com on die ir para componentes em sua documentação sobre barra de valete . E aqui eu vejo algum código de exemplo para barra suficiente. E se eu rolar, posso ver as diferentes opções disponíveis para mim. Alguém para ir com este comprador rapé aliado. Do jeito que parece. Simplesmente o suficiente na quadra. Parece simples o suficiente para entender. Entenda, para copiá-lo porque isso é suficiente. Por isso eu quero aparecer em cada página deste aplicativo. Vou adicioná-lo ao arquivo de cabeçalho no meu projeto. Então lembre-se que o cabeçalho deve estar acima de tudo e o que quer que vá na cabeça de significa que ele está no topo das praias, no topo, fora de qualquer um em um documento que eu é renderizado. Então, se eu adicionar o suficiente por aqui, a expectativa é que cada página que inclui Hitter terá a barra de nozes sendo exibida. Então eu apenas consertei o meu meu entalhe e então nós vamos apenas voltar para a documentação de baixo sobre dissecado dele. Então você vê aqui que eles estão abrindo um puxão chamado Nav, e nós temos algumas classes, algumas classes que tipo de dar-lhe algumas luzes de traço RBG personagem para que a música possa mudar o esquema de cores que queremos. Podemos ver isso mais tarde. Então vemos que eles têm marca barra traço suficiente, que é uma palavra e tem bar para que possamos mudar que alguém para voltar e mudar isso no meu tribunal de Nav bar Toe I t conferência. Tudo bem. Em DSO Normalmente este é o nome dos seus sites, certo? Da mesma forma, eles teriam usado o mesmo tribunal na mira, mas em vez de usar uma palavra, eles usam o local. Então, qualquer site que você está construindo, você pode colocar o logotipo nesta seção ou apenas a palavra fora do nome do site. Agora, esta seção com o botão, o que ele faz é criar aquelas pílulas de barra de navegação. Então, se eu reduzi isso em tamanho, dedo do pé fora do tamanho, talvez um dispositivo móvel e você vê isso acontecendo aqui, isso é o que geralmente vemos em um telefone celular. Então, usando bootstrap, nós já obtivemos o que você chama de um site responsivo no DSO que chamou esse pedaço de tribunal. Portanto, o botão que realmente é responsável por fazer as pílulas de barra suficientes. É assim que eles são chamados. Em seguida, avançar para este Dave, que é desmontável C C. Que ele diz “colapso”. Então, se você tomar todas essas classes, tenho certeza que posso garantir que se você modificar essas diferenças de classe como eles estão aqui no exemplo, eles não estão por não vai se comportar da maneira que bootstrap teria pretendido. Dedo. Então aconselhá-lo se você vai fazer alterações nessas classes. Tenha muito cuidado e você deve ser muito, muito deliberado. Então esta seção mangueira todos os links em você vê isso? Eles são apenas Tio Tax normal. Então não há nada extravagante sobre eles. Então precisamos fazer é alterar o nome que está sendo exibido. O nome fora do link Onda também a viagem. Então vamos fazer isso rapidamente com o site sobre. Agora teremos uma página, mas no final deste vídeo, devemos ter pelo menos duas pessoas para sair daqui no dia. Deixo isso como casa porque a forma está doendo para indexar, então eu deixo que eles estão no ar. Traf será indexado dot PHP Então, sempre que alguém clicar no link home na barra de navegação, ele deve ir para indexar o PHP em. Além disso, eu vou usar o mesmo link dentro desta conversa tio para o logotipo ou a seção de branding. Já tive o suficiente por marca. Então você sabe que isso também é uma etiqueta no tornozelo. Então, se voltarmos para Bootstrap, seu logotipo é realmente clicável. Se eu clicar, esse pequeno peso volta para a página inicial deles. Então esse é o tipo de comportamento que eu quero. Da mesma forma, há um lar. Então, minha barra suficiente terá uma conferência que, se clicada, irá recarregar o índice também ah, link que diz home, que, quando clicado, irá recarregar a página de índice na minha próxima página. Eu vou fazer com que isso salve vocês participantes. Então, a expectativa é que quando eu clicar neste rapé por link, eu vou ver todas as pessoas que estarão participando da minha conferência sobre o Desde que eu estou aqui, eu vou ver que o HF deve ser ver registros dot PHP. Então isso significa que eu preciso criar uma página para este tio que falou com o Navigator. Então eu vou voltar para o meu explorador Pain. Andi, eu tenho Index, eu tenho sucesso. PHP Eu só vou adicionar um novo arquivo e eu quero chamar este um view registros dot PHP Eu sei que temos ah, novo arquivo em branco e, em seguida, fora do curso, a primeira coisa que queremos fazer, e eu só vou voltar para índice no tipo off, barrar o cabo daqui. Eu queria olhar uniformes entender para incluir o cabeçalho na conexão em Eu também vou incluir Meu Rodapé, bem como algumas tags BR para colocar alguma distância entre o conteúdo no rodapé. Tudo bem, assim que fizermos essas mudanças, podemos ir em frente e atualizar sua página. Vemos que agora temos barra suficiente porque está usando a equipe de luz. Não sei se é muito visível para você, então podemos mudar isso. Ou o fato é que temos o comprador Nuff aparecendo. E então se clicarmos nisso, é realmente a página inicial do pé para acalmar. É a mesma coisa. Se eu clicar em exibir participantes , navegaremos para você. Veja se comprador suficiente ainda está no lugar. Então olhando para esses exemplos, eu posso ver que eu não tenho Barn of Bar Dash Dark e BG. É alguém principal para voltar ao meu batedor de código de barras suficiente. Eu vou fazer algumas modificações em que é suficiente barra traço escuro em B g traço primário em. É porque quero que o meu bar seja azul. Então, quando eu atualizei minha página, eu tenho minha barra de navegação sendo azul em meus links claramente visíveis, então saiba que criamos nossa nova página. Precisamos alterar o título para que o título do carrinho apareça em nossa barra de título em nosso navegador. Mas o próximo grande passo é modificar nossos arquivos ou multidões para que possamos começar a interagir com os dados que pretendemos fazer para o discurso. Não, para este discurso, vamos estar a trabalhar no ar a partir de corvos. Lembre-se, multidão é criar, ler, atualizar, excluir quando você está visualizando fuzzier, lendo ou recuperando os arquivos para que eu possa ir para a multidão em Eu vou pisar a multidão história final e então nós vamos para eles encontrar uma nova função. Então, já temos uma função que está lidando com a inserção de dados. Vou criar outra função, alguém para seguir o mesmo padrão de função pública. Então vamos dizer, obter participantes. Então sua função, seu nome de função deve sempre ser meio indicativo do que está acontecendo. Então, na verdade, vou me qualificar. Este é realmente inserir participantes para que ninguém nunca se perguntaria o que eu estou inserindo quando eles vêem essas funções. Se eu mudar o nome da função aqui que eu preciso ter certeza de que todas as referências a esta função Archie também é começar tão rapidamente saltar sobre a minha página de sucesso, que é onde eu fiz referência a ele e alterá-lo de insere os participantes dos EUA inserir são tão apoiado ou multidão página, estamos definindo um filho telefone que diz, Obter participantes em. Então, dentro desta função, vou executar uma pedreira que é responsável por trazer de volta os participantes. Agora, se você quiser alguma ajuda sabendo como isso iria parecer, se você voltar para PHP meu administrador e clicar em seu 10 de tabela, então você realmente vê que quando eles vão para Breaux, eles realmente lhe dão o que o parece obter de volta tudo dentro do seu banco de dados. Onda. Nós podemos realmente clicar sobre este criar pêssego V acorde sobre o lado direito aqui, e eles realmente dar-lhe que dentro de um muito foi entender a empresa, então isso não é realmente necessário. É só um cara, mas não ajuda. Não faz mal ter ajuda. A próxima coisa que queremos fazer é criar uma variável, e eu vou chamá-lo de resultado no valor off resultado vai ser este. Lembre-se, este é o nosso objeto para o nosso con ou crude que o arquivo PHP no dedo do pé do operador de seta, Obter o privado. A variável privada que foi declarada aqui que vai incorporar nossa conexão com o banco de dados. Então estamos recebendo este d b r o operador em. Então vamos executar a pedreira. Então ele diz que esta consulta DB em dime foi passar no real esclarecer nossa consulta, que preocupação piada que está nesta variável chamada sq. Bem, esta função vai apenas retornar o que voltar em resultados. Está bem, está bem. Até agora, o próximo passo é começar a ligar nosso discurso de registro de visão para realmente mostrar esses registros. Agora, a maneira mais comum de mostrar registros é em uma tabela. Thb e mesas. Eles têm um caso de amor. Então, a primeira coisa que eu quero fazer é realmente criar uma tabela que tipo de ter todas as colunas que precisamos para ver participante estrangeiro em. Vamos escrever um tribunal que vai gerar dinamicamente estas rosas para os participantes. Então, em outras palavras, vamos ter uma mesa. Parte dele vai ser estática, a parte de design. Mas então queremos dinamizar um lendário terrível para cada participante, porque não queremos o dinheiro enquanto eles se sentam e escrevem o semáforo. Cada participante, isso é quase impossível. Se você tiver mais de 1000 participantes, eu quero fazer rapidamente uma tag de tabela. Tudo bem, então este é um pouco de vapor calibrador BC aqui fora mesa e, em seguida, dentro ou mesa. Nós sempre temos um rebocador TR, e eu vou abrir e fechar em duas linhas separadas. Andi, antes que você possa ter qualquer coluna, você tem que ter uma regra. Então esse é apenas o padrão que as tabelas HTML vêm em. Então, no primeiro rebocador TR o que vamos ter os nossos batedores de mesa porque esses serão como os títulos de cada coluna. Então dentro deste tempo tr, quero ter td Andi, eu vou basicamente apenas replicar todas as colunas do banco de dados. Então, se eu dar uma olhada na tabela que é gerada, isso é realmente apenas uma tabela estão em então Estes são os cabeçalhos de coluna por poço por coluna que está na tabela. Então, claro, não queremos imprimir de volta o primeiro nome sem espaço como está no banco de dados. Então, podemos realmente colocar nossos chapéus de design, colocar em cabeçalhos de coluna legíveis ou mais fáceis de usar dentro para páginas HTML. Então eu vou apenas ir em frente e fazer isso para cada coluna que está no banco de dados. Tudo bem, então eu só depois de terminar todos eles são aliados que eu estou usando t d. Eu deveria estar usando T. Eu deveria estar usando T. H. Então, se você está usando TD pede desculpas, deveria estar usando isso. Então mude todos os TDs para isso, certo? Então th significa cabeçalho estável onde STD significa dados de tabela. Então, para os cabeçalhos, quando você diz th você automaticamente fica como um ele se destaca. Tudo bem. Então ensinar tem uma função diferente de TD em diante. Então eu vou fazer fora de um rugido de amostra. Apenas um show como nossos dados precisam ser. Tudo bem. Então eu fiz regras de exemplo que criou outra regra, e eu apenas coloquei alguns valores de amostra apenas para mostrar como nossa tabela ou colocar vai se parecer. Então, quando eu voltar para o meu site e ter vocês participantes, isso é o que vai parecer. Você só vai ver esta mesa olhando isso, mas isso não é muito Isso não parece uma mesa em tudo. Não é muito atraente em que é, em parte porque eu não estou usando quaisquer classes bootstrap. Então eu estou indo para o Bootstrap, ver o quê? Eles têm quatro tabelas, e você pode encontrar isso clicando em conteúdo em tabelas em. Então você vê que no seu exemplo de tribunal, eles têm uma classe quatro tabelas chamadas tabelas, Entende? Para fazer dela amigos deste copo aqui. Andi, eu só vou adicioná-lo à minha tabela existente, na minha opinião, gravar discurso. E eles não querem refrescar e assistir a magia. Certo, agora você vê que não é justificado da esquerda para a direita. Temos uma pequena linha. Então, se você quiser com mais talento, você sempre pode fazer uma ideia sobre estudantes CSS e eles realmente têm outras opções. Podes arranjar uma mesa escura, se quiseres. Você pode obter um onde a cabeça da mesa é tipo de definido. Você pode obter listras procurando. Um monte de coisas para que você possa personalizá-lo. Você adiciona as outras aulas que você quer, Andi torná-lo seu. Mas para nenhum bem, nós apenas satisfazer com tabela de referência. Tudo bem, então eu acabei de perceber que era um short de coluna. Eu só consertei lá. Isso é melhor. Então, no final do dia, é assim que nossa mesa precisa se parecer. Mas cada função aqui seria os dados dos participantes. Então, de volta em nossa visão, gravar discurso, vamos em frente e declarar uma variável em. Vou chamá-lo de “são”. Bem, isso mesmo. É Nossos resultados sobre o valor fora resultados vai ser o que é retornado de mais get função participantes. Então lembre-se que podemos sempre referenciar essas funções usando ou objeto de multidão, que é definido em nosso arquivo con. Então, uma vez que Khan é incluído em uma página, temos acesso a este objeto e uma vez que você tem acesso a este objeto, temos acesso a todas as funções definidas nessa classe. Então eu vou dizer, flecha da multidão, chame os participantes. Então, de volta aos meus registros V, os resultados serão iguais aos brutos. E, em seguida, o meu operador de seta ligado, em seguida, obter participantes. Então lembre-se que este ex-sol está retornando os valores sobre os resultados dessa instrução SQL . Com isso feito, vamos começar a explorar o pH do buraco. B nos ajuda a gerar HTML dinamicamente. Então eu vou remover a minha liberdade condicional sobre eu vou substituir este bloco. Em primeiro lugar, com uma tag PHP neste discurso Beetle, eu vou escrever um loop while, então nós vamos ver um tempo e então, ah, enquanto você toma alguma condição, eu vou dizer que o nosso, que é um valor arbitrário, é igual resultado do dedo do pé. Então resultado é o que foram os resultados é o que nós definimos aqui em cima. Resultados e, , quando ela for minha operadora em uma palavra-chave, buscar , e dentro disso, vou dizer PD ou cólon, buscar A s l c. quando ela for minha operadora em uma palavra-chave, buscar , e dentro disso, vou dizer PD ou cólon, buscar A s l c. Isso é a associação abreviação de associação, então deixe-me explicar o que está acontecendo aqui. Então este bloco de fala B pode ser inserido em qualquer um fora html fora do curso que ele não pode inserir sem envolvê-lo em PHP. Então acabei de inserir este discurso que bloqueamos dentro da minha mesa. Onda, estou criando um loop while onde eu vou ver me dar fazer esta operação para cada Itim dentro desta coleção. Então, quando os resultados voltam a partir disso em linha quando os resultados voltam depois de obter tudo isso nestes, vai ser como uma área vai ter um monte de resultados, algo para cada coisa que voltou dentro deste vamos incorporar esse valor. Então vamos dizer para cada valor que queremos gerar nossa regra. Então este laço de arame bem, é claro, não. Enquanto está completo sem a sua cotação. Desculpe, é aparelho. Então eu vou usar apenas a brisa aberta aqui, e então você vai ver que este bloco de discurso B não é nenhum grito porque ele está dizendo que o anterior o anterior bloco Peachtree incorreu em tribunal. Mas resolveremos isso mais tarde. Então o que eu vou fazer exatamente ao mesmo tempo é realmente um outro bloco Ph. B claro neste bloco PHP vai ter o único propósito de fechar este loop de fio. Então eu estou abrindo em um, e eu estou fechando em outro. E você pode observar que a sintaxe não, é que ele é porque é um ok. Tudo bem, eu vejo o que você fez lá. Ele abriu em um bloco PHP e fecha no em outro bloco PHP. Não, isso é muito legal, porque lembre-se que qualquer coisa que não esteja anteriormente ou dentro de um bloco PHP será HTML. Então eu estou vendo que enquanto este loop está rodando, eu quero estar fazendo algo. E o que eu quero estar fazendo é gerar um t r. e eu simplesmente disse, Oh, Oh, abra e feche este TR em cada t r tem TDs. Então, para cada vez ou cada registro que eu vou estar recebendo de volta quando eu fizer essa operação, eu quero gerar uma nova regra na minha tabela em cada regra deve ter uma TV, alguém para criar. Eu só vou duplicar o número de TV que eu preciso, que é 1234567 Então eu vou apenas duplicar isso em então. Cada TD deve ter um valor de volta do banco de dados. Então, dentro do TD, vou ter que ecoar esse valor de voltar do banco de dados. Lembre-se, a única maneira de obter o valor do banco de dados é usar isso são estas variáveis que acabamos de definir. Então, mais uma vez, cada vez que o loop ITER vai armazenar nossos resultados do conjunto de resultados dentro do nosso em então através de nós podemos realmente referenciar qualquer valor. Mas a única maneira de obter esse valor aqui é colocar em um bloco PHP Onda Nós temos toe EC ou o valor da variável. Então vamos fazer eco no dedo do pé, dizemos dólares dizendo que estão ligados. Então lembre-se que isso vai ser como um ar. Então esta é uma área fora do Ari, porque um estamos ajustando todos os resultados. Então pense em todos os resultados voltando do banco de dados como uma área ou da tabela como honoree on. Em seguida, cada coluna formula na entrada na área. Assim, da mesma forma que poderíamos ter acessado dados usando mais de um pouco apenas prestes a falar de sucesso . Seja da mesma forma que os carregadores de variáveis post toe acesso cada ari subscript usando o nome ou são valor aqui realmente permite é o acesso cada valor colunas usando o nome da coluna como os sub scripts Compreender dizer o nosso colchete em um único citação. Especifique a coluna. Então minha coluna foi realmente assiduidade I d ou um 10 B. Eu realmente participante na idéia pontuação pode apenas verificar duas vezes com PHP My admin on? Sim, foi. Participante, sublinhado I d. Então cada uma dessas colunas pode ser acessada através deste arbitrário este valor abstrato que criamos nele pode ser de acordo onde quisermos. Então o que queremos fazer é que para cada registro que está lá, queremos ecoar qualquer corpo que foi armazenado. Sei que só temos um registro, mas no final deste vídeo, devemos ser capazes de adicionar pelo menos mais dois registros, vê-los no banco de dados e vê-los neste discurso. Então eu vou apenas repetir este tratamento. Eu posso apenas copiar este cabo em Eu estou indo para ir em ritmo ele, e eu vou escrever de volta o valor correspondente por hitter coluna que eu teria definido. Então o próximo hitter coluna deve estar recebendo o valor do primeiro nome, então eu vou apenas ver o primeiro nome, Desde que esse é o nome fora da coluna no banco de dados em, eu vou repetir isso para cada um fora das outras colunas que precisam de dados. Então, apenas para recapitular mais uma vez, o que fizemos foi criar um loop while e dentro do tempo estamos vendo isso para cada vez iterações. Queremos trazer de volta o registro no formulário disponível chamado Are On. Então vamos imprimir oh para o submarino diferente. Scripts a partir deste são variáveis dentro dos diferentes espaços tabela Dita por regra. Então, quando eu quero dizer essas mudanças e salvar e atualizar, isso é o que meus pacientes gostam em. Estou vendo o registro da Mary. Bem, nós vamos corrigir a data fora da situação do valor de nascimento aqui em então nós estamos vendo cada coisa , e nós também precisamos abordar o fato de que apenas três estão voltando para a especialidade. Então vamos testar nosso formulário, entendeu? Para clicar na minha barra de navegação Homelink para voltar para casa. Então vou colocar Agnes Walters. Andi, veja o que acontece quando entregamos informações às abelhas de dados. Então, quando eu faço tudo isso o primeiro e clique envia, eu vejo que, OK, você foi registrado. Então sabemos que nossa conexão de banco de dados está funcionando. Estamos reimprimindo os valores dela, voltando dos valores postais. Mas então quando eu vou para ver os participantes, eu realmente vejo suas informações recém-adicionadas à tabela porque ela é não em nosso banco de dados. Então, apenas o fato. E volte ao meu banco de dados e clique em “Bro's” novamente. Então ele vai preenchê-lo com seu novo recorde. Então, não, estamos inserindo registros e fomos capazes de visualizá-los em nosso site. Agora há duas coisas que precisamos consertar uma. É a data de folga do nascimento. Nós notamos que ele está indo sobre um 00000 mesmo que claramente selecionado para ele na segunda coisa é especialidade. Então eu começo com a especialidade porque então ele meio que se relaciona com o que estamos fazendo. Não. Então a situação com especialidades é que temos uma mesa especificamente projetada para especialidade. Então, se eu voltar para xixi stream admin, clique em especialidades, Eu vou ver que eu tenho pelo menos um detalhes especiais. O i D três no banco de dados Adminis admitir como um valor, há anos pode não ser de três anos, talvez um ano talvez, também. Depende. Tudo bem, em você pode ter adicionado mais ou você pode ter menos. Então eu estou ajustando para inserir tantas especialidades aqui no banco de dados como eu realmente tenho na minha lista suspensa. Então lembre-se de inserir tudo o que realmente precisamos fazer é colocar o nome no DSO. Apenas me lembre as especialidades que anunciamos eram desenvolvedor de software, administrador da Web e outros. Eu só fui, Oh, Oh, vá em frente. E a estes em conflito ir. Tudo bem. E então ele está me mostrando as declarações de inserção reais. Eu só estou indo dedo do pé, modificar esta declaração inserir e apenas digitar outro ao mesmo tempo. Está dizendo que a autoridade fez isso. Então eu vou apenas remover isso. Eu só vou usar esta mesma declaração para fazer outra. Tudo bem? Então é por isso que ler é importante porque já fez isso, e eu quase fiz de novo. Então eu vou apenas ir em frente e clicar gol em mais um Royce insurgentes. Quando olho no estábulo da especialidade, sei que tenho todas as minhas quatro especialidades em você, não só as idéias aqui são porque, bem, eu estou pulando de 3 para 5 por qualquer motivo que esteja guardando. Mas a questão é, no seu sistema, você pode ter números diferentes dos que eu faço no meu vídeo, onde eu teria codificado o valor da opção. Três. Essa não é a melhor maneira de fazer isso, porque queremos dinamizar um lendário na opção, sua especialidade. Então, se você tinha cinco especialidades, então você deveria estar gerando cinco opções. Só tenho quatro. Se você tivesse 10, sua experiência ou sua experiência de usuários não deveria estar ligada à minha própria. Então eu vou escrever algum cordão que vai realmente consultar minha especialidade estável em gerar as opções, seu registro na tabela, bem como realmente modificar, sentando o valor de acordo com o que eu d. gerar as opções, seu registro na tabela, bem como realmente modificar, sentando o valor de acordo com o que eu d. tinha no banco de dados. Então, como de costume, o primeiro lugar que eu vou porque eu tenho uma operação de banco de dados para realizar é bruto em eu estou indo toe Criar uma nova função, função pública. E eu estou chamando este aqui Obter especialidades em, em seguida, obter especialidades é realmente vai olhar muito semelhante para obter participantes. Porque tudo o que eu quero são todas as especialidades e todas as colunas. Compreender? Para copiar esta pontuação em, Eu estou indo para re congelar a instrução SQL de especialidades do participante para saber que definimos uma função, obter especialidades. Podemos voltar para o nosso discurso índice em realmente repetir passos semelhantes onde temos alguma variável chamada resultados em. Vamos chamar a nossa função dentro do nosso operador bruto. Obter especialidades. Não, nós vamos modificar sobre controle de seleção onde nós vamos realmente tomar todas as opções codificadas em. Vamos repetir o que fizemos com o nosso tempo. Oops. Vou declarar um bloco Ph B dentro deste bloco Ph B. Eu vou dizer um tempo algum valor arbitrário e eu estou chamando isso são mais uma vez sobre isso. Eu vou ver os resultados são oh, buscar. E isso é polícia ou cólon Colon. Busque a associação. Então eu fui abrir meus calibrados, então eu vou apenas fechá-lo ao mesmo tempo para que eu não esqueça. Então isso é muito importante. Caras nunca esquecem de fechar seus abraços atuais. Às vezes, você, eu me empolga com o tribunal, e ele realmente não se lembrava de fechá-lo. E por causa da pontuação anterior, acontece entre vocês, você não percebe, e gastou sempre estar flutuando sobre isso, então é bom para este aberto e fechar ao mesmo tempo. Então o que queremos aqui é realmente gerar um rebocador de opção para cada regra voltando de nossa especialidade estável alguém para declarar minha opção. Onda fechá-lo, então eu realmente só preciso fazer uma opção porque é um modelo e ele vai apenas repeti-lo para cada gravador em. Então o que eu quero entre opção para o valor impresso é a tag PHP. Onde vou ecoar estão. O que eu quero ecoar do nosso é o valor no nome da coluna, então é assim que esta tag opção será semelhante. Mas há mais uma coisa. Nós também precisávamos do valor, então precisamos do valor, que deve ser o mesmo valor que o que estaria em nossa tabela de banco de dados. Então o i d nos bancos de dados, qual o valor deve ser. Então eu vou dizer valor é igual mais uma vez, eu vou para Bem, eu realmente só quero ser claro. Coloque aspas, mas eu tenho que usar o meu puxador Ph B. Eu vou ter que ecoar em qualquer valor que tem em i d. Então vamos olhar para isso de novo. Estou gerando um rebocador de opção para cada um dos resultados voltando em cada opção. O tempo vai ter como valor o i d. Voltando do banco de dados, Andi imprimiu na tela para os olhos do usuário. O nome. Então, quando eu vou atualizar meu navegador, eu recebo um erro aqui. Eles estão dizendo que há algo algum método indefinido, e eu acho que eu estava soletrando erros. Então, quando eu voltar, sim, eu tenho um erro de ortografia. Eu disse especialidades. O que? É especial. Ela está bem. Então, quando eu voltar e me atualizar mais uma vez, tudo bem, então depois de consertar essa era, vemos aqui onde ainda temos nossa largada, ainda temos todas as nossas opções em Apenas validar esse ar? Não vem do banco de dados. Se eu ver fonte paga, em seguida, olhar para as opções sendo o fato. Então todos nós realmente vemos um problema de depuração, qualquer índice indefinido. Então eu acho que eu posso ter referenciado i d. Quando é idéias especializadas tão pediu desculpas. Então eu só volto e me essa correção. Então, é sempre bom ter fontes pagas, ver se há algo chutando e gritando no fundo. Então é especialidade na pontuação, i d. E lá temos valor igual a 34567 Então, seja qual for o valor da água, a ideia está no banco de dados. Isso é o que está sendo impresso de volta como o valor em qualquer nome é o que estamos vendo na caixa suspensa. Então vamos apenas validar que tudo está indo de acordo com o plano. Então eu só vou adicionar outro participante. Certo, então vamos adicionar Tom Hopkins. Sei que Tom está registrado. Vemos aqui que o valor I d está sendo passado sobre Andi, quando vemos registros. Desculpe, Ver participantes. Então ainda vemos isso. Eu desvalorizo Soto. Conserte isto. Eu desvalorizo. Nós precisamos modificar o script select para que nós estamos recebendo sobre o nome em, não apenas o i d. Então eu vou voltar para a minha multidão, arquivo sobre ir para modificar esta pedreira que diz, obter participantes. Eu vou fazer o que chamamos de um interior juntar-se a alguém para dizer “juntar-se a dentro”. Eu estou dentro juntando a tabela de chás especiais na especialidade na pontuação, eu d igual a especialidade na pontuação I d. E então porque onde temos o mesmo nome de coluna, o que temos que fazer é realmente dar as tabelas são em essência, Eu posso chamar os participantes E onda especialidades s sobre isso. Eu vou vê-lo. Essa especialidade é igual à especialidade no placar. Tudo bem, então se você cuidar de nós, siga isso junto. Tudo bem, então se você cuidar de nós, Se você precisa de uma melhor compreensão fora disso, você sempre pode fazer cócegas no meu curso sobre o desenvolvimento do banco de dados da escola e reunir sobre isso vai trazer um monte de contexto sobre o que está acontecendo aqui. Mas uma vez que temos relacionamentos em um banco de dados, então nós temos que ser o que chamamos de junções internas onde nós estamos realmente juntando os dados entre as duas tabelas sobre o que eles têm em comum. E se você se lembra, quando estávamos configurando ou banco de dados, tínhamos ideias especiais de sublinhado, a chave primária e uma especialidade estável em Nós temos uma idéia de sublinhado especialidade como uma chave estrangeira , que é, tudo o que estamos vendo são os valores que correspondem às idéias do especial fazer estável. Então, fazendo essa alegria interior e eu não estou vendo, trazer de volta todos os detalhes de ambas as mesas e um dedo argiloso fazer com ele como eu desejo Então para o aspecto de exibição, já que eu não vou voltar. Todas as colunas da tabela de participantes em todas as chamadas do estábulo da especialidade, incluindo o nome saber o que eu posso fazer é realmente voltar para o meu cabo sobre o meu sucesso não é sucesso. Não, a minha vista. Velocidade recorde. Desculpe, Andi. Em vez disso, oferecer uma especialidade de esgrima. Eu d. Eu não posso nome de referência porque o nome é uma coluna que eu sei que tem acesso dedo do pé. E então, quando eu atualizar esta página, eu não estou vendo todas as especialidades que estão associadas com I D três. Então eu vou para ir e adicionar mais um registro apenas para dirigir o ponto para casa neste vai ser um pouco fora de bobagem em ir para mudar a área de especialização, o administrador do site, e então submete aqui mais uma vez, estamos imprimindo apenas pelo valor porque estamos olhando para o valor post, que é apenas o valor da opção. Mas quando visualizamos os participantes, veremos o nome real porque sabemos que estamos imprimindo o nome associado a isso . Eu desvalorizo seis. Agora, a última coisa que queremos mudar é o fato de que a data de nascimento está dando esses ouvidos. E eu estava mencionando que isso é porque está fora de uma data para a edição da marcha. Então, no PHP, o formato de data precisa ser y y y y y y quatro sábios para hastes. E para estes, em outras palavras, ano, mês, dia. Mas então nós não sabíamos que o selecionador de datas, se formos sobre a nossa fazenda está realmente nos dando no mês do ano são dias mensais ou algo mais são. Então o que precisamos fazer é dizer a data mais rápido do dedo do pé, realmente mudar o ex-Toby Ph. Seja amigável. Então eu vou voltar para o meu footer fogo no meu caminho para encontrar a função que envolve seu seletor em ir para adicionar aos atributos aqui. Então esta imprensa vírgula e formatos de data direita dois pontos. Então eu vou especificar que a data para o que eu quero é por quê, por quê, por quê, por quê? São quatro pontas sábias em dois “D”. Assim que eu mudar, posso voltar e atualizar minha forma. E se eu der uma olhada se eu selecionei e eu olhar para o que está impresso, eu vejo Oh, tudo bem, então é realmente Y desculpe. Então, em grupos desempregados, a coisa da data de quatro meses é um pouco diferente. Então é por que, mm bt? Então deixe-me atualizar em fazer isso novamente à direita. Lá vamos nós. Então é por que nos dar os quatro algarismos. Então é meio que causando batidas de pêssego. Porquê, porquê, porquê? Por que se você usa o Excel, é por quê, por quê, por quê, por quê? Mas nisso foi roteirizado. Então você só quer que me chamem... que me mandaram para fora, então eu fui entrar em outro registro aleatório aqui... só para ver o que isso vai acontecer quando eu enviar tudo passou. Bem, vemos aqui a data de quatro meses é mantida. Como quando eu vou para ver os participantes, vemos aqui que estamos realmente vendo o formato de data porque não é salvá-lo de uma maneira Ph ser amigável. Então é isso para como vamos sobre a seleção de registros e manter nós dinamicamente gerar moinho problema baseado em relógios no banco de dados. 10. Confira um resumo no MySQL in no PHP PDA: Hey guys, Neste vídeo, vamos estar olhando para colocar em funcionalidade que nos permite ver um registros detalhes cada vez. Em nosso vídeo anterior, teremos configurado essa velocidade. Isto está na tela aqui pelo nome da visão registro pensamento ph. B Sobre o propósito desta página foi a lista de todos os registros atualmente ou bancos de dados ou pelo menos a tabela de participantes. Agora a tarefa à frente é muito para poder clicar em um registro e ver apenas detalhes relacionados a este registro. Para fazer isso, estaremos construindo uma nova página, e vamos chamá-la view dot PHP com o único propósito de você é receber em I Devalue, conforme impresso aqui nesta coluna I D, ou o único identificado a partir do banco de dados em Traga de volta o registro com todos os detalhes. Para isso eu d. Então, de volta ao nosso projeto, vamos em frente e construir e criar um novo arquivo. Chamamos isso em ponto de vista PHP como de costume para manter a consistência, precisamos fazer referência aos soldados acima de cabeçalho e rodapé copiam esses blocos de uma página existente no cabeçalho do cabo do rodapé. Então, tendo feito isso, nós simplesmente renomearíamos o registro de exibição de título. Então nós temos registros, que está trazendo de volta todos eles em uma forma tabular em acordo de espectador. Nós pretendemos ver apenas um registro de cada vez, então eu vou apenas remover esta referência judicial que está chamando. Obter participantes porque eles vão precisar de uma nova função para obter um registro tudo o resto. Canadá, eu e como você ainda precisa do cabeçalho e ainda queremos dizer exigir sobre conexão de banco de dados. Em seguida, eu vou ir em frente e voltar para o nosso discurso de registro vista em Eu vou adicionar uma coluna adicional para que este será chamado de ações, alguns adicionando um batedor de tabela adicional em Eu vou chamá-lo. Ações sobre ações foram para este vídeo. Vamos colocar um botão lá, mas eventualmente vamos querer colocar em funcionalidade para ver a exibição, os detalhes que estamos prestes a fazer, mas também editar e excluir por rolo. Então nós temos a coluna que diz ações, mas então nós vamos modificar nosso cabo de função, e nós vamos adicionar uma nova coluna a ser adicionada com cada linha para cada registro, alguns apenas abrindo e fechando a TV ligada. Então, neste espaço, o que queremos fazer é imprimir na tag âncora que tem um único propósito de navegar para ver ponto PHP ao passar em nossa string de consulta com o valor I D. Agora tudo isso foi um saquê cheio de boca e apenas preste atenção e eu vou repassar isso de novo. Então, primeiro começamos com uma conversa de âncora e eu vou abrir e encher minha etiqueta no tornozelo e conhecer a turnê completa do Riff B E. E eles iam ver o modo de exibição iniciar o PHP. Só estou interrompendo a sua mensagem, e depois vou querer que o meu tio se canse para parecer com um botão. Então eu vou colocar minhas botas, começar as aulas, alguém para dizer, classe é igual a como vamos usar Bt e para o botão ligado. Eu queria ser um botão azul em algum lugar para dizer primário agora, como está, o que aconteceria é que ele vai gerar para cada regra que teríamos visto antes. Não, nós deveríamos ter outra coluna nessa coluna vai ter um link chamado view. Então, se eu atualizar a página depois de fazer todas essas mudanças e peneirar, então veremos exatamente isso. Não, temos uma coluna de ações, e temos um botão que diz Ver. E se clicarmos no modo de exibição, ele navega. O são o campo de visão recém-criado. O problema aqui é que todos fora deles estão vendo apenas view dot PHP view dot PHP para que todos eles nunca chegassem ao mesmo espaço, que é bom até certo ponto. Mas o que realmente queremos é a habilidade dele que o dedo imprime todos esses líderes naquela página articular. Agora o cenário é que é porque você tem uma pequena mesa trabalhando com apenas 56 sente que está bem. Mas se não estivéssemos imprimindo, veja a data de nascimento da pessoa nesta lista no bebê, estamos garantindo o número de contatos deles nessa lista, você teria que ir ver os detalhes para ver o resto fora do perfil deles. Então é aí que esta página de visualização realmente entra em jogo. Então, apenas para levar para casa o contexto, eu vou remover os contatos do endereço de e-mail e número na data de nascimento da listagem. Então, quando vamos para a nossa visão, registros estáveis para ver todos os que estão listados que eles estão indo para assistir sempre vê seu primeiro nome, seu sobrenome e sua especialidade, e então vamos ter a opção de ver mais detalhes. Então eu vou apenas remover os cabeçalhos da tabela sobre isso. Vou remover as colunas correspondentes da tabela que teriam surgido para cada um desses registros. Tudo bem, então, tendo feito isso, vemos que temos menos colunas do que tínhamos antes. Mas a expectativa é que quando tratamos a visão, vemos o perfil completo da pessoa, assim como quando, quando eles teriam completado o registro em, eles veriam que informações pouco fora sendo apresentadas. Então o que eu vou fazer é pegar emprestado o cabo que teria dado essa representação que o carvão estivesse no discurso de sucesso onde podemos ter criado como aquele cartão pequeno com suas informações, alguns distantes vão pegar tudo isso HTML aqui em, eu vou colocá-lo na minha página de visualização. Então, no final do dia, o que precisamos fazer é garantir que os valores correspondentes por poço para o casaco de impressão fora dos detalhes da pessoa. Precisamos ter certeza de que estamos ajustando os valores de contato, número, e-mail, endereço, data de nascimento e tudo mais. Agora que fizemos as coisas do lado do cliente, as coisas interferem. Até certo ponto, o que vamos fazer é sujar as mãos. Entre em nosso PHP ponto de fraude, que é onde estamos armazenando tudo para a funcionalidade relacionada ao banco de dados. Então eu vou criar uma nova função. Vou chamá-lo de função pública, obter detalhes do participante, e então este vai tomar um parâmetro chamado I D em apenas para que eu gosto de agrupar meu tribunal. Gosto de agrupar todas as coisas legais que estão relacionadas. Então nós inserimos e estes aparecem. Nós temos os participantes aqui, então eu só vou escrever este aqui acima das especialidades get porque eu gosto de ver onde todas as funções relacionadas estão. Agora que configuramos o esqueleto para a nossa função, o tribunal vai parecer semelhante à função acima dela. Esqueça todos os participantes onde temos uma variável chamada SQL E nesta variável estamos colocando na pedreira onde dizemos selecionar estrela do participante O nome estável Onde em seguida, precisamos passar em que o titular anterior. Então nós vamos dizer participante, sublinhar idéia porque esse é um nome de Porpora. Coluna turva é igual a esse lugar titular i d E depois de ter feito isso, vamos preparar a declaração. Então, em seguida, preparamos. Então eu vou dizer STM t é igual a em nós chamamos em nosso objeto. Isto aponta para DB aponta para a nossa onda estreita. Chamamos nossa função preparar e passado em nossas instruções SQL. E depois disso, o que precisamos fazer é amarrar as permanentes. Então nós chamamos de volta ou objeto s TMT, e então chamamos a função naquela que é chamada Bind, Haram. Espero que vejam que isto é apenas um padrão. Se você já fez isso antes, o que nós já fizemos, então é praticamente o mesmo padrão toda vez que você precisa fazer isso depois. Então, estamos passando sobre i d placeholder em vinculá-lo ao valor que veio através do nosso parâmetro em , depois de tudo o que é dito e feito, queremos armazenar os resultados. Alguém para dizer que o resultado é igual toe ste mt em. Então executamos. Então, apenas para revisar isso, temos nossa instrução SQL, que está recebendo todas as colunas. Então selecione estrela de uso. Traga-me todas as colunas desta tabela onde o ID do participante é igual a algum titular do lugar, que teríamos definido antes. Não em. Deveríamos ter uma ideia para armazenar os espaços reservados e depois de preparar essa declaração, amarramos este dedo. Água de valor veio no parâmetro. Agora a expectativa é que o valor vindo deste parâmetro deve muito o i d para a coluna que desejamos a vista. Então, se é que desejamos o View Coluna cinco ou rolo número cinco ou o registro com idee cinco. Quando eu clico ver, esperamos que ele deve invocar este telefone mostrado chamada passando cinco, em seguida, executando esta preocupação select para obter o registro participante com i D cinco ligado, em seguida, retorná-lo resultado toe em, em seguida, o resultado final é que precisamos retornar o que quer que vem casca neste objeto para saber que temos o SQL e o levantamento pesado pH B parte fora do caminho. A próxima coisa que queremos fazer é voltar para ver registros em ter certeza de que nosso link de exibição realmente envia sobre essa idéia. Então o que estamos prestes a fazer é usar o que chamamos de faixa de consulta. Não, nós teríamos olhado para Cory Strings mais cedo quando olhamos para como eles obtêm funções para formulários. Lembre-se que eles recebem de show teria passado um monte de coisas na URL sobre essas variáveis, poderíamos ter obtido os valores associados com esses durables usando mais get super variável. Então a coisa é, você pode realmente criar sua própria string de consulta. Então, nesta situação, temos HR igual a view dot PHP. O que eu vou fazer é criar uma pergunta usando o ponto de interrogação em, em seguida, criando nomes de variáveis. Alguém vai chamá-lo de “eu d on”. Então eu vou dizer que isso eu teria que ser igual igual a algum valor. Portanto, o valor que ele precisa ser igual é qualquer que seja a idéia do participante para a regra que está sendo impressa. Lembre-se que isso é um rolo para o cabo de liberdade condicional. Tudo bem, então para cada sala que é que ele gera. Ou Príncipe Velho este participante i d coluna no primeiro no sobrenome eo nome. Eu queria me dar uma tag âncora que vai navegar para a página de exibição na passagem da variável de string de consulta i d. Com o valor que é, Bem, telefone aqui no participante i d Então eu preciso ter certeza de que em depois o i d é igual a porção, a próxima coisa que sai disso deve ter o mesmo valor que o que teria sido impresso na coluna numérica para essa regra. Então eu posso realmente apenas t este bloco de alimentação de fala que está ecoando esse valor. Copie-o e coloque-o aqui dentro das aspas. Então, mais uma vez, isso vai gerar um link no HF vai ser visto dot PHP em nós estamos criando nossa própria string de consulta. Então eu estou vendo a interrogação Mark e alguns nomes muito grandes para que você possa chamar isso do que quiser . Se você se sentir mais confortável vendo o participante sublinhado, eu vou lá. Isso é bom. Só para lembrar que esse é o nome da variável que você precisa procurar no lado seguinte . Então eu estou chamando de “eu d “nisso. Eu estou dizendo que ele deve ser igual a e que eu vou apenas colocar no meu bloco PHP porque eu posso colocar aqueles em quase qualquer lugar, em seguida, eco o valor que está realmente voltando para esse papel. Portanto, o mesmo valor que é impresso ainda esquerda, que é visível para o usuário. Se você decidir mantê-lo lá, você pode tirá-lo. Isso realmente não importa. Mas qualquer que seja esse valor deve ser anulado. Toe o u R L Uma vez que isso no Qatar é gerado. Certo, então vamos testar essa teoria. Eu fui até mim. Essas mudanças Veja essas mudanças Atualize o discurso em então, se você passar o mouse sobre o botão e ele olhou para o canto inferior esquerdo da minha tela, você vê host local sensível na visão de barra que Ph B ID é igual a dois. Então note que este diz para este número é, também. Se eu descer para o que diz nove notado que eu d número na URL não é Se isso é muito pequeno para você ver, eu apenas inspecionar elementos que podemos vê-lo mais claramente e você vê ponto idéias PHP. Nove. Por isso, é muito relativo em pérola. Vai ter um valor diferente. Então este é cinco em diante e assim por diante são tão saber que temos a idéia de ser passado para a página do ponto de vista PHP não precisamos de retrofit nossa view dot página PHP Teoh, executar a consulta em, em seguida, obter todos os valores que estão voltando por extensão imprimi-los agora de volta em nossa página de exibição, Entende? Para modificar esses comentários, entendeu? Para ver, obter um 10 d por idéia. Tudo bem, para que saibamos exatamente o que estamos fazendo. Então vou começar dizendo se ele está pronto. Portanto, esta é uma função agradável que nos permite verificar se eles, se alguma variável existe em, é geralmente usado quando se move entre páginas e usar realmente usar quando você tem cordas Cory. Nós teríamos olhado para ele quando estávamos fazendo nosso sucesso, não PHP, onde dissemos que se ele definir envios então fazer algo certo. Então é o mesmo conceito. Então, neste caso, eu quero verificar se a variável get tem algum subscript pelo nome off i d. Então, se ele definir obter eu d significado. Se este subscrito existe nesta variável, certo, certo, isso é o que é um ditado. Então, queremos tomar alguma forma de ação. Queremos tomar outra linha de acção. Então, se estiver lá, então queremos imprimir todos os detalhes das pessoas. Então, se não, eu quero apenas ler isso, se não, cenário primeiro. Desculpe. Eu só vou ecoar para que eu possa apenas igualar a tela. Possivelmente um puxão de cada um como um erro. Alguém para ver, por favor verifique os detalhes. Tente de novo. Então estamos dando a eles uma mensagem de erro que está bem, talvez você tenha chegado aqui por acidente. Então isso é o que a pessoa deve obter se apenas digitou em view dot PHP porque o i d. não existe. Então é errado. Tudo bem, vamos. Vou colocar o texto. Desculpe. A cruz para o perigo. Mande alguém para um único curso para essa parte. Tão grande e texto para ver que você chegou aqui incorretamente. Agora, se o valor eu d existe, o que queremos fazer é chamar a nossa multidão. Objeto, Andi. Primeiro, Primeiro, precisamos de uma variável. Então vamos ver os resultados. Será algo que ele vai ser igual? Dedo cantou e eles estavam indo ligar para o nosso atendente obter outra escola de volta aqui e certificar-se de dirigir a função corretamente diz, obter detalhes do participante Entendeu? Copiar isto. Obter detalhes do participante em. Eu vou colocar no get super-herói pessoalmente, eu me deleito nele. Gosto de colocar as variáveis. Desculpe, os super provedores em outra sala. Então eu vou declarar uma variável que eu d em. Então eu vou conhecer isso. Eu seria igual ao valor que está chegando. Então ele vai ser igual a um monte de nossos valores na super variável aqui em então. Vou usar essa variável na minha forma. Sean liga. Acho que isto parece um pouco mais limpo. Você trabalharia de qualquer maneira, mas isso sou só eu optando pelo horror. Acho que deve parecer tão agora que fizemos tudo isso e temos resultados, o que acontece que os resultados são não ou Ari ou são variáveis, isto é, honoree, que tem todos os valores. Primeiro nome, sobrenome e especialidade. Então eu peguei o tribunal da página anterior onde estávamos postando os dados. Não, na verdade vou substituir esse post com a variável de resultado. Então esta foi uma pontuação de Skopje NPS. Você não tem que escrever o post do resultado certo. Em vez disso, eu só estou dizendo que não, em vez disso, fora usando o post estavam usando resultados porque os resultados estão mangueiras os dados provenientes do banco de dados. Entende-se que vá em frente e substituiu todos os posts aqui. Mas ainda estamos ecoando. Ainda estamos interagindo com cada valor viol. É o nome subscrito. Então, agora que fizemos tudo isso, vamos voltar para nossa página e dar uma olhada. Isso é o que nós pegamos. Isso é o que deveríamos receber porque eu deixei de fora um passo. Então, trabalhe comigo. Não, temos multidão que PHP no ditz em que há um erro online 46. Se eu voltar para o arquivo da multidão e olhar para Lyon 46 eu realmente perdi um passo, então o que eu deveria ter dito aqui foi resultado. Então tivemos resultado é igual para executar em. Se fizéssemos isso, foi só com isso que começamos. Então não teríamos conseguido nada voltando. Certo, então o que precisamos fazer é pegar esse resultado igual a tirar essa parte do casaco do tribunal . Então o que vamos fazer é criar outra linha em Lyon, na verdade, mentindo 46 e o resultado é igual a on. Vamos ver o Ste vazio. Andi, ligue para o telefone que o filho ligou. Tudo bem, então eu vou explicar. Então o que teria acontecido é que tudo isso teria sido executado ou pedreiro. Está tudo bem e elegante. Mas então, porque você só quer voltar um papel realmente e realmente estavam tomando apenas um registro onde o ID é igual a que nós temos que usar essa função chamada Fitch, que na verdade só vai nos dar uma coisa. Então isso é uma coisa, dedo do pé. Lembre-se, quando estiver, você está usando vídeo. Então, quando você está olhando para múltiplos do que apenas executar, isso é perfeitamente bom. Mas caso contrário você quer ver Fitch e você colocar Fetch, você buscar o registro no reboque uma variável, e você retorna essa variável em, em seguida, na parte de vista. Bem, o que for buscado e colocado no reboque devolvido por. Esta função é colocada nesta variável, e então usamos essa garganta variável. Então, quando eu voltar e me atualizar, agora estou vendo pelo menos alguns dados sobre algum outro Ariz. E essas setas são porque eles estão dizendo que nós temos um índice indefinido na visão. Porque enquanto eu estou falando sobre especialidade e falando sobre você, b e assim por diante, lembre-se que estes são bancos de dados. Então este é o velho pós frio onde estamos olhando para os sentimentos da fazenda chegando? Não, estou usando o mesmo tribunal na parte da vista, mas para a página de visualização, precisamos usar os nomes relacionados à BCE. Seconal. Basta voltar para PHP meu administrador e me atualizar. E essa é a data de nascimento, endereço de e-mail e número de contato. Então temos a especialidade. Eu tenho uma situação aqui. Então deixe-me ir em frente e mudar todo o nascimento, os gerentes e número de contato. Tudo bem, então eu mudo esses velhos, então os resultados morderam o número de contatos de e-mail de nascimento. Então eu atualizei minha página e vejo aqui que pelo menos aqueles são fixos. Mas ainda tenho esse erro na especialidade. Então lembre-se disso com especialidade porque está em outra mesa. O que realmente vamos ver quando selecionarmos estrela desse 10 detalhe é apenas o i d. Então precisamos fazer uma junção interna em nossa pedreira que estavam perdendo. Então, eu só vou tirar uma cópia. Isso foi feito no acima para todos os participantes. É a mesma pedreira. Mas a junção interna sempre tem que vir antes do eram são tão em SQL que sempre fazemos alegria interior em qualquer lugar é quase sempre a última coisa a surgir. Então deixe-me passar pela mudança. Quero dizer, selecione estrela do participante em diante, nós damos participante e uma lista. Eu estou chamando de um e então nós vemos interior juntar especialidades com um pseudônimo off s em ambas as mesas em que a idéia de especialidade e não é especial. A ideia é que isto é o que as duas tabelas têm em comum. Essa é uma boa maneira de olhar para cima quando a energia em mesas. O que os dois têm em comum? O que eles têm em comum é especialmente eu d coluna sobre. Então nós dizemos que somos ou participante I d é igual ou desossado nosso lugar mais velho. Então eu volto para ver, então eu sei que bem, quando toda a junção interna é feita, o valor realmente vai ser chamado o nome em Apenas para recapitular. Se formos para o estábulo da especialidade, vemos o nome. Então eu estou ouvindo rapidamente fazer essa instrução SQL aqui para que possamos ver exatamente o que acontece para que não estejamos muito confusos. Então eu estou indo apenas para copiar esta instrução SQL no PHP My admin. Acabei de ir à banheira SQL. Eu fui para substituir tudo o que estava lá com a nossa instrução SQL, exceto em que realmente dar este um valor e eu vou dar-lhe o valor cinco em. Então, quando eu disser “vai”, vemos o recorde completo a voltar. Então é assim que essa regra se parece. Vemos participante i d o primeiro nome sobrenome data de nascimento que correu esses zeros. Contatos de endereço de e-mail, número a especialidade i d na tabela de participantes. O especial A idéia na tabela de especialidade sobre o nome sendo nome fora da especialidade. Então, se quiséssemos nome a ser impresso, então temos que fazer referência ao nome em nossos tribunais estão voltando para o pH vista que eu estou fazendo referência aos resultados com nome subscript. Então, depois de fazer todas essas mudanças, eu não posso muito bem, volta ao meu registro de visão. E se eu atualizar mais uma vez do que vejo o valor correto sendo impresso ali Não, eu só notei que eu estava ligeiro desalinhamento com meu pé ou meus rodapés aparecendo dentro deste cartão. Isso deveria acontecer. É mais do que provável que eu não tenha lá. Então, na minha página de visualização, eu copiei apenas. Então, se você está experimentando isso, você pode falar. Sente-se comigo. Vamos fechar esse Dave corretamente? Então eu sou o primeiro na ordem é restaurada. Então vamos rever tudo o que fizemos. Nós modificamos a idade de nossos participantes ou a visualizamos no discurso onde estamos imprimindo cada participante que se registrou até o momento. Nós colocamos em ação. Mas isso nos permite ver os detalhes sobre esse participante específico. Este botão de vista é só sobre o tio Todd. Em primeiro lugar, no DIT está ligando para a nossa página de ponto de vista PHP sobre ele está passando sobre uma string Cory na URL chamada I D. Então, quando clicamos nele, a expectativa é que estamos olhando para ver se eu d veio nesta consulta string em Se ele fez, obtemos o valor executado em instruções SQL que se parece com isso e trazer de volta os dados resultantes em, em seguida, imprimi-lo de volta para a tela. Não, nós colocamos algum acorde para ver se o valor I d não estava no seu A outra coisa deveria acontecer. O que fizemos foi ver Prince a alma errada que vou remover. Então, se olharmos para o euro seaview dot PHP e a string de consulta, se eu remover apenas a string de consulta e deixar você ponto PHP e imprimir, então vemos nossa mensagem de erro chegando. Por favor, verifique os detalhes e arrastando tudo isso. Arum Bem, tudo o que ele está tentando comprar para ele não pode comprar em. Então, na verdade como último ato, estou indo para flipper nesta declaração se, então eu vou ver se não está definido. Significa que se ele disse que se isso não existe, certo? Então, quando você coloca não muito, você está fazendo o negativo. Então, se não você disse que ele definiu isso, então eu quero um legal essas declarações. Tudo bem, então eu estou checando o negativo primeiro mais. Ou seja, de outra forma, que está lá. Então, se não é isso significa que aqueles se o get i d super se eles têm idéia na Super Variável não existe. Em seguida, ecoamos esta mensagem de erro outra. Nós queremos fazer tudo isso, e eu vou realmente mover essa brisa reveladora. E eu vou terminar todo esse bloco se depois deste estranho impresso alguém para ir atrás deste def em, então eu vou começar um bloco PHP, e eu quero dizer PHP em fechar. A chave em seguida, fechar parece estar bloqueada. Sabe o que isso vai fazer, na verdade, é só dizer, se o get i d não existe, apenas imprime a mensagem da era. Caso contrário, se existir, que é o que esperamos, significa que está na URL. Então obtemos o valor e obtemos os resultados, Andi, no mesmo bloco “if “porque não fechou tudo. Este HTML será renderizado em tudo. Até este fechamento, a brisa estará pronta. Então, se você olhar, estou clicando neste Bridgestone aqui e ele vai destacar a brisa aqui em cima para que estes aparelhos estejam conectados. Então, quando eu atualizar o discurso, se a garota não estiver vazia, então vamos ver a mensagem da era. Nós não vamos ver nenhuma outra mensagem desagradável sobre nada que não exista está faltando ou algo assim ligado. Então, se eu colocar sobre a cadeia de consulta então eu digo idéias cinco, então nós voltamos. Oh, agora é cartão vermelho? Eu encorajo você a jogar com a velocidade que você pode personalizar. Você faz isso em uma página de perfil, o que quer que seja, coloca mais alguns elementos de questões em sua Andi. Se você tivesse mais detalhes no banco de dados e eu tenho, então você teria mais detalhes completos Page e eu temos. Mas, essencialmente, o conceito para mim é o mesmo. Você passa. A idéia é uma string de consulta. Você obtém o valor, seu em sua consulta e, em seguida, você imprimir seus resultados, Eu serei encontrado. Isto Ouça valioso. Andi, estes apenas lembre-se de se divertir enquanto você modifica isso e personalizá-lo é ao seu gosto. 11. Atualize os registros de banco de banco de banco no PHP Pde: Pessoal, Pessoal, neste vídeo, vamos ver como podemos adicionar funcionalidade para editar nossos registros. O contexto para por que você gostaria de editar seus registros são bem acima divindade em termos fora da sigla fraude, que seria o U para atualização, seria que talvez na informação atual foi inserido inicialmente, e você precisa para fazer uma mudança. Então, por exemplo, com o registro da Mary, se vermos os detalhes, vemos que a data de nascimento é 00000. É um monte de zeros que podem estar errados. Todas as coisas podem estar incorretas. Talvez o nome dela tenha sido incorporado no momento, ou o endereço de e-mail. O que? O fato é que você quer ser capaz de atualizar o relatório a partir desta tela. Então, neste tutorial será realmente ir em frente na adição de um botão de edição na construção dessa funcionalidade. Agora, de volta em nosso discurso de registro de visão, nós já teríamos adicionado fora da coluna que disse ações e esta coluna de ações está realmente apenas indo para estar segurando todos os botões que iria afetar ações. Então a primeira ação em que teríamos trabalhado é o leilão de visão, que temos uma linha aqui por esta conversa de âncora. Mas o que vou fazer é expandir este problema. Só gosto de índios para vermos onde o problema começa e pára. Então, dentro deste TD, eu estou realmente indo para adicionar outro botão ou outro puxador de âncora. Então apenas duplicou esta terra com controle de ligado. Então a segunda etiqueta de âncora está indo para o pé. Ter o PHP edit dot em vez disso sobre o que queremos fazer. Queremos manter o pai. Estamos imprimindo toda essa idéia como parte fora do link porque será necessário em nós vamos mudar a classe de BT e Primária feita. Meu qualquer um seria arte e alguém para dizer aviso para um botão laranja em então que leva que é impresso deve vê-lo. Mas se eu voltar para minha página e atualizar, então eu deveria ver meu novo botão aqui, que diz que ele no link deve ser muito parecido com a visualização onde estamos vendo. E não é Ph. B. E na sequência de consulta, I d é igual a dois. Em seguida, precisamos fazer a tela de edição. Então, de volta ao código do estúdio visual, entendeu? Para criar um novo arquivo neste será chamado reddit dot PHP. Agora, geralmente a tela de edição se parece com a tela de criação, e podemos política aqui para um pouco de contexto. Nosso formulário de inscrição tem todos os campos que precisam ser preenchidos votos. Eu só vou voltar para um formulário de registro que, lembre-se, é a nossa casa e vemos o primeiro nome, sobrenome e todos os valores que precisam ser preenchidos. Então nos submetemos. Essencialmente, estes são todos fora dos valores que também precisamos ser capazes de atualizá-lo apenas no caso. Então, realmente e verdadeiramente, nossa página de edição vai se parecer exatamente com nossa página de registro. Talvez sendo o título. Então, tendo criado a página de edição, eu estou realmente indo para usar meu código rapidamente, e eu vou para a minha página de índice, que é muito forma de destruição. Eu fui copiar tudo isso em então, com o fragmentado na página Edit start PHP. Precisamos de algumas mudanças. Claro, eu vou mudar este recorde de edição de um dedo para esse nome fora desta velocidade, que é um título ligado. Eu também vou mudar que cada um rebocar, rebocar, editar registro. Então, se eu navegar dedo do reddit dot PHP e eu posso apenas ir para a menina e digitar em PHP, então eu vou ver que ele parece idêntico. Mas os Texanos qualquer registro do título é diferente, e podemos alterar esse texto no botão enviar para ver se algo como Enviar alterações ou salvar alterações em talvez usar uma cor de botão diferente agora. Use o sucesso para obter um botão verde. Tudo bem, então é assim que a página é editada. Oh, são editar página parece, Então eu vou voltar para a minha lista na expectativa mais uma vez é que uma vez que eu clicar neste botão de edição , ele vai navegar sobre. Vemos que já está partido no coro para saber o que precisamos fazer é realmente executar uma pedreira que obtém o recorde com o I d. sendo passado em diante. Na verdade, Prince, esses valores aqui para vermos agora de volta ou frio, precisamos nos ocupar com algum PHP. Em primeiro lugar, estamos obtendo resultados sobre esses resultados, armazenando variavelmente o antigo adiar esta função. Eu só vou remover isso vindo do discurso. Tudo bem, então nós estamos recebendo o velho adiar nossas especialidades cantadas obter e lembre-se que nós precisamos desta função e os resultados para preencher uma lista suspensa para todas as especialidades que estão na tabela de especialidades. No entanto, o que também precisamos é a adicionar alguma chamada de função que vai chamar a função que vai retornar a única regra que estamos procurando. Então, se o eu desvalorizar off para é passado para esta página, então precisamos trazer sobre o registro com i d volátil na verdade imprime os valores do primeiro nome, sobrenome, etc, caixas de texto para que eles realmente aparecem dentro do nosso formulário para edição. Então, já temos uma função que teríamos definido em vez de para o arquivo cortado em. Nós chamamos isso, obter detalhes do participante, então nós ligamos para obter detalhes do participante sobre o que realmente estamos fazendo é apenas obter a sobre como voltar. Quaisquer detalhes que havia sobre que participar desta função pode realmente ver o propósito sírio . Então a mesma função que nos deu os detalhes pode realmente servir o mesmo propósito para 18 porque nós realmente precisamos são os pontos de dados desta consulta. Então de volta ou editar página eu vou apenas criar outra variável. E vou ligar para este participante. Então esse é o participante. O que significa que estes são os dados para o participante em. Vamos chamar nossa multidão de objetos. Estamos ligando para a função Obter detalhes do participante em então Bem, eu pulei um passo então antes que você possa fazer isso? Porque lembre-se, precisamos realmente passar neste parâmetro apartamentos estão lá. Então o que precisamos fazer em primeiro lugar é verificar se eles estavam virando durante o primeiro fornecimento ruim Se não for, ele está definido fica em Estamos procurando o parâmetro i d. Então, mais uma vez isso é ver se eles recebem super variável global faz não tem um i d subscrito. Então é isso que está em. Isso existe? Se não, então eu quero imprimir alguma mensagem de erro vendo seta Então eu voltar para este fim Torná-lo fantasia mais tarde não são mais o que você quer fazer? É ir em frente e obter os dados do participante Tudo bem, então primeiro nós sempre usamos uma variável primeiro, então eu d é igual a E então nós estamos recebendo esse valor do get super global chamado idea com a idéia subscrita. Então nós obtemos esse valor, nós armazená-lo neste e, em seguida, nós estamos passando isso como o parâmetro. Então, mais uma vez, obtemos o valor do parâmetro get. Começamos nesta variável, e então passamos variável em nossa função. Agora, o que também queremos garantir é que só vejamos o formulário se tivermos uma ideia no parâmetro. Então eu tenho a declaração if para ver eco na seta. Se o perímetro não existir mais, queremos iniciar um processo em formulários impressos. Eu só vou mover esta brisa de fechamento deste bloco de fala B em diante, em seguida, criar outro bloco Ph B no final do formulário para fechar essa declaração. Então isso significa que tudo o que acontece no meio Se a declaração else sobre este resumo de fechamento, ele só vai acontecer se o parâmetro gets, o parâmetro I d realmente existe em ou florestal. Então fechamos a cinta. Feche nosso bloco PH B, entenda a correção do meu recuo, Andi, para que possamos prosseguir. Então vamos recapitular. Mais uma vez, temos a nossa desvalorização vindo do nosso parâmetro e, em seguida, estávamos dirigindo o coro para obter todos os detalhes do coro. Em seguida, queremos armazenar esse resultado dentro de uma variável chamada atendida. Então o que queremos fazer para realmente obter esses valores imprimindo dentro das razões credíveis de quatro formas seria ecoar dentro dos atributos de valor. Então dentro fora entradas para o primeiro nome, eu vou colocar o valor é igual a on. Então, dentro disso, eu vou criar um bloco PHP aberto e fechado. Este discurso que bloqueamos terá um exagero central, variável Indy. E lembre-se de que essa variabilidade está agindo mais como uma área. Então precisamos especificar qual parte desta área é que pretendemos imprimir já que estamos no primeiro nome livros didáticos. Então pretendemos imprimir o valor voltando para o primeiro nome. E então, uma vez que fazemos isso, vemos se apenas atualizamos nossa página, vemos que Mary aparecerá porque era Mary com eu d para se eu colocar nove e atualizar, então que Clarence novamente. E então vemos o novo valor para a noite de registro para que possamos apenas ir em frente e fazer isso para cada um fora das caixas de texto no mínimo, segundo de Skopje, a seção Valor. E então eu vou rebocar isso dentro do sobrenome. E então, em vez de seus amigos em primeiro nome, eu sou o sobrenome de referência de inverno tão relativo a qualquer livro didático que estava longe. Você quer uma referência que o valor correspondente? Tudo bem, então eu comecei a fazer isso para todas as caixas de texto em Desafiar Refresh. Então é assim que deve parecer. Você deve ver o vício correspondente se você tiver alguma era. Apenas certifique-se de verificar sua ortografia na série nos nomes das colunas CARRINHO. E se você ver uma senhorita muito garantir que seus amigos no carro é coluna dentro do carrinho. Razão credível. Não, o que eu não fiz foi ligar a era fora da experiência da lista suspensa para a que está voltando, ou Query. Então lembre-se que nossa pedreira e eu apenas pulamos para Ph. administrador da FEMA. Se eu estiver perto daquela pedreira, estarei vendo a especialidade I d três. Então deixe-me o inimigo editar isso. Estamos olhando para o recorde nove aqui, então eu só vou ver onde é igual. Nove. Lá vai ir rapidamente em seguida. Este está trazendo de volta. Bem, é o banco de dados. Quero encontrar um participante que não fosse um banco de dados no MIT e que estaria no número seis. Tudo bem, então deixe-me apenas recarregar esta página com eu desvalorizar ser seis. Então você sabe, o que é isso? O administrador do banco de dados não mudou tudo o resto ela em apenas em relação ao novo registro exceto a lista suspensa quando a lista suspensa, na verdade deve mudar, uma vez que as idéias especializadas realmente seis e administradores da Web devem ser o que está selecionado na lista suspensa. Então temos que ter certeza de que o valor selecionado para a lista suspensa parece que ele está claramente representando o carrinho. Então nós vamos ter que ser um pouco criativo com nossa seção selecionada sobre. O que vamos fazer é para cada opção que vamos ter que fazer em cada declaração assunto se a especialidade que eu d ser impresso por este grupo selvagem é igual a especialidade. Eu seria devolvido para dentro deste participante. Depressa! Então, para começar esse processo, eu só vou trazer alguns leões aqui, alguém para ecoar na próxima linha e então colocar a opção abaixo para que possamos ver exatamente o que está acontecendo. Claramente tão dentro deste rebocador de opção de parada. Onde? Alvo aberto de adoção. Estou imprimindo isso. O valor deve ser a especialidade. Eu d eu estou indo dedo depois que as aspas, iniciar outro bloco PHP e, em seguida, dentro do bloco de fala B, eu vou ter uma instrução if. Então isso é apenas destacar a natureza dinâmica fora da praia. Toda a sua dinâmica suas aplicações Web podem ser quando você pode inserir Ph. B à vontade para qualquer finalidade. Então, neste caso, nós vamos ver se em nossa declaração vai fazer a pergunta é nossa especialidade eu d alguma pessoa para copiar isso se este valor que está sendo retornado deste muito subscrito nesta iteração fora do loop while, se é em algum ponto igual a e eu vou apenas reutilizar isso. Mas estou checando se há participante desta vez. Então, se em qualquer ponto, O valor que está sendo retornado para esta iteração particular fora do loop while nele está sendo armazenado em nossa especialidade, eu d se em algum momento é o mesmo valor que está sendo trazido de volta por este registro participante e se for esse o caso, então queremos ecoar. E nós estamos apenas ecoando o texto selecionado porque em HTML normal, se quiséssemos opção para ser selecionado teria apenas literalmente digitado a palavra selecionada aqui dentro dessa opção. Então essa opção seria a opção selecionada. Então o que estamos fazendo é ver que, se essa condição for atendida, isso destacou sua declaração. Se esta condição for atendida, então queremos apenas ecoar a palavra selecionada em ainda estavam dentro da opção tout. Então seria ecoado em uma luz de moda. Isto Então, tendo escrito esse acorde, Eu não sou ninguém para voltar para a questão do pitch em quando nós atualizar para idee igual seis. Vemos que sabe que o valor selecionado é administrador da Web. Então, se eu voltar para ver os participantes no Die clique em editar em Mary seu banco de dados em mim se eu ir novamente Andi acredito que waas última ou a segunda a última. Agora, clicamos em editar, depois vemos o administrador da Web sendo trazido de volta. Então isso significa que a nossa declaração se está realmente olhando para ver em que especialidade eu tinha voltado com o registro dessa pessoa. Então ele está vendo se é o mesmo valor que está sendo impresso porque ele está imprimindo quatro valores agora. Se a idéia que é trazida sobre muito é qual das idéias que estão sendo impressas apenas fez que um deles o selecionado. Então aparece aqui. Agora isso é metade da batalha feita. Se você quer esse fogo, isso é excelente. Agora, o objetivo disso seria ter certeza de que quando mudarmos as batidas como, por exemplo, teremos a data aqui sendo 0000 onde eles estabelecem que isso não é realmente o que deveria parecer. Então talvez essa pessoa devesse nascer em 1973 em 2 de outubro. Parte em. Obviamente, o primeiro nome não significa o quê, uma vez que ah muda o Archibald neste sobrenome seria Thomas No endereço de e-mail seria um Thomas no Gmail Dot Coms fora do curso. Tudo isso é fictício, mas eu quero mostrar a vocês o que a atualização é realmente quatro. Então, no final, fazendo todas essas mudanças em colocar em um número de contato mais realista, eu espero que quando eu clicar em salvar mudanças que quando o próximo discurso vai me mostrar que todas as mudanças que eu só preciso foram carne e registrado dentro de minhas abelhas detalhe. Então, avaliar nossos próximos passos, precisamos lembrar que o que estamos fazendo é usar um formulário no formulário usa um método em também alguma ação. Então o sucesso, não o PHP é a ação, significa que uma vez que clicamos em enviar, ele tentará nunca obter o sucesso que BHP Não, nós já estabelecemos esse sucesso, não Ph. B é o página de leilão para o nosso registro, ou seja, depois que eles preenchem o formulário pela primeira vez, Então eles devem ir para o espaço. Então, o que queremos é uma página de ação diferente para nossas edições. Alguns só querem criar um novo arquivo, e eu vou chamá-lo de Edit Post, não PHP. No propósito off editar Post que Ph. B é apenas para receber os dados de nossas ações post. Então, isso significa na página de edição sobre quando definir a ação para ser editar Post Doc. Ph. B sobre o que acontece é que nós estamos indo para enviar sobre todos os dados que foram inseridos neste formulário imposto sobre cursos de edição indo dedo do pé, exceto estes dados em Então executar o dedo operação de banco de dados, inserir os registros ou obedecer os registros no banco de dados depois de executá-los essa operação. Não precisamos dele para mostrar nada. Então vamos apenas redirecionar o dedo do pé. Nosso índice não estava em expiar nosso discurso de registro do espectador. Por isso fiz alguns comentários para que tenhamos um guia sobre o que está a ser feito em cada ponto. Não, em primeiro lugar, obter os valores da operação pós-operatória. Na verdade, eu sou apenas entrevista escola que sua autoridade. Então eu só vou saltar para o sucesso que o pêssego PHP em então realmente só ganha uma cópia Tudo fora deste cabo listado aqui. Então a coisa é, estamos usando o mesmo formulário em, mas nós não mudamos nenhum nome fora dos elementos neste forma todos os nomes, o e-mail no carro, no telefone para vermelhos. Esse é o nome certo, todas essas coisas permanecem iguais. Então realmente e verdadeiramente o mesmo Holstein legal que usamos para o sucesso no registro. Alguns pH podemos usar esse mesmo post marcado para a ação no post de edição fora do curso. Eu ainda quero que você aprecie o fato de que se você fizer qualquer alteração nos formulários pode ser deixado de fora um dos campos ou seus sentimentos adicionados ou o que quer que seja que você fez, você precisa ser capaz de entender e apreciar as diferenças sobre as nuances entre o dois, mas para lugar nenhum, reutilizando a maior parte do cabo para que não tenhamos que fazer muitos ajustes. Outra coisa muito, muito, muito, muito, muito importante que sempre devemos ter em nossa página de edição é o i D. Então o que eu realmente desvalorizo que estamos chegando aqui, precisamos dele porque precisamos realmente enviá-lo mais na ação de pós. Porque quando estamos fazendo essa consulta de atualização, precisamos atualizar onde eu d é igual a qualquer registro que é que nós éramos qualquer coisa. Então, a maneira mais fácil de conseguir isso e você não quer necessariamente exibir isso. Eu desvalorizo para seus usuários porque no formulário colocando I aleatório seis. Isto é que eu desvalorizo seis. Então você quer colocar um valor aleatório seis em algum lugar aqui. Eles realmente não precisam saber o que eu perdi essa pessoa. Mas o que você pode fazer é usar um campo oculto. E essa é uma prática muito comum de usuário oculto. Desculpe. Usamos nossos elementos de formulário fora do tipo igual a não deveria. Em seguida, podemos definir o valor da mesma forma que definimos o valor para todos os outros. Eu sou apenas inte Bara. Esta pontuação do primeiro bloco de nome define o valor e ecoando participante I d. em vez disso. Certo, então temos o valor desligado ou entradas ocultas. Desculpe, não sei por que tentar falar com ele. Desculpas por isso. Então temos tipo de entrada está oculto em. Nós temos o valor de ser assistir a I d on. Podemos divulgar isso para que, quando publicamos nossos dados, estejamos realmente mantendo o valor passando pelas páginas. Então muitas vezes as pessoas deixam Oh, o ou negligenciam o pai. Você precisa do “i d. “ no discurso e depois foi para a postagem. Não está funcionando e eles não sabem o porquê. Então eu estou indo para o pé também. Então esse é um daqueles pequenos ajustes que eu vou fazer do que essa é a diferença . Uma das diferenças entre a criação nas edições porque após a criação não há eu d mas órbita antes da criação ou outra. Não há eu mas em qualquer coisa e eu já teria existido. Alguns só querem se opor a isso. Oh, ao configurar os elementos, precisamos de um nome, então o nome é igual ao número em breve para chamá-lo i d no DSO quando eu estou postando idéias iguais a post super variável post subscrita Heidi. Então modifiquei minha declaração. Tudo isso precisa parar dentro da declaração Se se o post existe, então queremos extrair os valores, chamar a multidão e redirecionar outra coisa. Vamos imprimir a quadra de flechas para que eu volte a imprimir a era do Tribunal. Nessa nota, espero que tenha percebido que estou negligenciando imprimir cedo cada vez porque eles negligenciaram a impressão aqui e eu estou negligenciando a impressão aqui. O fato é que podemos fazer um discurso de inclusão, certo? Isso só tem, você sabe, uma mensagem de seta padrão que nós sabemos, imprimir em todos os discursos, então nós, em vez de imprimir eco cada um cada vez que temos um inclui ou com o eco sprint cada um e, em seguida, nós apenas incluído aqui na declaração else. Então, no final desta atividade, eu vou realmente fazer isso com opiáceos. Todos os lados são as páginas do nosso site com esse casaco. Agora precisamos ligar para o telefone da multidão, filho, mas não há código de telefone filho para nada. Então, como todas as vezes que você tem que passar por cima da multidão, então eu vou criar uma nova função. Então aqueles são para obter alguém para criar uma função direita no mal-estar, Inserir participante, e eu vou chamar-nos na função pública que ele participante em. Então estamos tomando um parâmetro i d. E, em seguida, dentro desta função, o que realmente queremos fazer é apenas para a direita na instrução SQL atualização com os espaços reservados no valor. Então eu disse que só tinha dó , mas eu não é o único perímetro. Nós realmente precisamos de todos esses valores vindo da forma que seria F nome l Neiman, todos os outros. Então eu vou apenas copiar esses parâmetros. Como eles são os mesmos parâmetros, o mesmo conjunto de valores em que eu vou incluí-los no perímetro, listando com idéias. Assim como a I.D e todos os outros campos que estavam esperando dentro da nossa mesa, porque no final do dia, realmente não sabemos qual deles vai ser editado. Eu não sei qual campo a pessoa vai mudar no campo de edição, mas uma vez que eu clique em salvar alterações, eu preciso estar preparado para ter certeza de que quaisquer alterações feitas através de qualquer um fora destes serão capturados Onda armazenados. Só estou interessado em uma declaração atualizada. Então nós sempre começar com uma variável SQL e, em seguida, temos a instrução de atualização e, em seguida, eu vou ser realizado. Eu também sei que SQL não é realmente sensível a maiúsculas e minúsculas. Às vezes escrevo em maiúsculas. Às vezes, em minúsculas fora do curso. Uma vez que você está em adultos, você sempre pode ir até o seu PHP My admin, Onda, Olhe para o que seria como uma declaração otimista. Eles abriram isto. Você vai para participante pode ir sobre dois sq bem em, então você pode clicar sobre a órbita em, em seguida, a declaração de atualização. Eles podem? Posso te dar esse modelo? Bem, você pode copiar isso no Pace it dentro da variável SQL fora do curso, substituindo cada filho sexo valor pelos espaços reservados. E então eu vou realmente fazer isso. Então eu copiei isso dentro da instrução SQL em colá-lo ganhou em. Então cada lugar eu tenho esse valor entre colchetes. Eu tenho o lugar mais velho. Então a coisa é, no entanto, isso pode ser enganoso porque não estamos atualizando. Não estamos definindo um novo valor para a idee. Então, de acordo com esta declaração de atualização, ele está pedindo para definir participante I d para ser igual a algum valor. Não precisamos disso porque não estamos definindo isso no valor i d. O que precisamos é usar roupas ou dizemos, onde precisamos dizer que somos ideias de cólon. Estou usando um espaço reservado lá, mas as instruções de atualização é basicamente a atualização da palavra do que a tabela a ser atualizada em. Então dizemos “set”. Eu sei que estes não são tribunais individuais, então eu teria usado eles em um vídeo anterior, mas onde eu copiei do PHP meu administrador . E então você os teria visto. Não são tribunais isolados. São o que vocês chamam de apóstrofos. Tudo bem, então o “Foster “é basicamente um pequeno segredo falando dentro da minha sintaxe SQL. Mas eles não entram em conflito com tribunais duplos são artes de tribunais individuais. Eu só quero que todos sejam claros sobre isso. Então nós até o que a tabela, e nós definir coluna é igual valor do dedo do pé no valor. Aqui seria legal em f nome Andi para tantas colunas como você está sentado valores. Você tem distância. Então estamos fazendo isso pelo primeiro nome. Também estamos fazendo para o sobrenome em cada um é separado por uma vírgula a data de nascimento. Eu vou definir este lugar ordem para ser negócio ser no endereço de e-mail sentado o espaço reservado para ser e-mail e eu faço os outros tão rapidamente. Mais uma vez, embora tabela conjunto coluna é igual espaço reservado Kama Kama Kama coluna é igual espaço reservado dispara militantes como você tem colunas e valores são titulares lugar para ser definido em. Então nós terminamos tudo com uma cláusula onde eram algo Então nós queremos ver onde uma idéia de sublinhado 10 d é igual ao espaço reservado I d. Então isso não é ir dedo do pé. Encontre este disco com aquela idéia de água que eu desvalorizo. É a nossa passagem, que é a desvalorização I que teria sido escondida em nossa forma em postá-lo sobre, em seguida, passado para o nosso telefone mostrado em Então ele vai encontrar esse registro em, em seguida, atualizar todas essas colunas com os valores que teria vindo através de nossos parâmetros. Então, agora que temos essa instrução SQL escrita, precisamos fazer a ligação. Alguns só entram nisso. Copie isso porque é praticamente um cabo CNN. Tudo bem, em, eu estou apenas em pedaços aqui e então, assim como fizemos antes, sobre cria nossa inserção participar. Você fez uma faixa que então eu estou realmente indo apenas para fazer uma captura de tentativa porque é bom. Pratique a tranação em, em seguida, pegue a exceção no caso de haver um erro. Então eu só vou chocalhar que tentar pegar bloco em, fui tentar fazer tudo isso, e se foi bem sucedido, e se foi bem sucedido, eu retornei True. Isso fala sobre o meu convite. Então eu vou literalmente Skopje tudo isso porque praticamente estavam apenas repetindo em uma série de coisas sobre DWI. Quer consistência com todo. Procuramos erros e lidamos com eles caso surjam. Assim, você verá que sua edição em suas operações de inserções tendem a ser muito semelhantes em termos fora dos campos que estão sendo capturados e as opções que estão sendo feitas. A única diferença é talvez a instrução SQL sobre o pai. Você tem que levar em conta o i D. Passando entre campos ou entre telas ao editar. Então saiba que tenho minha função de multidão definida. Eu posso voltar para editar post em realmente chamá-lo. Então eu saí do passo. Eu não fiz referência ao meu arquivo de conexão. Então, em todas as outras páginas que fizemos alguma chamada de banco de dados eu tinha exigido meu devi con eu não fiz isso aqui. Não, eu não precisava do arquivo de cabeçalho do Ah porque, bem, este discurso não deveria ser exibido. É como editar e é um intermediário. Então ele apenas faz a sua operação e, em seguida, ler ARATS para que você realmente não veja a edição. Pobre cuspe. Então é por isso que eu não estou fazendo tanto esforço para realmente ter a estética lá. Então eu vou fazer referência ao meu D.B. D.B Khan porque obviamente eu vou estar fazendo uma operação de banco de dados. E eu me lembro que uma vez que este arquivo está em exibição fora da página, nós podemos apenas chamar nossos objetos brutos. Verei resultados iguais. Eu fui chamar no micro objeto no interior cantou. Vou chamar a minha função, que é editar participantes e entender a cópia de toda esta peça Andi aqui. Então, porque eu estou usando os nomes de variáveis de costura como um permitido que você vê, é mais fácil no Skopje e colar, então você não precisa. Mas só estou mostrando que fez essa operação de cinco minutos, digitando tudo isso em 30 segundos. Tudo bem, então uma vez que fizermos tudo isso, podemos então ver se no dedo do pé verificar se resultado, lembre-se resultado loja no velho adiar. Esta função na disfunção está voltando a uma força que estou vendo se resultados significam se isso é verdade, então isso pode ser reescrito como se fosse verdade. Tudo bem. Mas eu estou apenas para ver se os resultados, então nós queremos redirecionar para o discurso de índice ou código de redirecionamento parece algo como isso onde dizemos Header on, em seguida, hitters, uma função que leva um link Então o link é index dot PHP. Então, se isso foi bem sucedido e queremos redirecionar para a lista, provavelmente podemos imprimir em Eros, então erro de eco em, vamos revisitar a configuração desses erros genéricos por impressão insulto em padronizá-los. Tudo bem, então uma vez que isso está no lugar, a expectativa, mais uma vez, é que uma vez que você clicar, enviar este discurso são, bem, nossas mudanças sensíveis ao botão. Mas ainda é uma cúpula, mas está na mesma. Está indo toe colocado sobre todos os dados que podem ou não ter sido modificados, mas tinha sido presente como valores dentro de cada um desses controles em. Em seguida, ele vai bater esta página como a ação onde nos conectamos ou bancos de dados obter todos os valores e, em seguida, ir em frente. Andi, ligue para nossa operação, que vai executar a declaração de opiáceos em nosso banco de dados se isso foi bem sucedido então redirecionamos para a tela inicial. Caso contrário, imprimimos alguma mensagem de seta, então vamos tentar isso. Então eu vou voltar para o formulário e eu estou indo para re fresco e eu vou para mim. Estas mudanças algumas colocando Archibald Thomas em outros detalhes, mudando sua data de nascimento toe 1965. Seja o que for. Então, eu estou apenas fazendo algumas alterações para garantir que eu possa vê-los refletidos depois que eu clicar em Salvar alterações. Tudo bem, então porque eles estão usando o e-mail como o tipo de dados aqui ou o tipo de entrada, ele está me dizendo que meu endereço de e-mail está errado. Então eu tinha um conjunto comum de uma parada completa. Vamos tentar de novo. Estamos recebendo um erro de DOP aqui e ele está vendo o número de perímetro inviolado. Oh, eu sei porque eu comi tudo menos as idéias. Então, porque eu copiei os programas de compra da parte superior, eu não me lembrava que eu tinha esses parâmetros adicionais que precisam ser desossados. Então eu vou apenas duplicar essa linha e mudar isso o que eu d e ligá-lo à idéia vem em. Então vou tentar de novo. Então, se eu f i V vai dizer que o formulário re submissão terá lugar significando que enviado até relatórios os dados, e então nós continuamos. Entendo que voltar. Andi, vou olhar para o meu cordão. Ah, a localização. Sinto muito que deveríamos ter dito localização, vírgula, ponto índice de cólon PHP minha bunda. Então, o cabeçalho tix o texto com a palavra localização Dois-pontos em, em seguida, a página. Tudo bem, então tudo foi capaz de jantar com sucesso, Derek. Então vamos tentar de novo. Alguém para reenviar este formulário no git redirecionado para o discurso de índice. Então eu tinha esquecido que as páginas de índice realmente o registro, por favor. Não é isso que queremos. Queremos ir para ver registros que PHP e vemos aqui que o necessário foi realmente editado para que possamos estar confiantes no fato de que nosso tribunal de edições funciona. Mas vou mudar isso. Leia, Eric, porque eu queria ir para ver registros dot PHP. Certo, assim que eu mudar o fato de que as equipes espelham o pop ing, vou editar Mary Poppins. E ela é realmente um desenvolvedor de software, não um administrador de banco de dados no cara. Diga essa mudança. Então, quando ele voltar, ele redireciona nossos registros de visão e eu vejo Mary Poppins com sua nova especialidade. Então é assim. Você vai adicionar qualquer funcionalidade à sua aplicação PHP. 12. Applicar registros de banco de banco web usando PHP PDA: Ei, pessoal, Neste vídeo, vamos estar olhando para como vamos sobre a adição de funcionalidade para excluir registros ou aplicativo. O objetivo deste vídeo é garantir que temos um botão ao lado ou ver e editar botões que dizem é excluir em impuro. Ele irá prosseguir para remover qualquer regra que foi selecionada. Agora, as primeiras equipes que eu vou fazer é, na minha opinião, registrar que PHP pH onde eu vou adicionar outro link, que irá abaixo da minha coluna de ações um pouco distante para duplicar meu botão de edição. Então eu vou mudar o texto para ver a derrota. Eu também vou mudá-lo para Bt e Danger, que me dão um botão vermelho, tudo bem, e então por meus oito anos, se eu tiver que apagar esse PHP. Então, depois de fazer essa mudança e refrescante eu sei, veja, isso é ter um botão vermelho em recall que todos eles estão imprimindo, escreveu o participante i d. Para a regra baseada na iteração fora que while loop assim cada fora deles teria o mesmo valor de idéia No final da diferença é que eles estão navegando nas páginas diferentes . Agora podemos ver que temos. Ah, registro de spam aqui. Registro número nove. Esta pessoa. Esta não é uma pessoa, tanto quanto esta informação indicaria. Então este é o meu papel alvo para esta operação. No final deste vídeo, eu deveria ser capaz de pressionar a liderança e remover esta regra dos registros. Já que o nosso Borden tem como alvo uma página chamada Lead PH. B, fazemos o que aprendemos com Dubai. Não, e vá em frente e crie uma nova chamada de arquivo. Ele exclui ponto GHB em então neste arquivo onde vamos apenas copiar as coisas mais essenciais que são realmente apenas a necessidade para a conexão Devi. Então realmente e verdadeiramente há duas maneiras de lidar com exclusão. Algumas pessoas realmente fazem um prompt. Algumas pessoas navegam para uma página mostrando todos os detalhes do registro, seu pouco inchado e perguntam-lhe mais uma vez se você tem certeza de que deseja excluir em algumas pessoas querem clicar em excluir, então eles apenas executar o comando e se refere a uma página no teria acontecido a exclusão. Então somos entidade. Essa terceira opção, Andi, Desafio você a colocar em funcionalidade que realmente teria excluir Carregar uma página que mostra todos os detalhes fora do registro prestes a ser excluído em, em seguida, ter outro botão que uma vez que é clicado, ele vai realmente ação que excluir o Kinton. Como você obter que os doadores para usar um formulário porque em enviar, você pode ir para uma página de post onde você realmente obter o i d e proceder para excluir. Mas para não, eu só vou prosseguir com o simples meu terceiro, onde eu só vou ter o meu bloco PHP. Andi, vou precisar da minha ligação com o detalhe A.C. Então eu vou verificar se a variável get existe. Então, se não existe para lembrar, verificamos o negativo. Então isso é realmente de acordo com o padrão. Nós verificamos o negativo primeiro, tomamos alguma ação sobre a ação em quantidade ou momento misturado minhas chaves aqui. Ação. Eu vou tomar se o i d. Desculpe se eu d não existe no parâmetro get. Eu só estou indo para imprimir erro em Lembre-se que isso vai ser parte de nossos toques finais onde vamos criar alguma construção que é mais consistente com a mensagem de erro que não temos que continuar digitando uma e outra vez. Mas caso contrário, se ele existe, então é mais, então eu vou pegar esse valor de idéia e colocá-lo dentro de uma variável chamada I D. Então o que seria bom é chamar a função de multidão que irá remover o registro em e, em seguida, redirecione para a nossa lista. Então eu fiz alguns comentários aqui para que, como ele coloca no frio, nós sabemos exatamente o que está acontecendo. Mas a questão é que quando chegar a este discurso, nós só queremos obter o i d. executar o tribunal para excluí-lo do banco de dados e, em seguida, redirecionar quer que a operação tenha sido bem sucedida. Então precisamos de uma função em nossa multidão em nossa classe de multidão que lida com exclusão. Então temos inserir, temos editar em. Temos alguns fica assim. Qualquer coisa fica, eu vou colocar a exclusão, então eu vou apenas escrever a função pública. Excluir participante nesta função está tomando um parâmetro chamado I d Onda. Estaremos Skelly fazendo coisas muito, muito parecidas. Mais uma vez, você vê que todos os padrões se repetem. Então, estamos declarando uma instrução SQL onde vamos ver a elite de cima da mesa. Nome é participante foram participante idéia sublinhado participante é igual toe são titular lugar i d Depois escrever acima ou instruções SQL, você sabe que precisamos preparar sua compreensão para copiar essa cópia e colar, por isso não tem que re tipo sobre isso. Eu vou fazer o mesmo com a ligação fora do parâmetro I d. Então, a maioria das coisas que estamos fazendo em cima pode atender os detalhes, certo? Então estes param três ou estes dois, além da execução, então podemos retornar nossos resultados. Tudo bem, então não seríamos resultados claros, então não precisamos devolver nada nesse ponto, podemos devolver “True”. Então, mais uma vez, é sempre uma boa idéia ter a nossa tentativa de pegar. Então eu não tenho sido muito consistente com isso, mas em nossos retoques finais, definitivamente vamos apertar essas coisas. Mas para não, eu só vou dizer tente fazer tudo o que acabamos de delinear a neve. Então, uma vez que isso é feito, nós retornamos verdadeiro. Então eu vou pegar emprestado o congelamento de captura de outra função em. Queremos destruir a mesma operação para pegar qualquer zero que possa ocorrer no meio enquanto estamos transformando as quedas. Então eu posso ver de volta na minha página de exclusão que queremos chamar ou deve objetos? Bem, queremos atribuir os resultados. Todos saem do nosso formulário mostrado chamada toe a função excluir participante em nossos objetos de fraude . Então eu passo no parâmetro i d como nós o obtivemos a partir do entra. Então nós vemos se resultado Então nós redirecionamos Então redirecionamento é hitter Onda nós abrimos e fechamos parênteses E, em seguida, dentro deste relatório um texto que tem localização, dois pontos e ver registros que PHP porque você quer redirecionar a nossa lista de coisas relatórios. Então, se os resultados forem bem sucedidos, então queremos fazer isso. Queremos uma impressão digital, aquela mensagem aero genérica. Certo, então vamos tentar essa operação. O ponto mais uma vez é que uma vez que ele atinge o discurso, ele vai se conectar ao banco de dados. Obter o poço verificar se há um valor chegando na cadeia de pedreira. Se não, então ele vai imprimir um erro. Então vamos ver se há algum valor. Queremos esse valor. Em seguida, você deseja chamar a função delete em. Em seguida, queremos redirecionar A vista requer uma vez que é feito para que ele seria quase transparente para o usuário está completo. E a página deve atualizar o dedo após esta operação acontecer rapidamente para que possamos voltar para cá. Eu só olhava com três frescos e eles tinham como alvo esta regra. Então vamos ver, antes do tribunal funcionar, nós pressionamos. Excluir Andi, Eu tenho um erro ortográfico aqui, então eu vou voltar para a minha função cortada em e eu tenho participante com um t na minha instrução SQL . Então esse foi o erro. Alguém para tentar novamente com aviso prévio. Todos os seus olhares. É a liderança. PHP i d é nove, mas eu vou voltar e eu vou começar de novo alguns cliques. Excluir em. Lá vamos nós. Foi removido. Então ele não pediu que ele não mostrou os detalhes fora do registro mais uma vez, Isso é que a maneira mais simples e rápida de excluir um registro em excluições fora do curso não são reversíveis. Então, se quiséssemos um mínimo colocando um prompt porque às vezes os usuários me perder clique. Eles acham que estão clicando nele e tratam deletar. Mas não queremos apenas removê-lo com um clique acidental. Podemos realmente usar JavaScript e inserir um prompt rápido na paz sem quando ele é clicado. Há prompt nu, um prompt padrão, assim, você sabe, confirmou a ação rápida. Então, de volta ao nosso tribunal, de volta à página de registros, vou editar o tio Tempo para apagar. Eu vou adicionar uma função JavaScript chamada em Clique no valor que será atribuído a este será retornado e, em seguida, confirmar. Então esta é, ah, função javascript chamada confirmar onde você realmente passa em algum texto aqui. Isso seria como uma promessa que eles seriam algo como, Você tem certeza que deseja excluir este registro? Tudo bem, então a expectativa é que quando eles clicarem neste link, eles serão avisados através de alguma carne, tudo de javascript. Então isso está quase embutido no navegador, escreve Amy, parece diferente do Brasil, mano. Ou, mas o fato é que no clique, ele mostrará o prompt de confirmação. Tem certeza de que deseja excluir esse registro no. Não vai mais longe até a dificuldade. Se eles poderiam câncer, então a operação é A operação rápida é cancelada para que ele não iria navegar para a próxima página. Tudo bem, então podemos testar isso. Vou refrescar-me depois de fazer essa mudança. Então eu vou pisar acidentalmente. Clique na liderança ao lado de Mary Poppins em Olhe para isso, ele está pedindo. Tem certeza de que deseja excluir isso? Relatórios. Posso cancelar a operação de câncer. E se eu clicar em okey, então o pedido da Miri seria excluído. E, ironicamente, excluir registros é praticamente a coisa mais fácil e rápida que você pode fazer na recuperação . É provavelmente o procedimento mais tedioso e demorado, mas é isso para este vídeo sobre Isso é Então você vai sobre completar suas operações cantadas. Nós criamos. Nós lemos. Fizemos atualizações sobre este é excluir 13. Touchs finais: Validação de forma, Mensagens de erros e mensagens de sucesso: Ei, pessoal, bem-vindos a este vídeo onde nós estaremos aplicando alguns retoques finais em nossa reunião de aplicação será limpar um pouco de frio, limpar alguns elementos visuais e apenas olhar bonito pequenos conceitos chave poderia nos ajudar a ser um pouco mais modulares. Então eu vou direto para ele. E a primeira coisa que queremos fazer é adicionar mais, tentar pegar o nosso código. Teríamos tido algumas funções onde não colocamos todas as pegadas de pista. Então eu só vou para a minha multidão, arquivar minha classe multidão e você percebe que algumas funções tentaram e capturaram exceção. Outros não. E então o que eu vou fazer é apenas embrulhar cada um dentro de uma pista para alguém para começar , pegar uma Cindy e lembrar que tudo o que precisamos é de uma palavra. Experimente então, Considerando que já temos tentativas e capturas em todo o lugar, estamos realmente apenas tentando pegar o mesmo tipo de exceção, que é a exceção DOP. Segundo, apenas realmente escrever a palavra tentar copiar e paz para pegar em apenas semanas meu índio t fugir . Eu quero fazer isso para esta única função. Então eu desafio você a ir em frente e fazê-lo para a outra cela, completamente outras fora da tela, e então podemos nos reunir novamente. Tudo bem, para que eu o tivesse completado. Andi, todas as funções têm que tentar pegar? Não, alguns deles me devolveram. Resultados mistos. O que significa que você está retornando resultados também. Resultados de uma consulta em, em seguida, na captura aqui, retornando queda. Então a coisa é, porque PSV alma beija Orwell tipo insensível, em vez ou vagamente digitado, isso realmente não importa. Então, se eu verifiquei se os resultados, que realmente retornaria um verdadeiro em, def, eu estou retornando falso do que ele literalmente retornaria força. Eles ainda podem usar isso o fato de que não está retornando o mesmo tipo de dados, certo? Mas do outro lado, você pode verificar a variável. Mas do outro lado, Então, se a variável tem dados e não está retornando nada negativo, então seria um verdadeiro independentemente do conteúdo em, Bem, Bem, a função retornaria cai de qualquer maneira. Essa é a primeira e possivelmente a coisa mais fácil que temos que fazer. A próxima coisa que eu quero que vejamos é configurar mensagens de sucesso e aerodinâmicas para que possamos ir para o nosso sucesso aquele arquivo Ph b ah. E aqui veríamos onde estávamos ecoando uma mensagem de sucesso versus uma mensagem de falha. Não, o que eu gostaria de fazer é, na verdade, ter uma mensagem genérica sobre o sucesso genérico, Sra. So sem ser específico do dedo do pé. Porque, em seguida, com base na página, você vai ter que re digite este cada vez. Em nós vimos que nós podemos off correu em um pouco de sangue, nosso contrato tem, e nós apenas começou a ecoar seta em vez de ecoar mensagens de erro reais. Então, o que eu vou fazer é criar e inclui ao arquivar as pastas inclusas são clicar na pasta tornozelos em. Eu vou chamar este erro que o PHP em. Eu também vou criar outro arquivo. Sucesso ao mesmo tempo, bem, mensagem de sucesso. Então deixe-me qualificá-lo como mensagem porque eu já tenho um arquivo chamado Sucesso, Não Petri. Então mensagem de sucesso que o PHP em. Eu só vou clicar com o botão direito no erro Renomeá-lo para mensagem de erro dot PHP. Agora esses dois só terão em cada bloco de jantar onde eu estou apenas imprimindo. Bem, na verdade eu vou para Bootstrap. E em vez de usar as etiquetas H um por si só, na verdade, vou imprimir em alerta. Então, ambos afiada tem componente alertas sobre isso é o que eles se parecem. Então eu quero nosso alerta verde sempre que for um sucesso e, ah, alerta vermelho sempre que estiver em erro. Então eu posso copiar o código deles e procurar o que é um sucesso. Então, sem esperança, onde estão confortáveis? O fato de que a maioria das coisas em bootstrap que são verdes são sucesso. A cor A nomeação é praticamente consistente em todos os controles. Mas eu só vou fazer essa aula de ladrão. Coloque-o dentro da minha mensagem de sucesso em que o arquivo PHP. Eu só vou recompensar isso, Andi, se eu quiser, eu provavelmente posso fazer isso em cada um, mas eu vou deixar um Deixá-lo como padrão. Então as mensagens de sucesso vão apenas dar um sucesso genérico para dizer que a operação foi concluída. Andi, vou ver uma mensagem de erro. Eu só uso este para o perigo. Então é o mesmo alerta constrói apenas com o perigo. Em vez disso, na mensagem de erro irá dizer operação e erro confiante. Tente novamente. Tudo bem, então você pode colocar suas próprias mensagens. Mas o fato é que você quer algum nível de consistência em vez disso fora. Quero dizer, se você quer mensagens personalizadas por tela, tudo bem. Isso é totalmente bom. Não estou dizendo que é errado ou ruim. Eu só estou modificando o meu próprio para que eu não tenha dedo continua a estar digitando todas essas coisas . Então o que eu vou fazer é quando eu teria impresso um erro, na verdade, basta incluir o arquivo que me dá que são uma mensagem. Então aqui, eu vou apenas incluir Andi, eu diria que inclui que é uma mensagem de erro barra pasta ponto PHP. Tudo bem, então a expectativa é que se eu navegar para este discurso e esta é a página de edição, se eu nunca chegar a este discurso em, não há eu d. Eu teria imprimido um erro. Mas em vez disso, o que eu espero ver é a mensagem de erro bem, chegando como um alerta. Então vamos testar essa teoria. Então, se eu ir para a minha página e eu clicar na edição, então as expectativas de que vemos o formado ele, é Mary Poppins é registro. Mas depois os Aramis. Ele deve aparecer se não houver nenhum parâmetro I d significando que alguém acabou de subir aqui e digitar o URL para a página de edição, mas não colocou na string de consulta. Então, quando eu faço isso e pressione enter, então eu vejo minha mensagem ERA chegando em Isto é o que teríamos incorporado em nossa página através de nossas inclusões. Então o que eu vou fazer é passar por cada arquivo que teria impresso um erro em onde eu teria uma mensagem de erro. Vou substituí-lo pelo meu “inclusivo”. Então, em seguida, fora de fazer essas mudanças, Eu teria feito a mudança para editar post op, Ph. B Ver, Ph. B até mesmo eu, diz discurso, onde eu tinha sido registro do visualizador de erro de impressão com Nenhum outro foi ignorado ao excluir. Tudo bem, então todas essas páginas teriam sido atualizadas da mesma forma que terminou com isso por causa do erro. Eu só faço isso para o arquivo de mensagem de sucesso, então eu apenas voltar para o bem, onde eu teria tido sucesso e eu teria tido sucesso sendo impresso nesta tela onde você foi registrado. Então, basta substituir isso por mensagem de sucesso em qualquer outro lugar. Você estaria imprimindo uma mensagem dizendo que algo foi bem sucedido. Você pode ir em frente e apenas incluir esse arquivo. A próxima coisa que quero fazer é evitar que as pessoas realmente naveguem para este discurso sem a presença fora das cordas do coro. Então, uma maneira de fazer isso seria apenas dizer, se não houver cordas de coro. Se eu não pegar isso, isso redireciona para trás alguma página que todo mundo veria. Então, se eles tentaram tipo toe em edit dot PHP por si só, então ele verifica. Ele vê. Não há dúvida, e ele apenas re navega dedo do pé. Pelo menos veja registros, um PHP. Então, uma maneira fácil de realizar isso seria ir para a nossa página como Edit on fez nesta parte onde bem, nós apenas mudar Toto imprimir a mensagem de erro. Mas eu poderia facilmente dizer cabeçalho dentro disso. Acabamos de colocar a localização do cólon, salvar-te. registros começam PHP são Então o que isso faria é se houver uma tentativa de navegação para esta página, que é a nossa página de edição no cabeçalho. Bem, a ideia em questão não está no fluxo de consulta. Então ele só redireciona. Tudo bem, então nós poderíamos realmente fazer isso para, você sabe, para as edições. Quem poderia fazer isso para um post em qualquer lugar que você está preocupado que as pessoas não devem acabar sem ter as informações do carrinho sob que para eles cabeçalho Andi Well, para excluir. Então alguém tenta ir para a página de lead para a página de lead sem colocar na cadeia de caracteres de consulta . Então vamos redirecionar. Tudo bem, então essas modificações foram fáceis o suficiente. Outro que eu gostaria de fazer é colocar algum espaço entre a minha barra de navegação de feltro e o conteúdo que vem imediatamente depois. Então você teria visto com a mensagem de erro que ele estava aparentemente anexado à barra de nozes, que eu não quero, então eu quero um pouco de espaço lá, então eu vou apenas para o meu arquivo de cabeçalho em. O que vou fazer é no fundo da barra de navegação. Vou colocar um chug de RP direito. Lembre-se que este é renderização em um por página e ele está tornando a parte superior fora do conteúdo questão Moinho ou barra suficiente em. Então eu queria também renderizar um espaço o tempo todo. Então o que vai acontecer é que quando eu navegar entre essas páginas, nós sabemos espaço CS, então a tabela não está mais aparentemente anexada a barra suficiente. Eu teria dito que o bom design do site teria todos falar cada página acessível a partir de todos os outros pêssego. Então, em outras palavras, se eu for para a velocidade de detalhes, eu deveria ser capaz de voltar para a página de listagem ou para qualquer outra página no DSO. O que eu vou fazer é adicionar botões aqui que realmente me permitiriam a cabeça de volta para a lista ou editar este registro ou excluir este registro desta exibição. Então eu vou para ver dot PHP em. Em seguida, vamos modificar sobre html toe, refletir o que precisamos. Então, na minha opinião, Ph. página do Ph. B no final daquele cartão, eu queria que três pães fossem impressos, então eu estou indo apenas para barrar esses três botões aqui dos registros de exibição sobre o que eles são. Bem, um está de volta ao menos um é qualquer 23 pistas. Eu só vou pegar emprestado em mim. As mudanças em conformidade Volte para ver, encaixe-as por baixo. Ou talvez eu possa. Vou colocá-los sob o dif para que tenhamos o cartão e depois temos os três botões perguntando qual direção você deseja ir. Então, o 1º 1 que eu vou ver este deve estar de volta à lista. E eu vou conhecer aquele BT e em quatro. Então é um azul claro como um verde-azul-petróleo. Tudo bem, então este diria sobre duas listas, que significa que o H ref deve ser ver registros, não Ph. B em carros visualizadores não requer qualquer forma off string de consulta idee para que possamos remover todos os que do oito riff em diante. Só temos o botão para voltar à lista. Em seguida, temos o botão de edição em de tudo o resto pode me ouvir no mesmo, exceto que eu estou usando os resultados variáveis neste dedo do pé de fala representam qualquer fora desses valores. Então eu vou apenas mudar isso são para resultar assim sem mudar o Alami explica. Então eu estou imprimindo no Tio Tug na viagem é reddit dot PHP em eu estou passando no fluxo de pedreira , assim como eu teria feito a partir do discurso de registro de vista passando uma string de consulta sobre o valor para o i. D. Variavelmente dentro dessa string de consulta vai ser que 10 d I d. Agora a razão pela qual eu mudei a partir do nosso t o resultado da palavra é que eu copiei o botão. A partir daqui, no arquivo de registros do visualizador são a variável designada. No entanto, em nosso arquivo de visualização, vemos que estamos usando os resultados da variável em todos os lugares que estamos fazendo referência a um valor. Então eu só vou ter certeza de que eu estou ecoando resultados com o participante subscript I d na área de string de consulta em. Então eu vou repetir este feito para a exclusão, que está logo abaixo em algum resultado ecoando. Participante não. Quando atualizei minha página, vejo meus três botões e, se eu passar o mouse, vejo que este vai voltar para carros de visualização. Este vai para editar sobre este de é para uma exclusão. Andi, eu só vou adicionar uma tag br no meio. Então, uma tag br após a div para que não seja, você sabe, anexado. Tudo bem, então lá vamos nós. Então, estes são botões de ação, então se clicarmos em modo de exibição, podemos sempre voltar para a lista. Eu clico em exibição novamente. Eu posso ir direto para a edição se eu voltar para a lista e notar que são editar. A página não tem um botão para voltar à lista. Ele só tem algo para salvar as alterações que talvez não queiram ver. Muda o tempo todo. Provavelmente clicou nele para ver se funcionou. Eu não sei. Eu quero voltar para a lista para que você possa se sentir livre para adicionar isso de volta para o botão lista. Então, o registro de edição da mesma forma. Andi, se voltarmos para ver e eu pressionei a liderança que vai me prometer e me perguntar se tenho certeza se eu clicar em OK, então nós teríamos removido Mary do banco de dados. A última coisa que quero ver é a validação do formulário. Não, nós não colocamos muito, se alguma validação no reboque. Nosso formulário, a validação que provavelmente estaria lá é baseada nos tipos de entrada que teríamos selecionado. Então, se eu for para o meu discurso de índice, que é a minha página de formulário de registro, eu bem, eu não apliquei quais valores seriam necessários. Então eu posso realmente usar HTML cinco apenas para a direita dentro. O atributo obrigatório no que isso fará é forçar o navegador a ver que esse campo é obrigatório. Então, se eu clicar em enviar, ele vai me pedir para dizer, por favor, siga este campo porque é necessário para que eu possa ir mais longe. Se não for, Phil faz. Tudo bem. Então essa é a maneira mais fácil de impor alguma forma de validação e informa. Eu só vou ser o primeiro nome no sobrenome requerido Onda. Bem, este é meio implícito porque o valor está sempre vai estar presente em vez de para selecionar, mas pelo menos um endereço de e-mail. Precisamos pelo menos do seu primeiro nome. Seu sobrenome da especialidade e qualquer militar em que você não precisa do seu número de telefone. Esses são os campos obrigatórios para este formulário. Então, se eu tivesse colocado necessário em todos esses lugares Onda salvar e, em seguida, atualizar quando eu tentei enviar, Ok, primeiro nome é necessário. Tentei me submeter de novo. Não, foi para segundo o sobrenome. Então eu tentei enviar novamente e endereço de e-mail também é necessário em Eu vou apenas ir em frente e preencher os dados desta pessoa. Andi, encontre-os como parte de um sistema só para ter certeza de que não quebramos nada em nosso cordão para nos submetermos. Lá está ele. Assim, a operação foi concluída em meras águas foi adicionado. Agora há outro nível fora da validação de formulário, que é serviços. O que estamos fazendo aqui é validação do lado do cliente. Mas há também serviço na validação onde podemos realmente examinar os valores um pouco mais. Andi, conduzir todas as operações ali teria feito o que você chama de auto postagem. Ou seja, ao postar uma página diferente, teríamos postado na mesma página em que as informações dos formulários estão sendo enviadas . Então teríamos realizado todas as operações na mesma página. No entanto, eu não vou passar por isso para este exercício, pelo menos, certo? Não. Você deve ser proficiente o suficiente para construir um formulário sobre construir fora. Toda a capacidade de multidão é necessária para este formulário em. Você deve ser capaz de bem, fazê-lo de ponta a ponta e incorporado com bootstrap. Espero que tenha tido uma jornada fantástica aberta até este ponto. Se você tiver alguma dificuldade, sinta-se livre para me informar sobre que o próximo vídeo vamos olhar para adicionar todos para o trabalho. Então eu tenho esperanças de Torrey. 14. Faça um upload do aplicativo no GitHub: Ei, pessoal, bem-vindos de volta. Deixe-me começar todo esse vídeo parabenizando você por ter chegado tão longe. Neste momento, você já deve ter preenchido sua inscrição de formulários THB, bem como todas as operações de multidão necessárias para apoiá-lo neste vídeo, estaremos carregando tudo para trabalhar duro para levantar. Então, apenas para revisar, teríamos construído todo este aplicativo e sabemos que quer colocá-lo em um repositório remoto . - Não. Enquanto eu estou fazendo isso em praticamente o final de tudo para o trabalho, é realmente aconselhável que você faça isso o mais cedo possível, porque como estávamos trabalhando nele antes, acidente de máquina teria apenas uma cópia dele e que teria esteve na nossa máquina. Também não há maneira tangível de rastrear todas as alterações em que fizemos os arquivos. Quaisquer alterações que possam ser nossos colegas ou colegas de trabalho também teriam feito, então começar a ser um mecanismo de controle de fonte é uma excelente maneira de acompanhar todas as mudanças e manter ah spear copy fora de seu projeto em todos os momentos e especialmente com a disponibilidade off repositórios remotos, como Get tub. Podemos ter várias cópias fora do nosso projeto enquanto trabalhamos no final. Agora, neste vídeo, vamos usar o gueto para desktop para que você possa apenas encontrar isso por Não, eu estou supondo que você já teria instalado e configurado isso em Get Up, Best up. Eu vou para arquivar. Vou adicionar o repositório local. Agora eu vou navegar para o projeto que temos Então o nosso projeto é na temporada de docas Ishi estão onde você instalou alguns, mas em docas HD é onde você deveria ter tido seus projetos de participação ou Justin para selecionar essa pasta em. Então ele vai nos avisar que não há nenhum repositório nesta pasta. Gostaria de criar um? E vamos apenas levar isso Criado no DSO Nós temos esta tela onde podemos apenas ir em frente e clicar em criar. Uma vez que essa operação é feita, nosso repositório get é criado localmente e, em seguida, vamos ser perguntado se queremos publicá-lo. Toe, levante-se Então você pode simplesmente ir em frente e clicar em Publicar repositório. Mantemos o nome e eu estou com a antiguidade, a parte que mantém a escola privada porque eu queria público. Assim, todos os que seguiram essas lições podem ter acesso ao tribunal. E então publicamos Repositório. Agora eu vou para obter esperança Web sobre drogas em, e eu vou ver o meu repositório listado aqui para acesso para que eu possa apenas clicar nele. Tendo feito isso, eu vou ver todos os meus arquivos bem colocados neste espaço de armazenamento remoto enquanto estamos aqui, no entanto, entanto, eu vou apenas usar o tempo para adicionar uma descrição rápida para o projeto para que quando você se deparar com isso Você sabe exatamente o que é. Tudo bem? Então nós acabamos de adicionar o nosso eu decidi uma descrição muito rapidamente. Andi, acho que é isso. Isso é tudo para adicionar ou projeto para chegar até. Lembre-se que a partir daqui podemos rastrear todas as mudanças. Então eu não fiz uma mudança, e a mudança que eu não fiz foi adicionar o botão por um dólar para listar o nosso tom de edição. Então, vou conhecer essa mudança, certo? Não, sobre o que eu vou fazer é duplicar este botão com o TECO Bt e bloquear porque eu não quero que ele esticar direito através Mas então este eu vou ter de volta para a lista para a esquerda em ir para o salvar muda para a direita. E este vai ser BT e padrão. Onda. Bem, bem, na verdade isto deve ser tudo um tio Tug. Então lá ele muda rapidamente. Tudo bem, então mude o botão. Completamente dedo no rebocador Ankara No dia a verdade estará de volta aos riquezas de velocidade de listagem, carros visualizadores ou PHP em. Estou usando a batida de classe e Bt e padrão. Por isso, mantém a aparência de um botão. Onda, o que eu vou fazer é salvar tudo isso, em seguida, atualizar a página e é assim que vai parecer. Alguém tem a minha página de edição em seguida, o meu link para voltar no dia do outro para ver se as mudanças são assim. Acabei de fazer esta mudança. O que vai acontecer? Não é que ele está rastreando essas mudanças mais uma vez. Este é o benefício de usar gueto. Ele está rastreando essas mudanças. Então, quando eu falar, levante-se . Isso está me mostrando o que mudou e o que mudou para Andi. Posso comprovar que o Mestre Mestre é o ramo final que você sabe que está pronto para produção . Andi, não posso empurrar a origem. Não, eu vou ter um tutorial diferente sobre como gerenciar fica usando filiais na promoção tribunal. Mas nessa situação, já que somos os únicos construindo isso, podemos sempre empurrar o mestre. Você sabe, essa não é a melhor idéia em todos os momentos em DSO ter feito isso, cometer no dedo do pé origem são empurrados para se levantar. Se eu voltar para o meu repositório e atualizar, em seguida, olhar para a página de edição mostrará que eu apenas não editei 32 segundos atrás. Tudo bem, então mais uma vez esta é uma grande colaboração para onde todos podem ver as mudanças que estão sendo feitas ao longo do caminho. Tendo feito tudo isso, o próximo passo é publicar nossos sites toe Hiroko Então furar o nosso próprio como este capítulo está chegando ao fim 15. Crie o Heroku e Databas de baixo para o banco de dados: Ei, pessoal, neste vídeo, vamos estar olhando para implantar nosso aplicativo de registro no Hiroko e também configurar meu banco de dados SQL remoto. Antes de ir mais longe, acho que vale a pena afirmar que a minha máquina realmente caiu. Então a máquina que estava sendo usada para todo o turismo de chá apontou para este ponto realmente morreu em algum momento esta semana. Então eu tive que recuperar outra máquina e também todo o tribunal que estava sendo feito nos tutoriais anteriores. Onda, felizmente se levanta, me resgatou. Então eu fui capaz de ir em frente, levantar, voar no banco de dados. Desculpe, os arquivos de volta para a minha máquina provisória nova máquina com todo o tribunal e todas as ferramentas que estavam sendo usadas. E então esta é a nova máquina que estava ligada. Então, se nunca houve uma razão convincente para você usar o controle de fonte do que deixar isso guiar as vantagens de usá-lo agora neste vídeo, nós vamos ser heróicos. Além disso, se você não tem uma conta ah heh Rogo, você sempre pode verificar o meu vídeo anterior configurando um heróico livre ou cones e, em seguida, isso deve levá-lo até a velocidade com a obtenção de uma conta heróica, e então você pode seguir o resto dos passos à medida que avançamos. Para aqueles de vocês que já têm um heróico ou cones, esta seria uma viagem de volta para o seu Haruko. E você notaria aqui que há alguns sinais Zed, que indica dormir ao lado dos meus anteriormente relatados implantados ups e você provavelmente tê-los também. Então a coisa é, quando um up porque eles estão sob plano livre e acima tende a ir dormir, Perico coloca-os para dormir porque onde eles estão livres, Andi, eles não estavam necessariamente em uso. Então, se eu tentar navegar para o meu PHP, isso é tentar Primer Dash Trev up. Vai demorar um pouco para aparecer. Isso é porque estava dormindo. Então o que tinha que acontecer é que o próprio dinho despertou o dedo do pé. E quando eu atualizei o PG notei que não é uma semana, tudo bem, então isso vai acontecer se você perceber que você está tentando nunca chegar em cima de você e isso leva um tempo, é porque não é limitado a nenhum tráfego vindo para esse aplicativo fora do Dino obter tipo de revisão profunda até que eles são solicitados em. Então eles acordariam e serviriam o conteúdo. Tudo bem, então eu só estou avisando que é por isso que vocês veriam essas visitas de qualquer maneira. Ou a missão de hoje é implantar nossos novos aplicativos. Eu vou para o novo criar um novo up em, então nós estamos chamando esta caixa registradora de atendimento. Lembre-se, você não precisa ter o mesmo nome que estar aqui é um exemplo. Já tenho atendimento que é registrar como um up em Hiroko. Então eles estão me dizendo que eu não posso fazer isso. Alguém para ligar para este. Atendimento ao traço PHP. Aposto que ninguém tem esse nome lá fora. Lá vamos nós. Então você sempre pode copiar este nome e apenas colocar outra coisa lá para torná-lo único para sua situação em. Então, uma vez que você terminar com isso, você pode ir em frente e clicar. Criar. Não. Com o nosso up criado, podemos ir em frente e rolar para baixo até o método de implantação, onde podemos apenas clicar em conectar para se levantar . Já estou logado para entrar no meu irmão. Então sabe que sou eu. Se não, então você pode precisar colocar em suas credenciais get tub. E então, uma vez que isso é feito e você está conectado, você pode simplesmente ir em frente e procurar o relatório. E acredito que o meu relatório se chamava Tendões estão procurando. Lá vamos nós e, em seguida, eu me conectar e, em seguida, uma vez que eu me conectar, eu sei que tenho a opção de implantar automaticamente ou implantar manualmente alguém para escolher a implantação manual . Andi, acho que expliquei as razões para isso. Em um vídeo anterior no DSO, eu vou em frente e clique em Implantar Branch e, em seguida, dar-lhe alguns momentos enquanto ele executa sua magia . Uma vez que isso é feito, vamos ver algo chegando implantado para Hiroko com um tick verde e então eu posso ir frente e clique em exibição, que foram então carregar minha página. Mas olha para isto. Se você fizer ou chamar nossa velocidade índice deve ter um formulário Andi ou Ver participante deve ter uma tabela fora. Todas as pessoas teriam preenchido aquela fazenda. Nem está carregando. A razão para isso é se você voltar ao nosso acorde no estúdio visual. Se você olhar para a nossa página de índice, vemos que ele está chamando Khan. E se olharmos dentro de longe pode arquivo Khan está realmente tentando se conectar ao nosso banco de dados host local em nossa máquina. Bem, isso significa água local do dedo, uma máquina que está ligada. Então isso significa que se eu colocá-lo em sua máquina e você eu não tinha este banco de dados, então teria sido um erro. Assim, da mesma forma, não há banco de dados, dedo local Hiroko que mangueira qualquer fora dos detalhes de conexão sendo alinhados aqui. Então tudo o que precisamos fazer é criar um banco de dados tão heróico que pode ver através da Internet e pode suprimir esses problemas tão heróicos Oh, realmente permite que você adicione um banco de dados. Ah, será um servidor fora do tipo. Você pode ir para configurar Adan em Olhe para limpar banco de dados meu SQL Os lados não do clear db meu SQL é que, mesmo que ele diga que é livre aqui, você tem que fornecer suas informações de cartão de crédito em então, na verdade, provisionar o banco de dados não é realmente livre. O banco de dados hospedando em si não é gratuito, então não vamos tomar essa rota. Mas em vez disso, vamos procurar uma alternativa. Andi, Eu realmente encontrei um site recentemente sobre ele é re morte, meu ponto com SQL no dia realmente oferecer livre meu perguntar suas postagens. Claro, grátis vem com limitações. Mas com a finalidade de passar por este vídeo e mostrar como você implanta um aplicativo totalmente funcional, funcional,orientado por dados na Internet e especificamente Hiroko, então vamos usá-lo se estivermos fazendo isso. Ver Pinelli seria uma provação muito mais fácil. Mas por causa de Hiroko e das restrições de custo, eu só quero manter este vídeo o mais livre de custo e eficaz possível fora do curso. Se você estiver indo para a produção, então você poderia prosseguir com claramente ser manter tudo mais homogêneo em mais estável por apenas ter tudo dentro. Legal heróico. Então, no remoto meu ponto da escola com, podemos ir em frente e clicar em Login. Que fora do curso irá pedir-lhe para criar uma conta ou eu vou dizer novamente pode ir em frente e companheiro este básico mais tarde e criar uma conta. Outra ferramenta que você provavelmente vai querer é meu SQL foram pinch, que é um aplicativo desktop que permite gerenciar meus bancos de dados SQL remotos e a relevância fora do meu uso da palavra remoto é que pêssego administrador FEMA gerencia o local bancos de dados que são locais para sua instalação zump. Quando você tem workbench, ele pode se conectar a esse. Ou ele pode conectar um através da sala ou através da Internet considerando que nós realmente vamos estar configurando esta sala ou para o meu SQL que é através da Internet e nós precisamos de uma ferramenta que pode realmente se conectar através da Internet. E assim meu SQL não foram Binge é uma ferramenta maravilhosa para isso. Então você pode ir em frente e ir cheio desta menina, que está no recurso é para este vídeo. E você pode simplesmente navegar e clicar em download e ter isso instalado em sua máquina . Não, eu fui criado nosso controle remoto, minha conta de banco de dados SQL. O que queremos fazer é ir para bancos de dados na visão do esporte esconderijo. Bem, não podemos simplesmente deixar eu passar por todos esses anúncios e ir em frente e clicar. Criar novo banco de dados. Eles vão, querida. Eles então mostrariam algumas informações mostrando que os barcos são criados. Banco de dados o nome do usuário o nome do banco de dados nome do banco de dados. Desculpe. A senha. O servidor na porta. Então, com essa informação, podemos ir até a nossa bancada, e tenho certeza que você a instalou quando chegar aqui e então podemos clicar neste possível. Mas agora eu tenho duas cartas aqui porque eu tinha pinos de trabalho instalados antes. Mas se você não fez, então você provavelmente vai acabar com uma carta e tudo bem. Mas então queremos criar outro. Então fomos para ir para o sinal de adição. Em seguida, podemos chamar este SQL remoto. Então isso é apenas um nome de conexão para que quando o vemos, saibamos para que serve. Em seguida, o nome do host seria o que eles chamam de servidor. Então você vê remoto meu amor SQL calma, que podemos apenas copiar do site e colar dentro fora do workbench. Claro, não queremos que nenhuma espécie apareça, então podemos remover qualquer espaço que esteja em um espaço antes do meu. Então voltamos e o nome do usuário é este bloco fora de texto alguém para copiar isso. Passar por cima indo para nos pagar que no nome de usuário em seguida, nossa senha é aquele bloco de texto . Então eu vou continuar e repetir esse procedimento. Mas para pastor enxerto é uma loja envolvida. Dê a senha. Clique em OK em, depois na final. Na verdade, o nome do banco de dados, que é o nome que copiamos, é o padrão , Kira, podemos testar a conexão. E ter feito isso quando vemos esta mensagem com sucesso fez minha conexão escolar que sabemos que estamos realmente conectando remorso do dedo do pé. Meu SQL Não porque é chamado de remorso, meu SQL, mas remoto significa que não está em sua máquina. Não é local para você. Então está na internet e estamos nos conectando a ele. Estrela bem-sucedida clique em OK e, em seguida, clique em. Okey on, então eu vejo meu controle remoto s sua conexão aqui pode dobrar bilhete em. Então isso me dará acesso aos servidores deles. Ninguém que você esteja conectado. Em seguida, você verá o banco de dados que saiu e você verá uma janela quadrada vazia em. Então você pode ver que as tabelas de mensagens Mitchell não puderam ser buscadas. Eu não tenho certeza do porquê, mas se você está primeiro você vê que ele permanece conectado e eles tentam se encaixar. O estado pode ser peixe. Mas isso é bom. Isso é uma pequena conseqüência. O que estamos prestes a fazer, você sabe o que queremos fazer é migrar nosso banco de dados. Então nós tínhamos nosso banco de dados em nossa máquina de desenvolvimento. Eu sei. Precisamos colocá-lo na máquina de produção. Então o que precisamos fazer é encontrar nosso banco de dados e sabemos que nós construímos usando meu PHP desculpe meu admin. Então vamos em frente e vamos para o discurso local. Administrador da FEMA ligado. Então você verá um 10. Ddb, lembra? Tive que reconstruir meu banco de dados para não ter os dados que vocês têm. Então, quando eu migrar, cara, ainda vai ser um banco de dados vazio. Vocês vão ter os seus dados, mas é para vê-lo dar passos. Em seguida, depois de clicar no banco de dados vamos exportar. Este foi então o lançamento de uma janela nos perguntando um monte de coisas sobre modelos. Não temos que passar por tudo isso. Podemos ir em frente e clicar em “ex”. Então, sob os quatro meses que você vê sq A para que possamos deixar isso porque eu quero fazer é exportar nossas tabelas e seu conteúdo em sq um arquivo para que eu possa ir em frente e clique objetivo, e então isso vai realmente me dar no sq um arquivo que eu posso abrir em qualquer editor. Então eu fui para a minha pasta de downloads por padrão. Eu só vou clicar com o botão direito e abri-lo em nenhuma parte próspera porque eu não quero abri-lo em nenhum software pesado. Então, uma vez que ele está em nenhum cluster parte segundo, basta copiar seu controle select all. Veja para copiar. Então eu vou na bancada de reboque. E nesta janela da antiguidade, eu entrei. Então, uma vez que eu colado, Eu posso realmente não basta clicar no executar, que é este relâmpago olhar ícone aqui na barra de ferramentas em. Em seguida, isso irá executar um set off comandos. Então, como eu disse, não tenho dados em mente. Então eu Sua consulta, seu arquivo de consulta que é gerado vai olhar um pouco diferente do meu. Mas, essencialmente, o efeito líquido deve ser o mesmo. E então uma vez que foi executado e você só vê carrapatos verdes abaixo em que o que eu tenho alguns arquivos pero aqui companhias aéreas aqui. Mas isso é bom. Estes estão relacionados com o fato de que as tabelas não puderam ser concluídas. Mas uma vez que eu atualizar o esquema ou para esta direita e esquerda dentro. Então eu vejo minhas duas mesas elevam isso. Então, mesmo dizendo que as mesas não puderam ser terminadas, eu ainda tenho minhas mesas. E se tivesses conteúdo, terias conseguido conteúdo. Então esse é o primeiro passo. Saiba que temos replicado ou data beast ou mais para o meu servidor SQL. O que queremos fazer é voltar ao nosso cabo de estúdio visual. Andi, abra. Nosso arquivo PHP con dot na verdade mudou todos esses valores relativos a este novo banco de dados. Então o que eu vou fazer é tirar uma cópia de tudo isso. Uma vez que tem todos os dados de conexão, Eu vou comentar as partes de desenvolvimento e eu vou colocar o notado na conexão de desenvolvimento em. Então eu vou colocar em outro comentário aqui em baixo e ver a conexão remota da Abi. Tudo bem, isso significa que sempre que eu estiver pronto para trabalhar na minha máquina local, eu posso apenas un comentar isso e vir nesta parte no vício versus nesta situação porque nós queremos trabalhar remotamente, queremos implantar remotamente . Vou mudar esses valores para que o hospedeiro seja e podemos voltar para o controle remoto. Meu ponto com Eskil em reutilizar esses valores. Então o servidor é o mesmo que o host, então é remoto. Meu pedido UAL não este eu p endereço mais, mas remoto. Meu banco de dados de ponto com escola seria este bloco fora de texto não freqüentam mais TB. O nome de usuário seria que bloquear texto e são pastores. Você sabe o que? Temos uma senha desta vez. Primeiro, não tínhamos uma senha, e eu disse que seria bom para o desenvolvimento, mas para fins de segurança, eles sempre nos dão uma senha quando estamos no controle remoto. Outra coisa legal sobre isso é que não, que eu montei nosso banco de dados Moz. Outra coisa legal sobre isso é que não, Tenho-o aqui no meu desenvolvimento local. Você sabe, no meu arquivo do governo local, eu posso colaborar ainda mais facilmente com meus colegas porque o banco de dados não está mais isolado na minha máquina. Então eu vi que o banco de dados remoto estaria em uma máquina que não é seu computador. Porque se todos os seus trabalhando neste projeto, então ele será contratado para que todos possam participar para mudanças no banco de dados. Se o banco de dados estiver apenas no seu computador No entanto, se estiver em um local remoto ou central ao qual todos têm igual oportunidade de se conectar , então é mais fácil para todos trabalharem com o banco de dados. Então, implantando seu banco de dados em algum servidor remoto, seja através da Internet ou talvez em uma rede onde você está em sua escola ou em seu trabalho, por favor, se ele estiver em uma máquina de rede lá. O fato é que todos podem usar esses detalhes de conexão e ter visibilidade nesse mesmo banco de dados, os mesmos dados que todos estão vendo no Dwork de forma ainda mais integrada. Agora, apenas para dirigir para o meu ponto, eu realmente vou navegar em meus aplicativos de host locais. Vou falar com o meu irmão, ir para o anfitrião Loca em Goto. É assiduidade. E então, quando este índice de fogo, Lord percebeu corretamente que as conexões estão funcionando, tudo está em ordem. Você percebe que eu não tenho nenhum ar de conhecimento porque minhas bases de dados estão vazias. Tudo bem, mas lembre-se que nós tínhamos configurado esta lista suspensa para realmente ler do banco de dados, então eu preciso voltar para o meu banco de dados e reabastecer esta tabela com as diferentes áreas fora conhecimento que estão disponíveis para seleção em então os veria. Mas o ponto não está se conectando ao nosso banco de dados. Se eu ver os participantes, não há nada lá. Mas isso é porque, mais uma vez, minhas bases de dados vazias. Se você fez isso e você nunca migrou todos os seus dados e todos os objetos, então você estará tendo uma experiência totalmente diferente de mim em Você estará vendo todos os seus participantes, então eu vou rapidamente rapidamente basta colocar em todas as especialidades. Então, onde banco me permite apenas clicar sobre a mesa no dia? Você sabe, este ícone que lança uma consulta seletiva do banco de dados em seguida, eles me dão um editor. Então eu vou colocar em administrador da Web no administrador do banco de dados em I. Sinto muito. Não estou me lembrando dos outros, então vou colocar a engenheira de redes Andi. Acredito que o outro era o outro. Sei que inseri todos esses valores. Eu posso ir em frente e clicar. Aplique no canto inferior direito. Isso realmente geraria uma inserção na instrução por valor, que eu posso clicar em aplicar em que é executado em todos estes não são na minha especialidade estável . Então, quando eu voltar para o meu formulário e eu atualizar e ele se conectar a este banco de dados, então você verá que tudo o que eu acabei de colocar, incluindo o novo engenheiro de rede, todos eles não estão sendo puxados. Então, ele está conectando com sucesso do meu host local com o servidor remoto que acabamos de configurar . E então a expectativa é que uma vez que eu implantar isso em Hiroko, ele estará olhando para a mesma besta de dados que eu acabei de configurar no meu desenvolvimento local. Então vamos em frente e reimplantar alguém para ir para obter hub em. Eu vou empurrar as mudanças e ouvir todas as mudanças fazer Toby mostrar máquinas Arsala que acabamos de fazer em nosso arquivo. Então eu vou entrar em mestre, e eu vou ver adicionado remoto meus detalhes de conexão SQL em. Então eu vou cometer isso para dominar, depois empurrar. E uma vez que o empurrão tenha sido considerado bem sucedido, posso voltar à minha visão geral de Hiroko Goto. Não, desculpe. Implante meu problema em, então vá em frente e implante branch uma vez que ramificações implantadas com sucesso. Então eu vou clicar em ver em. A expectativa é que nossos senhores fazendeiros Onda podemos ver que uma consulta está sendo feita com sucesso e eu vou colocar no primeiro participante. Então este é o meu real aqui na Internet. Então este teria sido Reno apresentado ao usuário para os primeiros registrantes. Então eu vou me inscrever primeiro para a minha conferência I T sobre minhas ações fora do nascimento é na verdade dia 28, mas então o ano está errado. Bem, nós deixamos o ano em diante, então eu sou um administrador da Web, mais ou menos. Meu endereço de e-mail é de fato que no meu número de contato não é totalmente preciso. Mas nós trabalhamos com isso, e então eu clico em Summit. Então estamos vendo que a operação foi concluída e esses são os meus detalhes. Se eu ir para ver os participantes e lembramos que fizemos uma seleção Scurry para obter de volta esses detalhes para que ele está lendo diretamente da idéia para baseado. E se eu voltar ao trabalho, Ben só para verificar se eu olhar em seus 10 de mesa sobre morrer, clique neste ícone aqui que vai lançar todos os dados lá dentro na pedreira de ardósia. Então eu vejo que meu aplicativo está realmente falando com meu banco de dados remoto Em algum lugar na Internet em que é tudo que você iria sobre implantar um aplicativo para nosso banco de dados mais e para Hiroko No. Mais uma vez, é ideal em ah situação de produção real que mantemos tudo dentro de fora. Hiroko. É mais fácil de manter é fácil de gerenciar. É o dedo do pé mais fácil. Bem, tudo se desconecta melhor. Mas então vemos aqui que estamos hospedando em Herro co hospedando nossa codificação heróica sobre hospedagem nosso banco de dados no controle remoto. Meu ponto com SQL sobre esse conceito poderia ter sido aplicado basicamente com qualquer agente de hospedagem remota , então tudo não precisa ser um só lugar. O banco de dados pode ser um lugar e o tribunal outro lugar, mas sabemos como conectá-los. Assim que tivermos o carrinho, os detalhes da conexão são então eu estou desafiando você. Basta repetir estes passos, implantar o nosso aplicativo em Se você tiver alguma dificuldade ao longo do caminho, sinta-se à vontade para me avisar, e eu ficarei feliz em ajudar. Obrigado por assistir 16. Configurar a tabela de banco de baixo no PHP e lógica: vocês neste vídeo, vamos começar a modificar nossos aplicativos para que usuários não autorizados não possam ver certas partes fora do site. Agora, o cenário é que este formulário de inscrição para conferências, público enfrentando todo mundo deve ser capaz de entrar em um registro em movimento. No entanto, ninguém deve ser capaz de visualizar os participantes e atender os bancos de dados do repositório de modificação à vontade. Então o que queremos fazer é meio que colocar em mecanismos de tal forma que você tem que ser autenticado para ter certeza de que você está autorizado a ver o discurso. Andi, alguma modificação adicional nos dados agora em nosso código? Vamos começar nossas modificações com nossos arquivos de vigaristas. Então eu vou mudar para o meu banco de dados de desenvolvimento, hum, comentário distante sobre as conexões de banco de dados remoto e sobre comentários, as conexões de banco de dados locais que eu estou criando um novo arquivo dentro da minha pasta de banco chamando seu usuário dot PHP e, em seguida, usá-lo cada um. Ser não tem na inicialização com um bloco Ph. B em. Ele tem uma classe chamada usuário. Então, o usuário da classe em, então nós vamos apenas passar para o crow dot PHP e pedir emprestado o primeiro bit fora da quadra, que é onde ele inicialmente inicializou uma variável privada chamada DB e, em seguida, usar o construtor para dar-lhe os valores. Então isso é genérico. Isso precisa ser feito independentemente para que possamos manter o mesmo objeto ou em dinâmica em todos os nossos arquivos. Eu peguei isso emprestado? Colocá-lo lá na próxima missão será implementar algumas funções. Então a primeira função que vou colocar é função pública. Inserir usuário. Tudo bem, então insere usuário. Bem, essa é a função um. Eu ainda não defini a tabela de usuário, então eu não vou continuar com isso ainda. Mas quero outro telefone mostrado. Isso é bom, talvez obter usuário. Certo, alguns só juram emoldurar esta aula por nada. Vamos deixar assim. Então eu não quero inserir uso. Eu quero obter usuário em algum momento, mas o que nós também precisamos fazer é realmente definir ou tabela de usuário. Então eu estou indo sobre o PHP meu significa tomar meu banco de dados de atendimento e criar beleza com usuários de qualidade. Andi, eu só quero três colunas que você pode colocar em mais se você quiser o que minhas três colunas realmente vai ser i d que vai ser a minha chave primária de implementação automática. Andi, eu preciso usá-lo na senha, e estes dois serão var char e eu vou dar-lhes um tamanho de 50. Tudo bem, uma vez que eu defini aqueles que podem apenas ir em frente e clicar em salvar criar minha nova tabela em então Não, eu sei que eu preciso usar senhas humanas. Então, seja qual for a coluna que você colocar, tenho certeza que você colocou mais, mas no mínimo, você deveria usar ele e senha. Ou talvez usar o endereço de e-mail na senha, mas você precisa, pelo menos, esses dois têm ah, usuário sensível até que o nosso assim saber que eu preciso que eu sei o que colunas eu preciso. Posso definir melhor as minhas funções. Então eu vou voltar para o meu telefone, brilha e inserir um usuário. Eu posso esperar que eu vou obter o nome de usuário na senha fora do usuário a ser inserido. Então eu só coloquei isso em uso qualquer palavra impostora. Esses são os meus dois parâmetros em, e depois em uma inserção. Posso ir para a multidão. Agora podemos emprestar a mesma lógica que foi usada para inserir nossos participantes entender para tirar todo este bloco fora da quadra em. Então vamos fazer alguns pequenos ajustes em relação ao nosso novo contexto. A primeira mudança que vou fazer é para o tribunal para que possamos manter o nome verbal SQL. Mas, em seguida, a pedreira deve ser inserida em usuários, já que esse é o nosso novo nome de tabela e dentro off ou classe de usuário. Então, inserindo para usuários nas colunas que estavam inserindo em nosso nome de usuário na senha e lembre-se de idéias também implementando para que não precisamos fornecer um valor para i. D. Eu não tenho todos estes. Talvez você faça, para que você possa ajustá-lo de acordo. Mas eu não os removo assim. Tudo bem, então, valores sobre os valores são os parâmetros que vão para os valores estão usando senhas humanas. Estou escrevendo os dois pontos e colocando de volta o mesmo usando senha humana. Então eu vou remover todos os parâmetros extras a serem desossados. Apenas certifique-se de que eu reajuste toda esta escola para ser usada. O nome na senha. Tudo bem, então é assim que você pode reutilizar Cool que você já fizemos um pouco fora, citando em vez de multidão, eu sei que precisamos tribunal semelhante em vez de usuários unders. Estamos usando, Andi. Essencialmente, Essencialmente, o que estamos fazendo é a mesma coisa. Estamos apenas inserindo um usuário para que isso possa ser usado quando alguém está se registrando no seu site da mesma forma que aceitamos todos esses dados de alguém. Desculpe, inserir no participante foram aceitos todos esses pontos de teatro, e já foi inserido na mesa. Isso é essencialmente a mesma coisa que você está fazendo com o usuário. Então, sempre que você tem uma interação de banco de dados onde eles colocam algo no banco de dados, deixe este ser um modelo geral como o todo ele pode ser realizado. Em seguida, temos obter usuário, e este primeiro recebe usuário. Eu quero obter o usuário com um usando-o na senha que muito, o que está sendo passado em nossos parâmetros. Então eu quero que o nome de usuário e senha para ser passado para o apartamento é, e então eu quero verificar se há um usuário com isso em algum lugar para ir cerca de dois créditos e ver se eu tenho alguma função semelhante a esta e eu faço na forma de obter detalhes do participante Com certeza, foi no i D. Mas o conceito para mim é o mesmo. Alguém para copiar este cordão no leste. Está aqui e depois modificamos. Então dizemos Select estrela a partir de ir para tipo de limpar tudo depois que a tabela disse que eu não teria uma confusão para que ele seleciona estrela de ou usuários tabela estavam em então A primeira parte da condição de desgaste é o nome do usuário deve ser igual dedo do pé nome de usuário do parâmetro. E então queremos esse uso ou qualquer usuário que ele achar que mais tem. Eu uso o nome que muito é o que está vindo para o parâmetro Onda senha correspondente o que está vindo para o passado a coluna de senha departamento ou assim como um valor que muito é a senha parâmetro em então eu já tenho o comando prepare. Eu tenho o poder de compra Rambo para gastar para I D. Então eu não quero comprar e para a idéia eu queria vincular para nome de usuário no valor deve estar procurando está usando você a partir do parâmetro em também para senha sobre os valores que procuram é da senha em. Em seguida, executamos e buscamos os resultados. Ou seja, se um usuário é o telefone, buscamos esse usuário em. Em seguida, armazenamos em resultados e retornaremos os detalhes sobre o dedo do pé do usuário. Seja lá o que estava chamando essa função. Agora, tendo não sei que eu vou introduzir mais uma função e esta vai ser obter usuário por nome de usuário. Então eu vou de joelhos. Obter usuário Basta introduzir uma nova função. Função pública recebe usuário usando aqui, e eu estou passando o uso em valor Oh, nosso parâmetro em. Então, dentro desta função, eu vou fazer o mesmo. Tente pegar. Desta vez eu só estou procurando nomes de usuário. Eu vou toe apenas escrever este pontuado rapidamente em então o que estamos fazendo neste é onde selecionar o número off usuários onde o uso qualquer muito é o que é passado no parâmetro. Então deixe-me dizer isso novamente, ou selecione Parisienne Select não vai estrelar e quero dizer que você poderia usar um nome de coluna lá, mas nós apenas dizer cones estrela não tem significado. Retornar Uma coluna chamada gnome, com o nosso valor fora dos cones do usuário estável, onde há um nome de usuário. Isso é qualquer uso que o nome está vindo através do nosso parâmetro. E então, é claro, todo o resto parece exatamente com isso. Obter território função do usuário executa, e, em seguida, buscar os resultados em armazená-lo. Devolva, Art. Então o propósito desta, essa disfunção, é garantir que não inserimos usuários de ferramentas com o mesmo nome de usuário. Tudo bem, então isso é realmente pode retornar um verdadeiro ou falso. O que? Eu só vou deixar como está ligado. Eu vou tipo de modificar este este este inserto usuário função toe sempre chamar esta função primeiro em, em seguida, com base no que esta função retorna ação tomada. Então, se ele retorna qualquer coisa diferente de zero significando zero significaria que não há nenhum usuário este nome de usuário. Em seguida, ele deve ir em frente e inserir se ele retornou algo diferente de zero. significa que há um usuário usando aqui, então nós simplesmente não fazemos nada. Tudo bem. Alguém para reajustar a disfunção. O que eu vou fazer é introduzir uma variável, e eu vou chamá-la de resultados. Vai ser igual toe isso então porque estamos na classe após usuário, esta palavra-chave para que possamos acessar as funções irmãos em Quando eu digo esta seta, eu vou chamar, obter usuário por usuário novo. Tudo bem, então meu eu de inteligência fez um pouco lá dentro e dentro deste parâmetro e passando o mesmo nome de usuário que os pedidos apenas vieram para criar o registro de usuário para Tudo bem, então o que aconteceu -se em sua uma vez que eu chamo inserir usuário passando e usando-o na senha. Não vai atender este telefone Sean Call, que é suposto verificar o banco de dados que Azzawi desenhou aqui para ver se há algum usuário com esse nome de usuário e voltar para casa. Muitos. Então, o que precisamos fazer é ver se nossos resultados e resultado é o que armazenar que não vai certo, Você tem resultado. Resultados Onda representariam todo o rolo, que tem ah, coluna chamada gnomo. Tudo bem, lembre-se, nós dissemos que queríamos retornar alguns resultados definidos com uma coluna chamada Gnome Worth of value Off telefonada. Então, se o valor dentro de fora resultados gnome colchete quadrado é maior que zero, o que significa que há um usuário por esse usuário sabia. Então o que podemos fazer é esse retorno cair. Tudo bem, então nós apenas retornamos Falls se esse usuário existir, e essencialmente nós não queremos fazer nada sem quedas, por causa de tudo sério, mas falso aqui é ruim. Então nós apenas retornamos cai em cima. Então nós só vemos mais que queremos prosseguir com todos os quatro belos, tribunal maravilhoso que está realmente criando nossos usuários. Apenas conserte a fazenda. Tutting recuo ali. Tudo bem, então, no final de tudo isso. Um segundo. O que vai acontecer é que chamamos um determinado usuário passando para o nome de usuário e senha. Vai primeiro encontrar aquele cheque para ver. Certo, me devolva para casa e os usuários têm esse nome de usuário. Se há pelo menos um, então não queremos fazer nada. Caso contrário, queremos prosseguir com a criação do usuário. Agora, mais uma modificação que eu quero encontrar para isso. Disfunção é a forma como lida com a senha. Então, o pastoral como ele está, seria qualquer pillion leva os tipos de usuário para a forma quando eles estão registrando e tão certo que ele é obscurecido de sobre os olhos porque você sabe que em HTML que veio para cima ou alguma vieira simples em vez off palavras, mas depois queria passa aqui. Está tocando texto. É que, você sabe, como você sabe, você digitou quando começamos no banco de dados, não queremos que ninguém seja capaz de olhar para o banco de dados e apenas ver Oh, isso é o que o pastor é porque nós não o obscurecemos. Então, queremos introduzir criptografia sobre chamadas, que irá obscurecer a forma como a senha aparece no banco de dados e tornar mais difícil para alguém sentar-se e descobrir o que é a sua senha. Então eu vou acima do outro antes mesmo de entrar na instrução SQL, Eu quero definir um novo verbal sobre. Eu vou chamar seu novo em uma senha quadrada na nova senha será realmente como uma concatenação off senha no que chamamos de assalto em. E isso é sal, como no sal. Certo, então agressão é como um bloqueio aleatório de texto que usamos para ocultar a senha. Então, às vezes, as pessoas definem um sal estático, e então eles usam o pé de sal estático upend nossa pré-escrita cada senha. Toda vez que alguém digitou a senha, ela é usada como agentes qualificados. Hum, eu quero ser um pouco mais dinâmico alguém no nome de usuário. Portanto, este texto de senha é assim usando o nome de usuário até a senha, é muito mais dinâmico. Não há estática. O sal é um pouco fora no sal, que é usado. O nome muda toda vez que é um usuário diferente no. Em seguida, mesmo que eles usem a mesma senha para senha nunca deve ser semelhante no banco de dados porque o salt teria sido diferente. Porque nós somos você sabe, cada nome de usuário, no mínimo, deve ser diferente. Então, tendo mudado eles para ver nova senha, a próxima coisa que eu vou fazer é realmente criptografado, porque agora ele ainda está jogando Inglês. São apenas duas palavras, então eu vou dizer MD 5, e eu estou embrulhando este texto de concatenação dentro da doença pai sobre isso é uma função de criptografia, então provavelmente é o mais popular adereço. PH ser construído em função de criptografia lá, muito poucos. Este é muito popular em É provavelmente o menos seguro, uma vez que é tão popular, Mas claro que você tentar o seu melhor para mim. Seja o que for que você está criptografando o mais dinâmico e infalível possível. Então eles estão avançando. É mais difícil de quebrar. Então vamos passar por isso de novo. Eu estou definindo uma nova variável chamada nova senha Andi, Eu estou ocultando são combinados texto fora da senha no nome de usuário alguns combinando usá-lo e senha no reboque. Uma corda contínua ligada. Então eu estou usando MD cinco dedos haxixe. Então eu estou armazenando tudo isso dentro de uma nova senha, que então significa que em vez de passar senha como o Param, eu vou passar nova senha sublinhado. Então isso é o que será armazenado em nosso banco de dados. E isso é o que precisa ser frequentemente autenticado hoje contra cada vez mais adiante. Então, desse exercício, estou me sentindo bastante confiante de que podemos inserir um usuário. Verificamos e certificamo-nos de que este nome de utilizador não existe antes de Andi We, se existir, não existe. Em seguida, podemos ir em frente e criar uma senha hash e inserir este novo usuário com sua nova senha segura. Agora tenho mais algumas mudanças que eu vou fazer e eu vou encontrá-los para o arquivo PHP de conduta onde eu estou realmente indo para Winston. Ela primeiro requer entender, exigir uma vez que os usuários ponto PHP. Então eu estou apenas exigindo que o novo arquivo DB Andi no mesmo Vietnã foi para declarar um novo objeto fora chamado usuário fora do tipo de usuário. E está recebendo o objeto C M PDO que coalha recebendo, é por isso que usamos o construtor cordão fora da multidão porque esperávamos estar aqui da mesma forma que a multidão se comportava. Tudo bem, nenhuma conduta PHP está incluído em todas as páginas, que significa que se precisarmos acessar algo para o usuário, podemos acessá-lo. Se precisarmos de algo da multidão, podemos acessá-lo e todos os outros objetos que são classe que construímos que devem interagir com o banco de dados também podem ser incluídos aqui na conduta PHP e utilizados de acordo com seus diferentes padrões e maneiras diferentes. Muitas vezes neste, este é apenas um dos caminhos fora de menor resistência para que possamos entender a base fora dele. Agora as últimas equipes estão indo para fazer é que eu vou chamar a função inserir usuário, que está dentro de meus objetos de usuário. Certo? Então nós apenas declaramos os objetos do usuário ao mesmo tempo. Eu vou colocá-lo para uso, e eu vou chamar o usuário de inserção, que leva um nome de usuário em Eu estou colocando isso como senha onda admin off. Bem, senha. Então é um usuário muito simples . Então, nossos usuários administradores administrador impostor sabem que a razão por colocá-lo aqui dentro do arquivo é que os limites são carregados em cada pêssego. Quando vamos para o discurso de índice e o Khan esquece carregado e carrega tudo isso, não é bom inserir a inserção do usuário administrador. Os usuários querem ligar para o telefone, filho, obter usuário usando ele para ter certeza de que não há outro usuário por esse nome de usuário em então, Bem, ele vai ser o nosso primeiro usuário, então não haverá outro pelo nome de usuário admin, então isso será executado. Você vai para outra página e ele recarrega e lembra disfunção. O que acontecerá na segunda vez quando ele passa em admin como nome de usuário em. Então este comentário que existe. Eu uso um com esse nome. Ele só retornará as quedas e não fará nada. Então este usuário deve ser criado pelo menos uma vez. Bem, deve estar lá uma vez. Andi, se ele é excluído uma vez que o site é Senhor e ele vai ser recriado para que você possa fazê-lo uma vez e, em seguida, comentou Oh, desculpe. Poderia deixá-lo porque já citamos de uma forma defensiva. Portanto, este usuário nunca deve aparecer duas vezes em nosso banco de dados. Tudo bem, então se eu fizer todas essas mudanças e salvar e, em seguida, ir em frente e re senhor ou forma homem ver todo nosso medo mudanças, é entender atualizar esta página. E como você pode ver, tudo carregado, nada parece ter acontecido. Mas se eu voltar para me lançar, meu administrador Andi, recarregar meu estábulo de usuário. Em seguida, você verá que temos um novo usuário chamado admin on. Se você olhar para aquele pastor, a aparência, nada como a palavra senha. Certo, então essa é a nossa senha silenciosa. E se eu nunca chegar a outra página sobre, voltar para casa, lembre-se, lembre-se, cada vez que nós nunca carregamos Khan e ele está fazendo essa chamada de função. Se eu voltar para a minha estável de usuário, ainda estou vendo apenas uma instância fora do administrador. Se eu excluir admin. Andi, acabei de remover. Isso significa que não há nenhum usuário pelo nome em mim, e eu vou para outra página no dia em que eu ir e atualizar. Adicionar. Minnery aparece com um novo I D. Sim, mas a costura adicionar significa usar nome e senha. Tudo bem, então esse exercício foi apenas para mostrar como você poderia colocar em pelo menos um usuário que quando começarmos a bloquear nossas páginas, nós realmente temos um usuário para usar o login no dedo do pé. 17. Configurar o usuário no PHP: Ei, pessoal. Em nosso vídeo anterior que criamos ou usuário estável, criamos alguns mecanismos que estão perto de, pelo menos, criar o usuário na boneca em, encontrar um usuário com uma correspondência usando senhas humanas. Então, o que precisamos saber é realmente começar a criar nossos formulários de login para que possamos criar. Eu uso sua sessão Onda uma baixa autenticação em outras páginas na verdade começar a impor restrições sobre ou pêssegos. Agora o primeiro passo vai me fazer criar um novo arquivo, e eu vou explicar qual é o propósito deste incêndio. Então eu vou criar um novo arquivo dentro de minhas pastas inclusas. Eu clico inclui criação de arquivo em. Estou chamando esta sessão de ponto PHP No, para que possamos lidar com isso. Ah, vamos ver as informações do usuário em todo o nosso site. Uma vez que você tem amor ser, temos que usar mais chamada uma sessão ou cookie ou suas certas variáveis super que estão lá. Assim, um cookie armazenado na máquina da pessoa uma sessão é armazenada no servidor para sob servidor. Então estamos usando sessões. Andi, a fim de tirar o uso das sessões em Peachtree, temos que executar uma diretriz sobre Doyle. É realmente uma função. E essa função é sessão. Sublinhado. Comece. Tudo bem, então a razão de eu colocá-lo em seu próprio arquivo só para esta linha é que nós podemos incluir este arquivo em todos os lugares. Então eu estou indo para ir em frente e incluir este fogo este arquivo em nosso cabeçalho dot PHP, Pete. Então, em vez disso, off inclui que nós. Tudo bem. Terminou PHP na primeira coisa que deve ser feita no cabeçalho dot PHP é incluir nosso arquivo PHP de ponto de sessão. Tudo bem, então eu fiz isso e eu incluí algum valor em alguns comentários, então você sabe exatamente o que está acontecendo lá. Tudo bem, então nós temos uma recessão em que o pH seja incluído em nosso arquivo hitter quando o cabeçalho for incluído em algum lugar sessão ponto PHP está implícito. Onda, podemos utilizar ao longo de variáveis de sessão em nosso site. Em seguida, eu vou fazer algumas modificações no dedo do pé para isso. , Primeiro, para corrigir o erro de ortografia. Andi, eu vou fazer algumas modificações nesse bar de amor onde eu quero a seção da direita. Outra mola para cima. Então aqui, nós queremos um botão que está logando se a pessoa amou ser, então nós queremos mudá-lo para, como, como, uma mensagem de boas-vindas e o Lago. Mas então eu vou para mim essa modificação aqui. Então você sabe o que eu faço que precisamos modificar a aparência das vidas. Reconhecidamente, eu não encontrei isso muito facilmente na documentação do bootstrap. Em algum lugar vai fazer isso aqui. Se quiser ir em dobro, verifique e encontre. Então, por favor, mostre-me a página. Mas eu vou fazer isso. Então eu sei que é feito em bootstrap para depois de muito rigor e experimentação. Então eu vou modificar este primeiro dia de aula com barra de navegação suficiente. E eu fui em outras aulas diz Empire Dash Auto. Esta é a minha maneira de dizer que quero que estejas sempre do lado esquerdo. Então eu estou apenas em cópia e paz porque eu preciso de uma construção semelhante. Mas então este vai dizer M l dash auto não estão ligados. Então, se eu apenas recarregar esta página muito rapidamente, nós não terminamos. Número três carregando, então você pode ver. Então vemos aqui que temos dois links originais. Estes são o m r audível do que sabemos ter para a direita. Dentro da mesma ferramenta é porque, bem, nós copiamos um pedaço deles. Então sabemos que temos uma seção à direita, e temos uma seção à esquerda na. Não, podemos ditar o que acontece no lado direito de quatro PHR. Alguém para remover Bem, em vez de remover, entende, modificar. Então eu tenho o link que diz “casa”. Mas este eu vou fazer com que ele veja arrastando tudo bem? E então eu fui fazer isso. Nunca chegue a fazer login nesse PHP. Então, se alguém não é amor ser, então eles devem ver o botão. Então os direitos que é Le Guin em. Então posso me refrescar. Então vamos ver o botão de login e se tentarmos navegar ou obter um ar porque isso não existe. Então precisamos ir e criar nosso botão de login. Então eu criar um novo arquivo na raiz neste vai ser log em que P H p não por muito tempo . Nesse ph. B, ele vai tipo de compartilhar algumas coisas com as outras páginas. Compreender? Para ir talvez editar. Vou copiar a primeira parte do bloco PHP. Por aqui. Nós alteramos o título nesta página é registro ou o usuário acelera Logan em? Estamos incluindo os mesmos arquivos sobre eu não preciso de nenhum dos sargentos de consulta. Remova esses rapidamente. Tudo bem, então essa é a parte superior da nossa página de login. Não, eu vou acelerar este vídeo e eu vou apenas ah, ir em frente e criar o formulário. E então voltamos e dissecamos juntos. Tudo bem, então eu fui em frente e criei este formulário bem rápido. E eu vou orientá-los através de algumas diferenças entre como este formulário vai se comportar e esperar que nosso formulário de inscrição se comporte. Então, primeiro lugar, eu estou ecoando o título porque, você sabe, eu estou apenas indo em cada um puxão ou cada vez que tomar Centro tem a declaração de eco nele para o título. E assim acabou. Títulos sendo impressos no início de sessão do usuário. Também o vemos aqui na nossa barra de título. A seguir temos Oh, sinto muito por isso. Temos a nossa forma com uma ação que parece totalmente diferente do que vimos até este ponto, mas ou método ainda é igual a puxar, então vamos voltar à ação nesta forma. Eu uso a mesa para ajudar com o meu layout. Então eu estou usando um TD para o nome de usuário ou para o rótulo e um para a caixa de texto. Onda. O valor aqui tem um pouco de texto, que eu vou voltar para. Então eu vou colocar em alguns alguns compartilhar uma mensagem com o exército e eu uso isso. Deixe-me tirar tudo de não para não para evitar qualquer confusão. Fiquei excitado quando fiz tudo isso. Sinto muito, mas vou colocar de volta e podemos passar juntos. Eu estou usando outro papel para os rótulos nos controles para a senha, e então temos ou enviar Button, que está batendo bloco batido primário sob um pequeno link de senha esquecido, e isso é o que ele renderiza. Tudo bem, então é isso que todo o tribunal faz. E esta é a nossa nova forma de transporte. Não, o que precisamos fazer é onde ele para que quando a pessoa clica em arrastar, ele se move para apelar. Essas verificações em, em seguida, executa uma ação. Eu não sei se você já percebeu, mas quando você clica quando você está usando um log, informar que você não pode se comportar de forma diferente da maioria dos outros formulários com um pouco de formulários. Passar para outro. PH, como fizemos com nosso registro no discurso de sucesso não são em termos fora do registro. Informá-lo. Tipo fora foi sentar no CMP essencialmente a mesma informação que você apenas tentou inserir até que você obtê-lo direito. Portanto, essa é a razão para este código de ação particularmente único, e eu explicaria isso. Em primeiro lugar, temos um servidor super verbal chamado, que nos permite dizer PHP auto-significando que eu quero esta página. A ação deve ser esta mesma página, não são tão dentro da ação. Se voltarmos para nossa página de índice, tivemos sucesso que PHP, que significa movimento que eu tinha em ir para o discurso. Quero entrar na circulação, independentemente do que se chama este discurso. Neste caso, é PHP. É registrar que o PHP, mas que o servidor PHP self vai dizer. Recarregar esta página e fazer a ação de postagem neste discurso, que significa que temos um pouco fora de aumento trimestre em que é realmente muito possível porque nós podemos realmente recarregar a mesma página em fazer outras verificações que fizemos no sucesso que PHP. Podemos fazê-lo no CMP para o formulário e, em seguida, tomou medidas depois. Então é isso que vamos fazer com o Login, porque ele estará se recarregando. É por isso que eu tenho este bloco de texto dentro da seção Value por usá-lo. Estamos vendo se a solicitação Metodistas postar, que significa que se as páginas carregando porque fora de uma ação post, ao contrário de nos encontrar clicando no link, então eu quero reimprimir qualquer coisa usando o nome foi inserido. Então é por isso que quando você clica em enviar, você pode ver a seção de senha em branco alta aviso. Pastor não tem o mesmo código, então o pastor sexual Blanco, mas você usa mais endereço de e-mail ou o que quer que seja ainda está nos livros didáticos esperando que você insira a senha do cartão. Então é isso que estamos tentando fazer aqui com esta pontuação. Acabei de perceber que não terminei de explicar o “eu “do PHP. Então, onde estavam postando de volta? Pé na página com o pH? Seja eu mesmo. Mas então você percebe que todo este super verbo está embrulhado dentro desta função. Entidades HTML em que entidades HTML faz este tipo de tira o texto que vai ser produzido por isso ele retira-lo de quaisquer caracteres especiais e potencialmente caracteres de milícias que muitos Atacantes ainda tipo fora injetar qualquer malicioso escola que eles poderiam querer. Então, esta mordida de tem a peça de pH do servidor de pH pedaço de tem algumas vulnerabilidades que podem ser exploradas. Andi ph. B. deu-nos esta função para reduzir a possibilidade dessa exploração. Tudo bem, então saiba que temos um melhor entendimento de toda a escola. Você sempre pode apenas repetir isso e você pode postar e ir em frente e reescrever seu formulário. Então lá você escreve como eu, ou você tem sua própria maneira de escrevê-lo nas partes chave que eu quero nosso que você obtenha a taxa de seção de ação e se a seção de valor é realmente opcional. Vamos nos certificar de que você começa a ação. Seis geradores, o que estamos prestes a fazer é muito vital. Certo, então nossa próxima tarefa é checar os dedos. Se os dados foram enviados por, ah formulário pós pedidos. Então, como eu disse, poderíamos navegar até a página clicando em log-in. Ou se eu clicar no botão enviar, ele também será recarregado. Diga, narizes. Eu cliquei. Está recarregando a página. Isso é por causa do self do PHP. Então eu preciso verificar se foi um botão longo que foi pressionado ou se eu apenas navegou lá . Então esta é outra maneira de verificar se fizemos isso na página de índice onde verificamos. Ele definiu ou se arrependeu no discurso de sucesso, certo? Desculpe por isso. Assim, na página de sucesso com marcada é definido post enviar. Então essa é uma maneira de verde. Outra maneira de fazê-lo é usar ou servidor super variável, alguns, na verdade apenas na barra de toda esta declaração if, como ele faz uma coisa muito semelhante. Excepto que não depende da presença que esse valor. Então este se baseou nas cervejas pai são postar variável chamada submits vindo. Se não houvesse nenhum envio, isso teria falhado. No entanto, isso é muito mais genérico. Onde ele está vendo há oposição? Não me importo com quais variáveis podem ou não ser. Havia seu método de solicitação chamado Post, e nós já dissemos que o método é igual a postar, que significa que uma vez que você clicar, enviá-lo irá acionar uma postagem. Andi, está indo para o pé. A ação é em si. Então não, estamos verificando. Está sendo carregado porque o botão de envio foi pressionado, então, se foi, isso significa que alguém estava tentando entrar, que significa que não, precisamos tomar alguma ação. Então a primeira ação que eu quero fazer é obter o nome de usuário no dia. Eu estou indo para usar para funções de manipulação de cordas lá, alguns usando str para menor e verdadeiro. Então o que eu estou fazendo é remover todos os espaços em branco do nome de usuário que está vindo através do post em. Então eu estou fazendo tudo mais baixo para que as chances fora do nome de usuário correspondente no banco de dados são muito maiores quando você sair, você sabe, manipulado e massageado. Então parece tão limpo como todo. Você teria histórias em um pouco de leste em, então isso está sendo armazenado dentro de fora usando ele. Então pegamos a senha, que queremos tomar exatamente da maneira que foi digitada. Então eu não vou tentar corrigir a senha de forma alguma, forma ou forma, porque essa pessoa deve ter digitado a senha. Exatamente nós que foi inserido no banco de dados da primeira vez. Então eu vou construir uma nova senha. Tudo bem, então eu vou introduzir qualquer variável. Estou chamando de nova senha, e gostaríamos que isso parecesse muito familiar. Estamos hashing a senha em usar qualquer combinação como fizemos dentro do nosso usuário dot PHP em. A razão para isso é que, se estamos prestes a verificar o negócio de dados, ver se a postura desencorajar e não podemos estar verificando o banco de dados contra a senha que a pessoa teria inserido no log informar o nosso Então, se eu ir para o log no ex-não , Eu digitando, admito que vou literalmente escrever na palavra senha porque é isso que eu definir meu pastor faz. No entanto, sabemos no banco de dados que a senha de texto não é o que é armazenado lá. Isso é o que a história lá. Então, sempre que vamos verificar depois que eu clicar, faça login e eu vou verificar o banco de dados. Preciso ter certeza de que estou checando o silêncio. O que quer que tenha entrado contra o silêncio, o que quer que esteja armazenado você não quer fazer isso, Universo, você não quer tentar e os estão em hash. Nós trocamos, descartamos. Você não deseja descriptografar a senha e, em seguida, tente verificá-la em relação ao texto sem formatação. Quer um haxixe? Sem texto simples. Em seguida, verifique-o em relação ao que foi armazenado. Os dois vão. Os dois hashes devem ser iguais. E só então você saberá que esse usuário existe. Então, tendo nossa nova senha, a próxima coisa é que queremos chamar nossos objetos de usuário. Tudo bem. Então, seta do usuário, em seguida, a função que eu quero chamar é obter usuário. Tudo bem, então deixe-me apenas ter certeza que estou fazendo a chamada certa. Então é obter usuário com o nome de usuário e senha. Então, em Logan, estou ligando. Obter usuário com usando nome e senha em. Não seria senha, mas seria nova senha. Tudo bem. Então, como a função não parece aqui, se está recebendo o texto simples ou está ficando rabugento, só quer saber o que ele tem. Dois parâmetros. Um para o nome de usuário e outro para a senha em. Então ele vai em frente e fazer suas verificações onde ele verifica para ver se há um usando ele com esse nome de usuário e senha com essa senha, que seria a senha silenciada que estava passando neste momento. Certo, então é claro que está retornando um resultado. Então precisamos do dedo do pé. mesmo resultado é igual a, hum há o que voltar depois deste carro de função ligado. Então, depois de atender a chamada de função, precisamos ver se eu entendo para ver se não resultados. Então já passei por isso. Podemos separar o negativo primeiro. Então, se não resultados significando que ele vai voltar ia retornar cai se nada e resultados. Então eu posso provavelmente posso modificar isso até ele. Então, se não resultados, então queremos eco do dedo do pé. Se pudermos errar. Então, entenda, para colocar eco desenvolvedor perigo uso mais. A senha está em quilates. Tente novamente. Então eu vou ver outra coisa. Andi, meu outro vai me fazer marcar uma sessão para o usuário. Portanto, a sessão já está criada. Way começou esta sessão quando dissemos iniciar sessão. Saber o que precisamos fazer é configurar variáveis dentro da decisão. Então nossa sessão realmente nos dá alguns super verbais que nos permitem definir valores para que eu possa super sessão variável. Tudo bem. Eu notei que todos os super-heróis têm aquele cifrão no placar em seguida, nossos bonés apenas no servidor decidir o post e obter etcetera. Mas o Sessional deve-me a ditar o que eu quero que alguém diga. Nome de usuário, sessão usando nome vai ser igual ao valor de qualquer nome de usuário foi apenas autenticado. Tudo bem, então esta é uma parte fora da autenticação. Então é o uso dele que foi muito demitido. Em vez disso, é verificado que ele está no banco de dados no pastor cartão não fornecido para que possamos criar uma sessão com esses nomes de usuário. Então esta variável de sessão vai Alois a loja para usar qualquer em para que não temos que voltar para o banco de dados a qualquer momento queremos usar o nome. Mas podemos apenas fazer referência à decisão onde quisermos em nosso tribunal. Tudo bem, então criamos um para o nome de usuário em. Eu só vou criar outro. Desculpe. Sobre quando criar outro para o i d então a sessão I d vai ser igual a on. Nós acabamos de receber os resultados, então eu posso realmente apenas dizer resultados em Olhe para o i d assinante e armazenar isso dentro disso . Então, mais uma vez, nossas variáveis de sessão são como uma era temporária de espera para qualquer coisa que queremos. Podemos deixá-los persistir durante as sessões dos usuários. Tudo bem em. Então, depois que verificamos o usuário e configuramos a sessão, a próxima coisa que queremos fazer é redirecionar nosso usuário da página de login em alguém para ver Loki Shun Colon e, em seguida, meu destino. Vamos apenas salvar seus registros ponto PHP são. Assim, uma vez que este usuário é verificado na decisão é criada, então podemos redirecioná-los. Então a view registra que o PHP. Tudo bem, então saiba que fizemos todo esse trabalho. Vamos ver se o nosso frio, sabe, é testar a nossa teoria como sempre fazemos. Então temos a página de login. E a expectativa é que quando eu parar em senha Onda admin, em seguida, clique em log que devemos ser verificados contra o banco de dados em, em seguida, redirecionado toe nossos registros visão que 50. Então, quando eu faço isso e clique em fazer login, nós fomos redirecionados. Então acontece que forro rápido. Você nem sabia que todo o núcleo que escrevemos entrou em jogo. Então o que aconteceu foi que quando eu cliquei Duggan, ele se recarregou. A página recarregou-se em seguida no topo da página ou no mar. É contra? Sim, é. Nossos anúncios me dão o usuário. Diga o nome da senha. Hash a senha Verifique se há um usuário ligado. Se houver, então nós, quando fizermos tudo isso chique, por outro lado, eu vou dar o pé. Volte para fazer logon. Vou colocar um usuário que não existe. Tudo bem, então. Quando eu clico em login, vemos que a página é carregada. Receberemos este alerta. Vendo usado um nome ou senha é incorreto porque colocamos nessa declaração que se não resultados significam que não recebemos de volta nada positivo a partir desta chamada, então nós só queremos em alerta que está usando um mais possível usando partes. modo geral, você não quer dizer a eles qual é encorajado porque você não quer resolver metade proposta para eles, certo? Então nós apenas dar-lhes esse alerta em Se você notar que o valor de nome de usuário que foi digitado permanece dentro da caixa de texto em que é porque fora o que fizemos aqui com o valor se é ação oposta, em seguida, reimprime o valor de nome de usuário que está lá Não é assim que é a primeira parte da nossa batalha resolvida. Agora, outro modelo rápido que precisamos fazer para mim é mudar esse registro. Então eu tenho que carregar. E se eu amo ser este têxtil e mudanças, eu quero mostrar contextualmente o registro de palavras ou o link para log versus Olá nome de usuário e um logotipo. Mas então eu vou voltar para o meu cabeçalho que o arquivo PHP no cara realmente começou esse processo já onde eu tenho o link de arrastar. Mas o que eu vou fazer é embrulhá-lo são propriedade em se declaração que vai verificar para ver se a sessão existe, não são assim que sabemos como verificar se algo existe. , Primeiro, depois foi acender um pequeno bloco Ph B. Tudo bem, sabemos que precisamos deles para suas declarações. Então vamos ver se em nós não devemos saber que para verificar o seu algo existe não são então eu vou dizer que não está definido. Certo, então estou checando se a sessão não existe. Tudo bem, então eu vou ver a sessão Super variável Onda. Tenho idéia de usá-lo, então sei que minhas decisões que estou criando dentro do meu registro estão usando ele. Tenho idéia de usá-lo, Andi, eu ficaria bem, então posso checar contra qualquer um. Porque a única vez que eles são criados é quando alguém está verificando no banco de dados . Andi é passada junto. Tudo bem, então no arquivo de cabeçalho, eu só vou dizer se não houver sessão com o nome fora da idee e eu não vou qualificar isso um pouco mais, eu não deveria dizer idéia do que dizer, usuário, Tudo bem, então não há sessão pelo nome usuário que eu d ou seja lá o que você chama de sessão, então eu quero tomar uma ação. Tudo bem, então não há sessão pelo nome usuário que eu d ou seja lá o que você chama de sessão, Alguém para amassar esse discurso sendo chamado? Não. Então esta declaração vai dizer que eu sou a garota. Tudo bem, Andi em frente. Depois vou imprimir o meu puxão de âncora. Então, se não houver sessão, eu quero imprimir a etiqueta âncora. E depois de fechar isso depois de abrir outro bloco PHP. Só as roupas que abriram a cinta. Tudo bem, então isso abriu Esta menina traz muito é este aqui, então isso vai ser apenas embrulhado. Então, há muitas maneiras que ele poderia ter chamado esta linha por si só. Isso é bom. Mas então, se você tem alguns azulejos de tio e assim por diante, eles podem ficar entediantes. Então é por isso que eu não escolhi essa rota. Então, se a sessão não existe, em seguida, exibir o login em então eu vou ver outro e, em seguida, abrir outro. Se vai calibri bloco de cinta cedo que entender muito perto. Na mesma hora, porque não quero esquecer. Tudo bem, Ana, coloque o errado. Tudo bem, então o mais vai acontecer entre este discurso bloco B neste discurso. Estamos bem? Então isso é entre 9 30 Ele on-line para dois agora. O que queremos exibir? Então, mais uma vez, estamos verificando. Se a sessão não existir, então queremos exibir o carregamento. Se ele existir, então eu não quero exibir o botão de login. Em vez disso, eu provavelmente mostraria o puxão de âncora. Este vai dizer barco de log sobre PHP. Então, é uma cabra de lei em Kurtag para ele em ir para exibir algum bloco fora texto e eu estou colocá-lo em um spanta fiado é uma boa maneira de apenas injetar algum texto em algum lugar em. Eu vou dizer olá no dia. Usando ele que eu quero vai ser armazenado dentro da sessão usando nomes para lembrar que no login, nós criamos uma variável de sessão com o uso dele. Então, em vez de eu ter que ir para o banco de dados toda vez depois disso para descobrir qual é o nome do usuário, eu posso apenas usar esse valor toe, representar usando ele, Então eu estou indo toe span Olá on den. Coloque em um PHP rápido. Então isso é uma grande coisa sobre blocos PHP. Podemos inseri-los em quase qualquer lugar dizendo olá. E eu fui para ecoar qualquer valor está dentro do e a sessão usá-lo no eu entendo para colocar uma exclamação dizendo depois disso. Então, em outras palavras, ele deve imprimir Olá. Olá? Quero dizer, com um lado de exclamação piratas e tudo isso estaria dentro do fiado na espinha seria adjacente à lei global. Então ainda não criamos o logotipo mijou, mas vamos ver se isso faz alguma diferença. Compreender? Para re fresco. Tudo bem, hum, vou tentar entrar. Quero dizer, senha de novo. Tudo bem, então vemos que estamos recebendo alguma quantidade de ação. Não é elegante, mas vemos “Olá”. Vemos admin e vemos um logotipo colocado. Tudo bem, então podemos voltar e estilizar Olá e administrador. Mas eu vou criar o botão do logotipo primeiro só para ter certeza de que temos nossas bases cobertas. Então eu vou ter amado no PHP entender? Para criar um novo arquivo. Chame-lhe logoed iniciar PHP. Andi acabou de ir em frente e colocar no tribunal. Então o lago dot PHP é realmente uma página simples que você não precisa de nenhum cabeçalho e rodapé e assim por diante , modo que o legal é que nós criamos essa sessão que PHP temos que incluir a sessão. Tudo bem, então eu posso apenas incluir diretamente sem ter o cabeçalho que não está ligado. Então preciso chamar a função que é a sessão dele. Destruir. Então começamos a sessão de início, e então temos dedo destruído. Então é ironia que tenhamos que começar a sessão que destruiu. Mas o bom é que uma vez que uma sessão, começou. Se isso é chamado uma segunda vez, vai saber que foi iniciado. Então é por isso que temos que chamá-lo aqui. Então ele sabe que tudo bem, uma sessão já está em andamento. Então destruirá qualquer estação em andamento, depois realocará os diretores do Ari. Então, o ph índice são tão se eu ir em frente e clique cabras lei do que as expectativas de que toda esta seção vai ver Olá, administrador. Desculpe, ele vai ver um login mais uma vez. E lá vamos nós. Então, o login é restaurado, clicamos em login e vamos em frente e colocar em um usuário que existe senha Admin login e , em seguida, obter um contexto para um 1.000.000. Então essa é uma maneira rápida e agradável de criar contexto. Seu menu nesse menu existirá para todas as outras páginas até clicarmos em barcos de amor. Tudo bem, tudo bem. Então, de volta ao arquivo de cabeçalho, eu apenas fiz uma mudança rápida onde eu replicei o mesmo no Qatar. Brilho. Então, em vez de ter o nosso espaço para um dito e, em seguida, o apetite para outro disse, Eu apenas incluí a mesma conversa tio e eu coloquei que span leva dentro do puxão âncora em seguida no e verdadeiro se eu apenas fez isso em nós com a hashtag senta um link morto. Certo, então quando os muitos senhores, vemos que parece mais sensato do que antes, , e mesmo para o críquete, nada acontece. Há um link, mas o barco do amor ainda funciona. Tudo bem, então isso conclui nossa primeira ou segunda parte fora de configurar nossa autenticação de usuário após este órgão começar. Na verdade, Tung Ping Doan em quais páginas exigem log in Ondo, quais deles Don 18. Controlar o usuário em um aplicativo de PHP: Pessoal, Pessoal, neste vídeo, vamos adicionar algumas páginas de Coto para garantir que verificamos se há uma sessão de usuário ativa. Quando alguém tenta navegar para essa página, se houver, então permitimos que ele vá para a página. Se não, então os redirecionamos para a tela de login. Agora, em nosso site, temos algumas páginas que gostariam desse tipo de restrição no dia todos começam com bem , os participantes da exibição. Então ver registros que PHP em Dover. Adicionar Andi excluir e atualizar páginas. Eu não tenho nenhum participante aqui no meu banco de dados agora, então eu estou apenas em quando e rapidamente em um. Tudo bem, então acabei de criar um novo participante. Eu só fiz isso para que pudéssemos ver a vista em sua elite final. Então, mais uma vez, nenhuma dessas páginas deve ser acessível como registros de visualização que o PHP visualizou nosso ph. B reddit dot PHP e exclui que pH ser A única maneira que alguém deve chegar a essas páginas é se eles são usuários autenticados em. Então nós vamos fazer algumas pequenas mudanças de acordes para realizar isso na primeira coisa que eu vou fazer é incluir. Então, porque é o mesmo tipo de mudança que vamos fazer em várias páginas vez de reescrever esta pontuação cada vez, porque a quadra vai parecer praticamente da mesma maneira. Eu só vou criar um novo arquivo de inclusões no. Vou cancelar este no placar. Verifique esse PHP. Tudo bem, então em off check off curso deste cliente, nós começamos com nossas tags PHP e dentro deste off check, eu vou apenas fazer Ah similar se declaração o que fizemos em nossos arquivos de ponto PHP assim em então em off check off curso deste cliente, nós começamos com nossas tags PHP e dentro deste off check, eu vou apenas fazer Ah similar se declaração o que fizemos em nossos arquivos de ponto PHP assim em para fora. PHP. Nós meio que não fizemos sua declaração para ver se há uma sessão que existe sobre isso. Vamos ver se a sessão para a ideia do usuário existe ou não existe. Em seguida, exiba o botão de login. Caso contrário, exiba o nome de usuário Olá em bolas Laval. Então, nesta situação, eu estou fazendo uma coisa bem semelhante onde eu só vou ver se estou indo para verificar para a minha sessão. Andi, eu posso usar a idéia do usuário pode usar o nome de usuário, então eu só usar o usuário I d desde o usado última vez. Então, se Andi eu deveria estar vendo, se não está definido Então se esta sessão não existe porque você eventualmente nós estamos verificando para ver se ele não leva isso. Então eu estou dizendo, se não está definido se isso Se o que não existe na coisa que estamos procurando a existência off é ou uma sessão com, ah com um subscript chamado usuário i d se isso não existe significando que isso não foi criado em qualquer ponto. Isso significa que a pessoa não é amor Been então eu vou dizer cabeçalho e, em seguida, definir o Loki seu filho para ser log in dot PHP carro. Então isso é apenas fazer uma simpatia. Se a instrução central, se não houver nenhuma sessão ativa com esse nome de usuário com essa sessão eu d ou seu subscript em vez disso, nós só queremos realocar Teoh nossa página de login e saber que eu tenho isso configurado na verificação off. Eu não posso incluir seu em qualquer lugar que eu preciso este cheque feito para que eu possa começar com registros de espectadores . Andi, no topo deste discurso depois que eu exijo hitter em Exigir Didi Conn e lembre-se que cabeçalho teria incluído decisão começa ou o que é amable fazer tem que fazer depois incluem hitter porque cabeçalho apenas trazer o todo Rapidamente. Inclui cabeçalho que o PHP meu cabeçalho tem a sessão começa. Qualquer coisa que tenha a ver com uma sessão que eu tenho que fazer após o início da minha sessão que é na minha sessão que PHP Então eu só vou ver de volta no meu arquivo de registros de visualização depois que eu incluir o cabeçalho que teria incluído a decisão começa. Eu só vou incluir com eu querendo uma vez o nosso exigir alguém para exigir sublinhado uma vez que o meu off check on off no placar Chick pH abelhas estavam indo apenas para ver. Existe uma sessão ativa? Leia Eric. Então isso significa que depois que eu incluir o cabeçalho e todas essas coisas maravilhosas vai apenas verificar rapidamente e dizer, a pessoa que está navegando aqui é autorizada ou direita, ou isso é bem-estar pessoal? Se a pessoa estiver logada, então, enquanto nada acontece se não estiver significando, se essa variável não existir, essa sessão subscript não existe, não deseja realocá-los para o log in dot que o pêssego PHP está ligado. Então eu posso fazer essa mesma verificação em praticamente todos os outros buracos, então eu posso apenas tipo de ver que PHP e eu vou ir em frente e incluí-lo aqui mesmo. Sucesso. Isso é bom. Nós já estamos lida com sucesso que queremos restringir e alguns apenas incluí-lo no cabeçalho cada vez que eu quero que ele na exclusão. Então ninguém deve tentar e acreditar em uma página ou em nosso registro alguém para fazer isso primeiro. Lembrem-se, os Leeds eram muito simples. Não colocamos em lugar nenhum, na verdade. Dê um cabeçalho e um rodapé. Você só tem que os colegas fazendo essa operação e se mudando. Mas então o fato é que ninguém deveria estar digitando Bleat passando em um I d on. Eles não estão autorizados a fazer isso. Certo? Então vamos colocar este cheque fora antes mesmo de verificar a presença fora do I.D. se você se lembra do Hole, o núcleo foi escrito. Certo, então editamos “Excluir “mudou. Andi, acredito que Owen visualizou e visualizou relatórios, então isso deve ser suficiente. Vamos atualizar a página. A Andi. Ok. Estou recebendo um erro Oh, meu Deus. Era sobre a Srta. Tirou o meu. Eu sinto muito. Eu não tentei incluir barra. Tudo bem. Então os erros que a parte final estava errada. Então eu vou em frente, Andi, atualizar todos os arquivos que eu teria colocado o saco. De acordo com o inclui barra off cheque e não apenas off check. Certo, assim que fizerem isso , devemos ser capazes de nos refrescar. E então vemos apenas atualizando ele foi direto para a tela de login. Então deixe-me acreditar de trecho. Então eu estou aqui no formulário público e, em seguida, e foi tentar clicar em ver registros. O off check teria sabido que eu não sou amado Insiders me redirecionou Então registrando que PHP Se eu digitá-lo diretamente na URL é o mesmo efeito. Se eu tentei ir para o pé editar esse PHP, é o mesmo efeito porque off check está sendo executado em cada um desses discursos. Se eu demorar e colocar meu usuário de administrador e a senha, então eu serei redirecionado para. Em seguida, a verificação off saberia que eu sou amado em cada vez que eu tentei fazer algo certo , então, se eu amo barcos, até mesmo Norman ver registros quando eu clicar em Love Boat, ele só vai me redirecionar para indexar em. Em seguida, restringir-me mais uma vez de chegar ao campo até eu entrar. Essa é uma maneira agradável, rápida e fácil de desligar quem pode ver o que está no seu site. Você pode empurrar o envelope um pouco, talvez incluindo regras sobre, em seguida, no mesmo off verificar você Ken. Bem, você provavelmente não escreveria isso se você entrasse em regras. Você provavelmente não escreveria todo o tribunal aqui, mas fora de cheque, pelo menos você está verificando. A pessoa está conectada? Então, se eles estão conectados em qualquer tipo de lógica adicional para dizer, OK, papel de observação. Eles estão em como um usuário em? Então restrinja-os de acordo Certo, então essa é uma maneira agradável, rápida e fácil de resolver. Restringir quem gênero o que está no seu site 19. Enviar e-mails usando o SendGrid para PHP: Ei, pessoal, neste vídeo vai estar configurando um envio de e-mail para o nosso sistema de registro de conferência I T . Agora, o contexto para um envio de e-mail é que quando alguém sente tudo isso ou recebe é um discurso de sucesso, você só recebe um pagamento. Juízes Ei, obrigado por se registrar, mas eles realmente não têm nenhuma prova tangível. E a maneira mais fácil de dar a alguém uma prova tangível ou preencher um formulário eletrônico seria enviar-lhes um e-mail confirmando que eles concluíram a ação com sucesso. E assim, neste vídeo, vamos estar configurando nosso aplicativo de atendimento. Tal. Quando alguém clica em enviar, ele carregará o discurso de sucesso e também enviará por e-mail para qualquer endereço de e-mail que ele teria fornecido durante o processo de registro. Agora, quando se trata de PHP, existem algumas opções que você tem. Você pode realmente ir para o seu PHP que eu e eu arquivo que é chamado. Se você ir para alguns e na linha do Apache você para configurar, então você veria o PHP que eu e eu arquivamos neste arquivo. Você pode realmente configurar algumas configurações SMTP. Então, na NFL. Eu só procuro por SM TP TP nele me trouxe para onde a função masculina pode ser configurada. Você pode configurar esse nome de servidor nas portas, que é, por padrão, 25. Mas o que você realmente deseja muda o dedo do host local no servidor SMTP real talvez tenha entrado em outras configurações que permitiriam que você despache alavancagem desse servidor SMTP para despachar e-mails. Outra maneira seria usar a biblioteca envie-me uma biblioteca, que é uma biblioteca PHP popular. Mas mais uma vez, isso é um tipo de exclusivo para o seu Zampa e você está aproveitando no servidor SMTP como talvez refeição G ou yahoo se não um que é, você sabe, local para o seu contexto neste tutorial, entanto, estará usando esta biblioteca de terceiros chamada Send Grid, que é na verdade uma adição em que podemos obter em Hiroko. Então lembre-se que mencionei que queremos manter nossa aplicação como homogênea. Isso é possível ou, você sabe, um único usando tecnologias singulares, tanto quanto possível. Então enviar grade é ah é outro em que Haruko oferece que nos permite alguns e-mails que eu estou em gratuitamente . Então, para o propósito fora deste ouvir estará usando esse serviço gratuito apenas como ciente usando o serviço gratuito Heracles em. Em seguida, vamos ver como podemos integrar com esse e-mail de terceiros barra software de envio de SMS . Você conhece nossa aplicação PHP. Agora, se você ainda não fez isso, então você precisa obter compositor, que você pode voltar congelado, também. Obter compositor dot org em Há uma busca de vídeo anterior e sua cabeça de volta nos vídeos onde eu mostro como instalar e configurar. Compositor Não há muito a fazer. Você tipo de liso não Senhor, e ele vai lhe dar um arquivo ah Executar herbal, que você pode simplesmente executar um compositor de instalação em seu aplicativo. E então, tendo feito isso, você sempre pode ir para o prompt de comando em Basta digitar a palavra compositor Andre. E se conseguires isto, isso significa que não está instalado. Então eu só me lembro que esta é a minha máquina de recuperação, então eu vou realmente ir em frente e instalá-la para você ver. Então nós de volta ao get composer dot org pode distritar em Lord Andi Se você está em um computador Windows , basta obter o instalador do Windows. Vá em frente e executar que executa arquivo de ervas, e é bastante simples. Você só precisa clicar em Avançar. Próximo. Vamos perguntar onde está o ambiente PHP. Você realmente não precisa fazer muito, exceto clique em próximo, e uma vez que você terminar, você apenas gosta terminar em. Em seguida, você pode trazer um CMD puro e toque no comando que você pode precisar para re iniciado se você tinha aberto antes. Então, uma vez que você está abrindo e você digita compositor, então você vai ver Bem, uma vez que você está vendo isso, então você sabe que ele está instalado corretamente se você não vê isso do que há algo errado. Certo, agora que temos o compositor instalado, o que queremos fazer é usá-lo, adquirir o código que nos ajudará. O acesso que o serviço de terceiros chamado de grade de envio, que é uma parte fora da Heracles. Hum, eu não ofereço ofertas. Não, o propósito do compositor é a gestão de pacotes. Tudo bem. Então, de tempos em tempos, você pode precisar usar bibliotecas de terceiros que não estão incorporadas no PHP. Andi, você sabe, eles são acessíveis pela Internet. Mas então, em vez de ir e caçá-los para baixo e tentar integrá-los, o que compositor baixa você fazer é apenas executar alguns comandos aqui na linha de comando. E, na verdade, foi “Go out”. Fonte. A versão mais recente da entrega de terceiros. Ondo. Ninguém está no seu projeto. Então, para começar esse processo, precisamos encontrar nosso caminho até nosso produto, que está em C zam, pelo menos no meu contexto. Ele semeia algumas docas HD e, em seguida, dentro das docas HD. É assiduidade. Tudo bem, então saiba que quero dizer atendimento. Eu vou digitar o comando que o compositor exige no nome da biblioteca é enviar Grid vai apenas dizer que pecado, ganância barra enviar grade E então uma vez que pressionamos Enter, você pode ver alguma magia acontecer. Agora, se você ver se você obtém esse tipo de resultado onde ele está instalando e 100% isso significa que esse processo foi concluído com sucesso. Se você trazer o seu projeto em código de estúdio visual ou se você bro Stewart e explorar, então você vê que algum novo rápido apareceu. Então você terá um compositor dot Js no arquivo, que é Bem, este é o nosso pacote de gerenciamento de arquivos, então essencialmente o que podemos fazer. Cada vez que você usa compositor para adquirir 1/3 biblioteca partido que é Bem, este é o nosso pacote de gerenciamento de arquivos, então essencialmente o que podemos fazer. Cada vez que você usa compositor para adquirir 1/3 biblioteca partido , irá adicionar uma linha para este arquivo dizendo que esta é uma biblioteca que nós sabemos metade certo, , Então se eu quisesse uma versão menor, eu poderia mudar esta versão e então executar um arquivo compositor, e ele iria automaticamente e fonte a versão que eu queria e, você sabe, descartar este e adquirir aquele. Assim, o compositor torna as bibliotecas de fontes em versões muito, muito fácil. Então temos um compositor, Jason File. Temos um arquivo de bloqueio de ponto do compositor. Você tem que passar muito tempo tentando entender o que tem nisso. E então também temos uma pasta de fornecedor, que tem outra pasta com tudo desligado. A dependência é para nossas atividades de rede de envio. Tudo bem, então saiba que não carregamos a biblioteca localmente. Vamos para Hiroko adicionar esta biblioteca aos nossos altos, entender o tipo aqui. Oh, legal. Não está ligado. Vá em frente e faça o login. Tudo bem. Então eu vou selecionar o up com o qual estamos trabalhando, que, qual estamos trabalhando, que, no meu caso, é a presença de traço PHP em. Em seguida, vamos em frente e configurar o anúncio em Então sobre a visão geral PUC instalado Adan e você pode clicar em Configurar Adan On. Então podemos procurar enviar. Ótimo agora. Uma vez que isso surgir, podemos distritar provisões em Douala Sem Pecado. Grady está longe do seu herói. Mas ainda temos alguns passos, então temos que clicar na grade de envio que irá lançar uma nova guia. Andi, adoro entrar no painel de notas de envio. Agora o painel do senador vai pedir-lhe para verificar as suas actividades aqui. Identidades. Andi Bem, podemos ir para a festa. E se isso não acontecer, então se você for para configurações em, em seguida, chaves do FBI, que é o que nós realmente estamos interessados, ele irá solicitar o uso IR que eu já tenho em uma chave p I, mas ele irá pedir-lhe para verificar seu endereço de e-mail. E então isso pode levar alguns momentos. Aguarde esse e-mail e verifique a si mesmo e, em seguida, pode seguir estes passos novamente. Então, uma vez que você está em centígrado, o que você deseja fazer é ir para configurações em uma tecla P I em. Então eu vou descartar isso um p I key em. Vou criar um novo só para concluirmos essas atividades. Então nesta página onde diz começar com um P. AKIs , você vai em frente e clica em criar uma tecla P I, que está no canto superior direito. Isso vai lançar um pouco mortal nos perguntando o que exatamente você quer para que possamos dar a chave A P I e nomear alguém para apenas chamá-lo de e-mail. Algo simples não tem que ser um novo nome. Então eu vou usar acesso restrito porque eu realmente não preciso de todos os recursos que eles têm a oferta. Eu realmente só quero que as coisas simples para enviar um e-mail. Então eu fui dedo grosso, restrito acesso restrito e, em seguida, sob detalhes de acesso, eu vou soltar correio enviar em, então eu vou selecionar refeição pecada em. Então eu também vou selecionar a atividade de e-mail e eu vou clicar nessa. Então, uma vez que se torna azul, você sabe que você selecionou em, em seguida, no final off que eu vou dizer criar e ver em, em seguida, este discurso aqui desagradar a minha chave p I para que você possa apenas clicar neste espaço para copiar o seu clicando. Ele vai copiá-lo, mas eles dizem por razões de segurança que não vão mostrá-lo novamente. Então certifique-se de guardá-lo em um lugar seguro. Caso contrário, você vai ter que repetir esse passo se você perder esta chave porque eles não vão mostrá-la para você novamente. Então, ou copie e histórias aqui, ou se você esquecer que você tem reboque, descarte-o e depois faça de novo. Tudo bem, assim que eu tiver essa cópia, eu posso clicar feito. E eu vou guardar isso em algum lugar seguro para uso futuro de arte. Então projeto Backdoor. Vou começar criando um novo arquivo no. Vou ligar para este arquivo. Enviar e mail dot PHP em, Então eu vou ir em frente e colocar em minhas tags PHP costume na primeira linha desta luta vai ser uma exigência em. Vamos exigir um novo arquivo que teria vindo com ou compositor chamado Also Senhor, que é encontrado em nossa pasta de fornecedores. Saiba que nós incluímos mais arquivos compositor e este arquivo realmente nos dará acesso a certos arquivos específicos Enviar ganância, que você verá um Z ir junto em seguida, eu vou criar uma classe sobre. Vou ligar para esta classe e enviar um e-mail como o arquivo desta classe. Eu não vou ter um instrutor, mas essa construção, er desculpe. Mas em vez disso eu vou ter uma função singular, que eu vou fazer alguém estático para dizer função estática pública. E vou explicar o que significa estática daqui a pouco. Então eu vou chamar essa função, enviar e-mail, não enviar e-mail, mas enviar refeição. Não, um telefone estático mostrado praticamente que não requer o dedo do pé no Stan. Ela no objeto no objeto fora do tipo, Enviar e-mail. Tudo bem, então se você se lembra, toda vez que usamos a classe, tivemos que ver classes ou algum objeto é igual a uma nova instância dessa classe, e então podemos acessar as funções quando fazemos uma função estática em vez de classe. Nós não temos que fazer essa parte totalmente nova, mas podemos simplesmente chamar o nome da classe e, em seguida, usar um operador de resolução de escopo local para apenas acessar o diretório Function. Mas vamos ver isso à medida que avançarmos. Não, para manter o nosso filho do telefone dinâmico, vou colocar três parâmetros. Queremos os dois, que é para onde este e-mail deve ser enviado. Queremos o assunto. Queremos conteúdo. Não, a razão pela qual eu estou fazendo isso dessa maneira é que eu quero que essa função seja genérica o suficiente para ser usada em várias, você sabe, operações. Então, talvez quando criamos um novo usuário, enviamos um e-mail para o usuário que foi criado. Quando criarmos. Quando alguém se inscreve para o nosso evento, podemos usar a mesma função para enviar esse e-mail para que eu não tenha que escrever para o tribunal toda vez que precisamos dele. O que? Chamamos isso de funcional estática. Tomamos os dois como um perímetro que podemos enviar e você se baseia no contexto. Em Dwell, o conteúdo do e-mail pode ser dinâmico. Também agora, nesta função, a primeira coisa que vou declarar é o é uma variável para a nossa chave. Agora eles são provavelmente maneiras mais elegantes de fazer isso. Mas estou usando menos resistência, então estou definindo a chave nesta variável. Então eu vou usar esta chave para enviar o acesso no processo de grades são parte Fung filho. Eu vou usar essa chave para acessar grades de envio, enviar função de e-mail, mas a primeira coisa que precisamos fazer ou será a segunda coisa que você precisa fazer é construir no objeto off tipo novo em. Vamos usar uma barra invertida e dizer Enviar grade, ou é uma barra direta? Não sei qual deles é. O Sin grade barra refeição barra refeição abrir e fechar parênteses. Então esta é uma classe que sabemos ter acesso porque incluímos nossos carregadores automáticos Ph. B. Então não podemos acessar este vidro, que veio através do nosso compositor instalado fora. Centralizá-lo em. Não, este objeto de e-mail é uma instância fora da nossa refeição do Sin Grid. O Klaus. Então, em seguida, podemos dizer anuidades de e-mail são estreitas e, em seguida, sentamos o de Então você diz, Você sabe que endereços de e-mail isso vindo de Você pode praticamente colocar qualquer coisa lá, então eu vou colocar meu próprio endereço de e-mail. Então, se estivéssemos executando uma conferência real, então você provavelmente colocou o endereço de e-mail fora da conferência ou a Enterprise colocando na conferência, e você pode colocar algo aqui para ver o nome fora da pessoa ou da empresa Amigo. Então, se foi uma resposta não, mas você não queria que nenhuma resposta aparecesse, você ainda poderia escrever I t Conference Enterprises. Mas é um sem respostas que eu não posso fazer conferência ponto com, você sabe, só para discussão. Vês? Tudo bem, a próxima coisa que queremos fazer no e-mail é definir o assunto para que possamos dizer Set, assunto. E então aqui podemos apenas passar em nosso assunto. O que quer que esteja vindo como um valor de parâmetro aqui, podemos passá-lo para o assunto definido em. Em seguida, podemos fazer o objeto de e-mail novamente e, em seguida, adicionar a onde estamos adicionando a. Então, o que quer que seja que valor veio como o endereço de e-mail a ser despachado para o e-mail a ser despachado. O reboque estava neste parâmetro em. Em seguida, ele é adicionado ao objeto emir, usando esse telefone filho, e então, finalmente, nós podemos adicionar conteúdo. Não, a variável content requer parâmetros da ferramenta. O 1º 1 é o tipo de conteúdo para que eu possa ver barra de texto jogando. Se eu estou apenas enviando, você sabe, como uma frase regular ou string regular se era suposto ser HTML do que eu teria ver, como texto barra html em vez disso. Tudo bem, então você pode escolher o tipo de conteúdo que você está enviando. Só não se você escolher a barra de texto, mas então você envia conteúdo adicional. Em seguida, o canal não será renderizado no e-mail, então as pessoas estarão realmente recebendo puxões em cada uma vez em qualquer carta. Se você escolheu texto barra html e enviou sobre uma telha, você poderia realmente formar no HTML tal que ele fica renderizado no e-mail da pessoa apenas da maneira que você pretendia que ele seja processado. Mas para este exemplo, eu deixo um avião em estacas e eu vou então dar-lhe o conteúdo que teria vindo para cima naquele telefonema. O próximo passo, tendo construído sobre objeto de e-mail, é chamar a nossa classe de grade de envio. Então eu vou criar uma variável. Eu estou chamando de Send realmente pode chamá-lo de variáveis o que você realmente quiser. Mas então é novo, e então é barra enviar grade no Scepter s Capital G em. Então vamos passar o valor da chave. Tudo bem, então você vê uma série de exemplos online. Algumas pessoas criam o que você chama de arquivo de ambiente e, em seguida, colocam a chave no arquivo e , em seguida, carregam isso através do auto modificado. Muito baixo naquele ambiente, chave no reboque, grelha de incêndio criminoso. Então seu número fora de maneiras de realizar isso. O que? Mais uma vez, eu só quero o bom rápido, rápido, rápido. Então eu só estou ajudando você a usar a fonética para este serviço rapidamente. Então, como de costume, colocamos em nossa captura de tentativa para garantir que e se algo der errado, pegamos essa exceção e podemos depurá-la. Então vou deixar a exceção como genérica. Eu não quero esses convidados especiais. Que tipo de exceção? Estamos à procura da Andi. Fora do curso. O que queremos fazer se pegarmos uma exceção, é ecoar a exceção na mensagem. Tudo bem, então este é um de um pouco mais verbal alguém para dizer. Exceção por e-mail. Exceção por e-mail. Berços. Certo, então imprimimos a mensagem e retornamos cai, então seja lá o que for chamado de disfunção, caso contrário, queremos tentar. Vou chamar uma variável chamada Nós vamos criar uma variável chamada Response on. Então esta variável de resposta está indo toe ter enviar ganância iroh no brilho telefone, Enviar em O que estamos enviando é o nosso objeto de e-mail. Então vamos passar por isso de novo. Temos a chave porque esta chave nos dará acesso ao FBI. Então não compartilhe essa chave com ninguém. E quando você estiver fazendo, esse tutor dessa chave não existirá mais. Então sugiro que pegue o seu próprio e faça você mesmo em vez de tentar copiar este. Mas você disse que a chave em, em seguida, você construir o objeto de e-mail por em San enchendo um novo objeto off sen grade refeição em refeição em. Em seguida, definimos o de nós definimos o assunto. Nós dissemos que a ferramenta e você pode adicionar quantas ferramentas você precisa para que você possa ter várias, também, também, Hum, porque com valores diferentes espero que seguro, você tem que enviar as várias pessoas ao mesmo tempo. Você poderia em quantos você precisar. Em seguida, adicionamos o conteúdo, e mais uma vez o conteúdo pode ser limpo ou pode ser. HTML é entender. Para copiar isso no comentário, ele vai apenas para mostrar que poderíamos enviar html também em, então nós Em vez disso, ela enviar grade como um novo objeto. E então chamamos a função enviar e entender que dentro fora resposta sobre o que eu vou retornar é o objeto resposta. Não, Http tem tribunais de resposta diferentes. Os mais comuns são 404 que é quando você tem ah, pedido que não foi telefonado ou 200 quando tudo estava bem. Eu acho que o Sin Grid foi enviado de volta para, que também é um Ok, isso é como, isso é uma boa resposta. Para ter. Então, estaremos procurando uma ferramenta para responder em um carro de função bem-sucedido ou nossa ação a partir desta chamada de função. Tudo bem, vamos. Se conseguirmos algo sobre isso até duas, talvez 300 ou 404 100 seja melhor busca caso algo esteja errado. Então, estaremos cuidando de todas essas coisas Agora o próximo passo é modificar nosso sucesso pago. Então eu estou indo apenas para ir e encontrar o sucesso que o PHP no dine precisa dedo do pé fora do curso, fazer o sucesso ciente off para um novo garoto no bloco que é enviar e-mail um PHP então eu vou exigir enviar e-mail sob o DB con. Eu só vou mudar aquele velho enviar e-mail que PHP em então, tendo feito isso, eu posso apenas modificar o tribunal que diz que seu sucesso significa que o participante Bean adicionado ao banco de dados com sucesso. Se sim, então mostraremos a mensagem de sucesso. Mas eu só vou enviar esse e-mail antes. Então não, eu posso dizer Enviar e-mail. Tudo bem. Suzie Intestines está me ajudando em seguida em meus dois Coghlan, que é o operador que eu mencionei anteriormente em que podemos apenas chamar a função enviar refeição . Então este sou eu chamando essa função nesta classe sem precisar de dedo do pé. Crie um objeto totalmente novo. Andi opera assim. Certo, então essa é a vantagem da nossa classe estática. Então o envio de refeição forma Chantix três parâmetros, ele experimenta um, que é os dois. Então eu estou apenas passando ou e-mail variável, que é para onde queremos enviar o e-mail toe que leva. Deixe-me lembrar-me rapidamente que é preciso um assunto. Então eu vou escrever o texto estático que você tem com sucesso, tudo bem, que ela em vez disso eu sinto muito. Então, é bem-vindo à AT T Conference 2019 para o assunto sobre, então nosso conteúdo será que texto você deseja? Você se inscreveu com sucesso para a conferência de I T deste ano e observe que essa barra de costas onda uma postura bem, único tribunal aqui porque sem a barra invertida, ele meio que perderia o fluxo da minha corda. Então, quando eu quero colocar um único tribunal dentro do texto, que é começar e terminar com single puts, eu posso usar minha barra traseira. Tudo bem, então a expectativa é que uma vez que alguém preencha o formulário, eles passaram para o discurso de sucesso que encontramos esse sucesso bem, disparar aquela onda de e-mail que estaria transferindo para o usuário. Eles só receberiam aquela mensagem de sucesso. De qualquer forma, uma coisa que eu vou consertar, entanto, é que especialidades porque a especialidade mostrando que eu d. Com base na base de dados, eu estou realmente indo para corrigir isso rapidamente antes de testarmos isso. Então, para resolver isso rapidamente, eu só vou para a multidão Andi. Vou encontrar a função. Bem, eu acho que eu teria que criar uma função para obter especialidade por I D. Então eu tenho um que diz, Obter especialidade alguém para rapidamente criar um só para obter a especialidade por I d. eu acho que eu teria que criar uma função para obter especialidade por I D. Então eu tenho um que diz, Obter especialidade alguém para rapidamente criar um só para obter a especialidade por I d. chamar este, recebe especialidade por I d Passar novamente e eu d parâmetro modificou a instrução SQL um pouco para ver você começar a partir de especialidades eram especiais. A idéia é igual a apenas eu d em seguida eu fiz. Embora as coisas maravilhosas que você faz onde você se prepara, vincular todos os parâmetros e, em seguida, executar a sua declaração, Andi Então, no discurso de sucesso, eu modifiquei Obits dedo incluem o telefone mostrado direito chamado sob o Sucesso Leste Isso é realmente muito. Ou onde você coloca isso, desde que você está passando mais cedo chamando a função e você está passando em que eu d que ele precisa em, em seguida, a mudança final. Quero dizer, foi em vez disso ecoar as postagens como éramos antes. Eu não estou ecoando a coluna de nome voltando do resultado que foi armazenado em nome de especialidade depois de fazer aquele policial de função. Então essas são as mudanças. Eu só quero dizer, Então nós estamos indo para ir em frente e preencher este formulário em, ou nós podemos apenas dar-lhe um re rápido fresco para que tudo é agradável e fresco sobre. Então eu vou seguir em frente e preencher este formulário. Tudo bem. Então Archibald Douglas colocou todas as informações dele. Ele é, ah, administrador do sistema em seus endereços de e-mail. Procedimento de empréstimo um. Qualquer noite no Gmail Dot com, seja lá o que for. E então vamos em frente e pegamos submissões para que possamos ver aqui que pelo menos nossas pedreiras correndo , porque não estamos vendo o único artista ou o número. Mas estamos vendo o administrador do sistema de palavras sobre isso implicaria que a operação foi concluída com êxito. Não, você pode dar a isso alguns momentos, mas o que eu queria fazer é passar por cima para enviar grade em, verificar se o e-mail foi apesar para que você possa ir para a grade de pecado em. Se você estava no painel antes, então você pode ir para a atividade. Então, se você clicar na atividade à esquerda, em seguida, ele irá trazer todos os e-mails que foram enviados pelos cones. Usando sua chave P I, Andi vai te mostrar para casa. Todos os e-mails que você enviou para o mês abaixo são cones. Então eu tenho alguns aqui porque, bem, eu uso o serviço. Então, você sabe, eu teria alguns, você pode não ver tantos, e se você ainda não vê nenhum, então você pode atualizar até vê-lo. Além de verificar seu e-mail, você também pode querer verificar seu e-mail porque ele provavelmente iria para spam. Então, você deseja, se você não vê-lo à primeira vista, do que você deseja verificar o spam apenas para ter certeza de que ele foi realmente despachado. A Andi. Se tudo isso se sente, então você pode querer verificar o seu firewall porque há momentos em que as configurações de firewall impedirão que os e-mails sejam enviados de sua máquina local para talvez eu deva dizer que de uma maneira diferente. Às vezes, as configurações do firewall impedem que o A P eu chamo seja bem-sucedido, então isso tem algo para mim antes. Mas costumo ter sucesso retumbante. Quando eu tentar isso. Nós vamos, tendo hospedado aplicativo em Hiroko. Tudo bem, então, como confirmação, aqui está o e-mail que acabou de ser enviado. É ver boas-vindas Toe Eddie Conference como um assunto que definimos enviado para o meu endereço de e-mail no texto que definimos no e-mail. Então isso é apenas a confirmação de que funcionou, e isso foi da minha máquina local. Mais uma vez, você sempre pode verificar suas configurações de firewall ou publicar um heróico ou para se certificar de que ele funciona. Então, para encerrar este vídeo, eu vou publicar o heroico ooh publicado para obter um milagre publicado em Apenas testá-lo mais uma vez. Então a primeira coisa que vamos fazer é trazer para cima, obter hub para aquela parada. Não, estes são alguns vídeos desde que eu publiquei qualquer coisa a sério, que eu tenho algumas mudanças 182 para ser exato. É sempre recomendável que você faça as alterações e confirme que suas alterações funcionam. Você verifica em seu tribunal para nunca chegar ao ponto em que tenho 182 galinhas para mim só porque você não estava verificando em seu tribunal. Certo, então essa é a minha recomendação. Mas para a situação, vou fazer uma grande verificação. Eu vou ter um enorme resumo onde eu adicionei autenticação do usuário desde o último frango na matriz também adicionou e recurso de envio de correio. Tudo bem, então é isso. Essa é a galinha que estou prestes a fazer. Vou empurrar isso para dominar. Dê alguns e depois que eu empurrar o mestre para o meu repórter local empurrar a origem do dedo do pé. Então ele vai se levantar em si mesmo. Acabei de perceber que eu me lembro que prematuramente eu preciso atualizar o con Fess, Lembre-se que Khan está olhando para o nosso banco de dados de desenvolvimento local. Então eu só vou entrar em que oh aan den em comentários as configurações para o nosso servidor remoto . Certo, então eles são mais elegantes de alguém. Mais uma vez, este é um curso básico. Não estou a tentar complicar as coisas, por isso temos de ligar mais à base de dados . Então podemos ir em frente e mudar isso e você vê que isso fica fora para isso tipo de dá-lhe um pouco de tomadas. Os artistas entendem trabalhar com aquele vigarista orbitado colocar entrar em monstro e, em seguida, empurrar a origem para cima. Então nós trazemos o golpe herro onde nós vamos para o nosso up Eu já estou no OPSEC e ir para o up , em seguida, ir para implantar em. Então você seleciona o ramo Será que as ramificações cedo deve e a nova ramificação implantar tudo bem , que possamos dar Hiroko um pouco de tempo para se refrescar, porque após a implantação, não é acessível ao mesmo tempo, Pelo menos não no nosso plano gratuito, para que possamos dar-lhe alguns momentos. Mas uma vez que você vá em frente e veja, eu estou vendo que eu nunca estive aqui. Isso é porque eu não copiei o meu estábulo de usuário dos últimos vídeos. Então eu vou fazer isso rapidamente em segundo plano. Tudo bem, e isso é feito para que seja restaurado para a nossa aplicação. Então vamos tentar e preencher aveia um novo usuário, e eu vou apenas reutilizar a mesma bola de arco. Menos dados que eu tinha, já que esse usuário não estaria no controle remoto estão no meu banco de dados remoto em Enviar, e vejo onde a operação foi concluída com êxito. E se eu verificar, enviar grade e atualizar um par de vezes em algumas atualizações mais tarde lá temos nosso e-mail que foi enviado para nossos novos registrantes, Então eu estou de volta no meu tribunal e eu estou olhando para o sucesso que página PHP onde nós chamado a função de e-mail. O fato é que, nós poderíamos tipo de personalizar este e-mail nós poderíamos dizer Bem-vindo primeiro nome sobrenome. Você sabe o nome da pessoa na conferência. Podemos incluir praticamente qualquer informação que eles acabaram de enviar. Nós podemos realmente incluí-lo em nosso e-mail apenas por, bem, con fascinante estão usando interpolação para obter essa variável em nossa string. Outro fato divertido é que a ganância do pecado é alimentada por crepúsculo, que é um poderoso estimativas serviço de despacho. Então, se quiséssemos enviar um SMS para eles, teríamos chegado lá, portanto número no processo. Portanto, todas essas opções não estão disponíveis para você através deste serviço de terceiros. A Andi. É tudo fácil de duelar usando ou habilidades recém-adquiridas de Ph B e recursos heróicos de hospedagem legal . Espero que gostem deste vídeo, e estou muito interessado em ver o que vocês usarão este novo superpoder para realizar. 20. Upload de fotos de perfil: Ei, pessoal, neste vídeo será modificando sobre atendimento aplicativo muito, potenciais participantes para carregar uma foto. O cenário é que quando alguém está enviando para uma conferência, você quer dar a eles a opção de carregar uma foto, talvez um auto-retrato, que talvez possamos colocá-lo no i. D para eles quando a conferência chegar. Se eles não carregam uma imagem porque é completamente opcional, então queremos dedo do pé. Certifique-se de que colocamos uma imagem padrão em vez disso. Para realizar todos esses objetivos, precisamos modificar nosso formulário ou banco de dados e estamos apoiando tribunal. Vamos começar com o formulário. Então, o suporte de upload de arquivo precisamos incluir um controle de upload de arquivo de em nosso formulário. Então eu vou ao tribunal para a nossa forma, que é index dot PHP. E então eu vou apenas duplicar um fora dos grupos de formulários existentes e, em seguida, fazer as alterações de acordo. Não, para um formulário que ainda precisamos mais rótulo em ir ver quatro avatar sobre o que ele vai imprimir é upload de imagem, e então eu vou colocar entre colchetes opcionais para que eles saibam com certeza que eles não têm dedo do pé próximo. O tipo de importação que precisamos usar é off type file e, em seguida, ou classe. Ele não vai ser formado controle desta vez, mas eu vou usar nossa classe personalizada dada a nós viagem bíblica, para isso é o seu arquivo bash personalizado bash Input. Isso nos dará uma versão ligeiramente remixada de um controle de entrada de arquivo. Além disso, vá em frente e mude a idéia e nomeie Toe Avatar. Então isso é tudo. Eu não preciso desta área de atributos descrita por salgado. Isso é aveia. Também não preciso deste rótulo por baixo. Em. Em seguida, vou incluir um arquivo personalizado de classe em nossa definição. Então, em vez disso, fora do grupo de formulário em quando tohave arquivo personalizado Onda Finalmente, eu vou ter um rótulo abaixo. Então tudo isso é apenas necessário para os arquivos personalizados Entendido. Duplicando este rótulo em ir para ter quatro. Em vez disso, eu vou ter classe igual custo, hum, hum, traço arquivo traço etiqueta. Então, se você realmente olhar para cima na internet para formulários personalizados bootstrap, você realmente vê algumas referências a esses tipos de rótulos personalizados que eu estou falando ou classes em vez no texto dentro deste rótulo será escolher arquivo. Então você vê onde esta etiqueta se encaixa quando tudo é impresso. Então a classe que desculpe Dave, é arquivo personalizado como uma classe. Então temos um rótulo porque você sabe, cada controle de formulário tem seu rótulo. E, em seguida, temos a entrada off tipo de classe de arquivo custo na entrada de arquivo com um i D e nome. Agora vamos ver o que isso produz. Tudo bem, então é isso que ele produz e percebe. Nós não temos o rótulo superior aparecendo aqui, e também quando clicamos, ele não está funcionando. Estou a clicar agora mesmo. Não está funcionando. Então fiquei um pouco zeloso demais. E em primeiro lugar, em uma situação personalizada, nós não temos essa etiqueta aqui, pelo menos não para o arquivo e colocar em algum lugar para pegar essa etiqueta. Haute. Uma vez que já temos isso, Bottomley vai parecer arquivar em então para este rótulo, eu vou ter que colocar no atributo para avatares. Lembre-se que todos os rótulos têm os quatro sobre o controle que, portanto, com base no I D. Então, se ID é de vestuário, em seguida, escolha quem eu escolher. Arquivo é quatro ou controle de avatar e desde que não temos nenhuma pista visual real. O que vou fazer é modificar. Eles configuraram o dedo semelhante do nosso telefone onde tínhamos um pequeno texto sendo impresso que mostrava um pouco de ajuda. Então, vou colocar por baixo algo a dizer. O upload do arquivo é opcional para que as pessoas que não desejam explodir a final saibam que não precisam escrever. Eu vou mudar isso para talvez aviso de traço de texto para que ele apareça um pouco mais. Então, quando eu atualizar, eu estou tão sem texto fora aviso não parece muito bom para entender, para dizer perigo. Então ele aparece na tela e eles são tão longe habilidades, opções. Então isso pode não ser a melhor escolha fora porque a segunda seta ele pode encontrar um melhor se você em seu contexto. Mas deixo isso para não. Basta colocar um pequeno br entre esses dois controles. Então isso é Oh, isso parece um pouco mais limpo. Em seguida, observa que quando eu clicar, ele traz à tona a busca de fogo. Ballack. Agora a caixa de diálogo de busca de incêndio vai mostrar todos os arquivos postais civis neste ar. Alguma praça de script nesta máquina. Não preciso que arquivos de script sejam carregados como avatares. Preciso de imagens, alguém para fazer mais um ajuste neste controle. Então a entrada em foi para adicionar um atributo que diz exceto e, em seguida, igual em. Em seguida, o valor para isso será imagem barra estrela. Então isso significa que estou limitando o tipo de incêndios que este controle aceitará. Tipos de imagem do dedo do pé com seu PNG JPEG. Você sempre pode listá-los se quiser mais limitações. Mas eu deixo a estrela. Então, quando eu atualizo e tento isso novamente, observe que se eu voltar para minha área de trabalho não estou vendo nenhum dos arquivos de script porque, não, eu só estou limitando os arquivos de imagem. Então não, esse é o primeiro passo está concluído, e estamos permitindo que a pessoa seja capaz de Bros, seu computador selecionou imagem e enviar. Não precisamos modificar o que acontece após a submissão. Então, para fazer isso, precisamos ir para a nossa página ou ação, que é sucesso como PHP, e faz uma modificação. Ainda assim, nosso tribunal de pós-processamento aqui será apresentado a uma nova variável super global chamada arquivos, então eu vou apenas criar algum espaço aqui em. Então o que eu vou fazer em primeiro lugar, é eu vou definir um diretório Orwell um local de destino para qualquer coisa que é carregado. Então eu primeiro criei um diretor chamado Uploads que criou uma nova pasta. Fez isso na nossa tela. Então eu criei uma nova pasta chamada Uploads. E então é aqui que todos os meus arquivos enviados estarão indo para que você possa ir em frente e criar essa pasta e, em seguida, você pode continuar junto, em seguida, até definir o diretório de destino. Eu só vou definir uma nova variável em. Eu vou chamá-lo de um alvo na pontuação o i R. curto para diretório em. Então eu vou definir seu valor para ser uploads. Desculpe. Em carregamentos de string barra. Então, a minha criação alvo é a minha pasta de envios. Da próxima vez fui construir uma string que representará o nome do meu arquivo. Então, para construir a string, eu vou começar primeiro com o diretório de destino. Então isso é Dallas e alvos no diretório de partituras. E então eu vou conduzir advogado que no nome fora do arquivo, que eu vou obter vendo este nome, que é uma função PHP nele recebe algum caminho de arquivo ou encontrá-lo tão dentro do nome base. Eu vou então referenciar minha variável super global chamada arquivos e, em seguida, finanças tem que se preocupar sub scripts. O primeiro assinante do Ari seria o nome fora do controle. Então, assim como com Post, só queria o valor vindo do controle de primeiro nome. Fazemos referência pelo nome. Então, neste caso, queremos o arquivo vindo ou controle de upload de arquivos, que neste caso, chamamos Avatar em seguida, os atributos do pai que desejamos ter. Então, neste caso, eu quero atributos Nome. Então, os atributos é exatamente como quando você clica com o botão direito do mouse em Ah arquivo. Você sabe, sistema Windows ligado. Em seguida, você verá o nome em que a data criou o tamanho. Todos esses são cinco atributos. Então, nesta situação, eu quero o nome. Agora que tem o nome fora do arquivo carregado. A próxima coisa a fazer é realmente mover o arquivo em algum lugar para dizer arquivo carregado movido, que é uma função PHP em. Então este leva para permitir é itics. Quais arquivos devem ser movidos, bem como o destino. Então, para mim. Este é um grande limpador. O que eu vou fazer é que eu vou criar outro livro muito e chamá-lo arquivo original são cinco, e que será igual ao nome original vindo através do nosso post. Tudo bem, então o arquivo de arte está armazenando o arquivo, o nome do traje AB ou o nome do arquivo vindo através do controle de roupas . Então eu estou configurando o personagem Tirlea para ser carregado. Então estou determinando que este é o meu destino. Então realmente, na verdade, eu poderia ter chamado esse destino muito realmente nesse destino, porque o que isso vai fazer é agir como o caminho de destino para este arquivo. Então, construindo-o para dizer, uploads cortar o nome fora do arquivo no Eu estou preparando para ser movido por esta função. Quando eu vejo, mover, carregado, carregado, arquivo e ver sinais de dólar, arquivo original e, em seguida, vírgula destino sinal de dólar. Então esta função, uma vez que é chamado, vai olhar para o arquivo original vindo através de nossa ação enviar em, em seguida, criá-lo neste destino que temos especificado no inverno e um teste superficial. Mas, obviamente, se eu enviar, o formulário tem sido para tentar fazer um banco de dados Inter, que eu não necessariamente quero que alguém para mostrar a vocês. Um pequeno truque d bullying onde você pode realmente usar uma função chamada Exit que realmente pára a execução nessa linha. Então, em outras palavras, quando eu enviar o formulário ele vai chegar tão longe. Assim que chegar à saída, nada mais acontecerá. Então eu não quero que você envie nada para o banco de dados ainda, então eu vou usar isso para pausar a execução em apenas validar que o arquivo é movido como especificado. Então eu vou voltar ao meu formulário, atualizar os totais do Philip, e então eu vou escolher um arquivo, e eu tenho que ouvir nosso aluno de roubar detalhes de alguém para estudantes em. Então eu vou clicar em enviar e, bem, nada aconteceu. Segure. Eu valido isto. Eu teria que ir para o meu sistema de arquivos, ou eu posso apenas voltar para o cabo de estúdio visual ligado. Olhe para o conteúdo da pasta de upload em Nada aconteceu. Nada aconteceu porque cometi um erro aqui. Então o arquivo original realmente não deve ter o nome, mas sim o nome TMP que é os atributos fora do fogo que queremos, então eu vou explicar o que isso significa. Nome é o que vemos quando vejo estudante que PNG no sistema de incêndio que é o nome acima do pH . B não é transportá-lo pelo nome fora do arquivo, mas ele gerou ah, nome temporário para o trânsito entre a ação post. Então, para que possamos realmente mover o arquivo ou interagir com o próprio arquivo em qualquer matéria física, temos que referenciá-lo pelo TMP nos atributos Nome da pontuação. Então, na variável de arquivo orig que eu criei aqui. Eu quero dizer arquivos de vestuário e em vez de dizer nome com apenas um nome de sublinhado t m p , Então mover arquivo carregado será movendo. Qualquer arquivo tem esse nome temporário para um destino mais permanente em nosso sistema rápido, alguém para ver se essas mudanças e então eu fui apenas atualizar. Então, ele realmente apenas envia tudo para o formulário novamente e clique. Continue em frente. Em seguida, vamos voltar para a nossa pasta de uploads em desafiar Olhe dentro ou perto para você ver que um incêndio foi criado pelo aluno nome que P e G. No. Uma coisa que não queremos é que nenhum registrador de turnê faça upload da mesma imagem com o mesmo nome em um sobre escrever o outro. É sempre uma boa prática renomear seu arquivo para algo que seja exclusivo nisso. Quando você está armazenando no banco de dados, você sempre tem certeza de que está recebendo a imagem CARRT para a pessoa do tribunal. Então, em uma situação em que você tem pessoas criando perfis de usuário com nomes de usuário exclusivos, então você provavelmente quer renomear a imagem para o nome de usuário ou para algum IDexclusivo ID que você também está estrelando no banco de dados. Para esta pessoa. Nesta situação, as pequenas coisas realmente únicas sobre qualquer registrante provavelmente será seu endereço de e-mail em talvez seu número de contatos. E eu acho que o contato é provavelmente mais exclusivo do que o endereço de e-mail nesta situação. Então eu vou mudar o nome dos arquivos que eles carregam e tem o nome que parece que eles estão com o número completo agora. Para fazer isso, vou ter que mudar a forma como configurei o destino, definindo o nome personalizado que eu preciso aqui. Mas então eu ainda tenho que adicionar de volta a extensão fora do fogo, que eu não sei qual extensão é, já que eu estou procurando imagens que podem ser PNG J pick ou G I f. Então, em vez de tentar forçar uma extensão, eu sou vai ter que determinar dinamicamente a extensão. Mas então eu posso na mosca determinar o nome porque eu estou coletando o número completo desta variável. Então o que eu vou fazer é criar outra variável sob arquivo orig e eu quero chamar este um txt curto para extensão. E então eu vou usar um caminho de função paz ser em quarto lugar no qual eu vou passar os arquivos. Super variável, às vezes parando isso. Mas estou passando o nome, não o nome TMP. Como o nome TMP só é conhecido pelo PHP, ele só faz sentido o PHP Então eu quero o nome que vai ser Student dot PNG em. Então eu vou usar caminho em quatro extensão como os próximos parâmetros, então entradas de caminho e para obter certas informações sobre qualquer arquivo que é dado a ele sobre a informação que eu quero é a extensão em, em seguida, que será armazenado na minha variável txt. Próximo. Eu quero modificar meu dedo do pé de destino em vez de passar na base. Nome fora do arquivo. Eu quero passar em qualquer valor dentro do contato como uma variável voltando através do meu formulário em diante. Então eu também vou enganar Katyn, comer qualquer valor que voltar na minha extensão. Variável após encontrar fora das informações do caminho fora do fogo que foi carregado. Então, o destino terá uploads barra qualquer que seja o número que a pessoa inseriu ponto Qualquer que seja a extensão que o arquivo chapéu em, então a movimentação carregada Armazenará esse arquivo com esse novo nome dentro ou pasta de upload, alguém para executar um teste novamente com o mesmo arquivo e veja o resultado. Então, não, escolhemos o arquivo. Estou escolhendo estudante na PNG mais uma vez, então eu apresento em Lembre-se que nós temos a saída, então nada realmente acontece, mas nós podemos voltar, então nós vemos. Ok, então eu estraguei tudo, mas pelo menos estamos vendo o número de telefone na extensão do arquivo. Mas o que não estamos vendo são os pontos, porque o Windows precisa desse ponto para determinar o nome do arquivo. Então, eu só vou modificar a maneira como escrevi isso completamente. Eu só vou colocar um aparelho no dia, criar um ser corda contígua com interpolações. Então não, meu destino se parece com o diretório de destino variável, que é upload barra do que o valor que volta do contato encaixado. Seja qual for o valor que vem da extensão alguém para ver essa mudança. E eu estou indo apenas para re primeira re submete e re tenta essa operação e, em seguida, quando eu voltar , Eu não estou vendo o número completo ancorado. PNG. Eu só vou remover este arquivo da pasta. Tudo bem. Então, não, para cada pessoa que registrar qualquer número completo que entrar será usado. O Brini mais arquivo nessa extensão de arquivo sempre mudará com base no que eles colocaram para saber que foram carregando com sucesso rápido nosso servidor? Não. Precisamos modificar o resto do tribunal para que as abelhas saibam do carregamento rápido . Então a primeira coisa que eu quero fazer é modificar meu banco de dados usando Petri. Meu admitiu adicionar a nova coluna. Então eu vou para o meu banco de dados na minha tabela de participantes. E então eu fui para modificar a estrutura dizendo, eu quero adicionar uma coluna após especialidade na pontuação i d. Então eu estou definindo este dedo da coluna. Ter o nome de um caminho de pneu ser fora Tempo de arco são 200 em centavos sentá-lo para ser nenhum nível porque mais uma vez a imagem é opcional e, em seguida, clique em Salvar em, em seguida, essa nova coluna não é adicionado. Não. Preciso modificar meu tribunal para ter certeza de que estou passando o caminho do arquivo para o arquivo enviado para o banco de dados, que estaria no caminho do avatar da coluna. Então sabemos o destino porque construímos o destino. Então precisamos ter certeza de que estamos passando o destino no reboque. Nossos participantes de inserção funcionam por extensão. Precisamos modificar a função. Então eu estou indo para passar destino de estado, e eu vou adicioná-lo como um parâmetro para a inserção participar da função, e então eu vou passar sobre o meu arquivo de multidão onde nenhum participante inserir está ativado. Vou me certificar de que tenho representação desse novo parâmetro. Então está esperando um novo apartamento. Chamam-se destino, ou posso chamar-lhe Avatar Pa. Então lembre-se que não precisamos chamá-los da mesma coisa, desde que estejam na posição certa . Então sobre o nosso caminho não será representado na minha pedreira quando eu vir aqui e eu digo vírgula de traje caminho em, então se eu estou colocando isso lá do que eu preciso ter o meu parâmetro, que é ser osso. Então isso é cólon de um caminho de lona. Então eu só faço outra linha aqui em, mas certifique-se de representar caminho avatar como ambos um parâmetro no parâmetro onda pedrery. Na função, eu vou executar o teste onde eu preencher o formulário, selecione o mesmo aluno que arquivo PNG na tentativa de enviar. Quando faço tudo isso, recebo minha mensagem de sucesso na nota do número de contato. Claro, eu não mudei isso, modo que só vai socialmente que ele não vai tentar duplicar o finalmente vai sempre substituir uma vez que vê arquivo ah com o mesmo nome. Portanto, certifique-se de que o que nimir dar o arquivo para cada usuário é muito único. No entanto, se eu ir para o meu banco de dados e eu olhar para a minha tabela participante e meus dados, eu vejo que a nova coluna. Não tem valores. No caminho é uploads barra qualquer que seja o nome do arquivo WAAS ou foi alterado toe agora etapa final Apenas para concluir. Tudo isso seria exibir essa foto de perfil sempre que a pessoa enviar com sucesso, bem como sempre que um dos usuários do administrador visualiza o perfil para o usuário. Então isso significa que precisamos modificar sobre o sucesso que a página PHP, bem como, oh, estamos view dot página PHP para ter certeza de que estamos vendo a imagem como ela está sendo referenciada no registro de banco de dados de pessoas. Então o que eu vou fazer no meu sucesso que o PHP pagou é ir até a seção onde as informações estão sendo impressas. Sou apenas o número. Ouça para manter isso simples, eu realmente não vou me concentrar em torná-lo esteticamente agradável. Vou deixar você experimentar e fazer isso. Eu só quero mostrar a vocês como exibir a imagem. Então, desde que estamos no sucesso que Ph. B página sabemos que o destino vai estar em algum lugar em nosso projeto em, nós só precisamos configurar na imagem para ter uma imagem tac toe tem o valor como qualquer caminho que está sendo armazenado dentro deste variável de destino. Então eu só vou para baixo para o sexual onde eu quero exibir a imagem em ir ver I m g SRC é igual a on. Deixe-me deixar isso em branco para não ligar. Então. Lembre-se que sempre que queremos colocar ph ser conteúdo dentro muitas vezes. Tag Html. Precisamos ter nossa tag PHP em eco qualquer variável que seja que queremos. Então eu só vou ver dentro dessas aspas uma tag PHP e eu divulgá-lo ao mesmo tempo em. Então estou ecoando meu destino variável. Lembre-se, o destino é o caminho. Então, isso vai dizer algo como uploads barra nome do arquivo Dr Extension em. Quando isso ecoa esse valor, ele será o valor de origem da imagem. Então, se eu fizer isso e atualizar depois de enviar, então eu vejo onde meu arquivo está. Este é o aluno descobriu que eu carrego mais uma vez. Não estou muito preocupado agora com a colocação. Você pode ir em frente e corrigi-lo como você precisa. Mas vou mostrar a vocês que o que quer que façam na etiqueta AMG afeta essa imagem. Então, se eu acho que é muito grande, eu queria ser, talvez ter uma largura de 200 por sobre a altura de 200 Eu posso dizer 200 em. Bem, CSS é a melhor maneira de realizar isso, então eu iria realmente apenas um estilo de estilo é igual a em, em seguida, definir o que então ser talvez 50% em vez, altura Andi para ser 50%. Então, quando eu faço com isso e eu atualizo você vê que o CSS iria bem, isso não é muito do nosso redimensionamento. Mas você vê o meu ponto de vista. O que quer que você faça nos locais antigos, apenas sente este 20 em 20 e então você vê um redimensionamento maior acontecer. Então eu tenho algumas aulas de bootstrap que podem me ajudar a torná-lo um pouco mais limpo. Então, há uma classe loja de touro que vê arredondado de modo que se dá um pouco de fronteira Rhone sobre. Se eu fizer isso, então se refere, bem, os efeitos fora da estrada que não são muito visíveis, alguém para tentar outro e ver círculos de traço arredondados ao redor. Ele meio que tira as bordas afiadas dos cantos, mas arredondado. Esse círculo realmente cria uma representação circular circular fora da imagem. E lá vai você para que você possa realmente ir em frente e usar bootstrap e quaisquer outras ferramentas em fazer sua imagem olhar representação agradável. Agora, isso foi um sucesso, mas eu preciso repetir essa façanha no ponto de vista PHP p é entender chamar de volta, mas na verdade apenas eles para copiar esta pontuação, porque ele estará fazendo algo semelhante no View página. Vou para o Rio colocar o meu puxão na minha corte. Mas então você percebe que na página de exibição estávamos referenciando coisas vendo resultados no subscript. Então isso significa que não posso chamar o destino deste lado. Em vez disso, vou apenas reutilizar este cordão. Em vez de ecoar primeiro nome como imagem SRC, eu vou eco avatar sublinhado metade, porque quando fizemos a nossa consulta selecionada, selecionamos estrela e estrela traz de volta todas as colunas. Então, uma das colunas que recebemos de volta é o caminho do avatar, que está armazenando o dedo do pé do caminho ou a imagem dentro das abelhas beta. Então é isso. Então nós podemos dinamicamente guiar a imagem para a pessoa que está logada então eu vou colocar este estatista alguém para continuar, logar. Eu sei que estou dentro. Vou em frente e ver um deles. Então, se eu ver um de antes, então você vê as imagens quebradas. Então não queremos isso fora do curso porque isso está quebrado. Isso está quebrado porque esse disco existia antes de começarmos a colocar imagens. Não háimagem para exibir. Isso está quebrado porque esse disco existia antes de começarmos a colocar imagens. Não háimagem para exibir. Isso está quebrado porque esse disco existia antes de começarmos a colocar imagens. Não há Então não queremos que esse alguém volte. E eu quero encontrar um em que acabamos de entrar. Lá vamos nós. Portanto, a imagem está sendo carregada não porque está sendo armazenada em um banco de dados, mas o caminho para ela está nos dados. Abelhas anexadas ao registro da pessoa no arquivo está presente em nosso sistema. Então sabemos onde fazer referência para o que você sabe. A última coisa que eu quero fazer é ter certeza de que, se nada voltar para essa pessoa, significa que ela não fez upload de uma imagem ou o registro antes do recurso estar disponível, nós deslocamos algo de um avatar padrão para ela independentemente. Então eu vou ajustar o tribunal que está imprimindo o nosso traje. E eu vou apenas colocar o chamado operador Turner dentro desta string para que possamos determinar se o que está sendo retornado das bases de dados vazias. Se for, então queremos imprimir algo. Se não for, então está tudo bem. Portanto, há uma função no PHP que é vazia, que leva o parâmetro ah, que provavelmente vai ser uma lata stringy. Binário pode ser qualquer coisa, mas vazio é basicamente eu apenas vendo Existe algum conteúdo dentro desta variável em? Em seguida, ele retorna um boletim que é um verdadeiro ou falso. Então, o operador Turner que nós vamos colocar em vez de fora um todo se mais apenas para saber o que ecoar é nós vamos ver a interrogação Mark, e então nós vemos se ele está vazio. Então isso vai retornar Shore Falls. O que vem depois? O ponto de interrogação é o que será feito se for verdade. Então, se é verdade que ele está vazio do que o que nós queremos fazer é colocar no valor acima lords slash no dia, eu fui e encontrei alguma, hum, imagem genérica hum, . Eu estou chamando um espaço em branco, que é PNG Então eu quero fazer referência a esse arquivo em branco se que Se a string é realmente vazia , então em branco ponto p e g Então isso vai agir como o meu hum padrão de traje para qualquer um sem uma imagem no banco de dados. Então, se ele está vazio, então eu quero ecoar este valor em então nós temos dois pontos. Ou seja, se isso não for avaliado como verdadeiro, O que eu quero? E o que eu quero é ecoar o caminho real para a imagem. Então aqui mesmo em nossa imagem SRC estamos fazendo um rápido se mais estão tomando uma decisão rápida para ver eco este valor com base na vez operadores Eri velhos Então os operadores Turner vendo eu quero algo que vai voltar para nossas quedas neste caso, A string está vazia ou não? Se for, então eu quero ecoar isso ou retornar esse valor para que possamos ser ecoados se não for, então ecoar as partículas reais do avatar do banco de dados. Então, se eu voltar para o meu anúncio e este é um com ele, então eu posso atualizar e eu vejo que ele ainda mantém essa imagem se eu voltar para a lista e voltar para um dos primeiros registrantes que não conseguiu fazer o upload de uma imagem. Então vemos que eles obtêm esse padrão. Se eu for a qualquer outro que não tenha enviado uma imagem dessa pessoa, será que essa pessoa está me dando. Ok, então eu estou recebendo o padrão padrão do Archibald. Certo? Mas esse participante com 4 anos não está me dando alguém para investigar isso. Tudo bem? Então, olhando no banco de dados, eu posso ver o que está acontecendo. Então, o atendê-lo com o i d. para aqueles têm conteúdo no caminho avatar sobre. O problema é que o nome do arquivo é basicamente ponto g pg, enquanto o seu próprio é que PNG? Então, no teste, eu mudo a extensão e mudança de rápido em torno do DSO. O primeiro menos sofrimento que testamos com teria um ponto PNG, mas o resto tem o correto que JP. Então é por isso que você está vendo essa imagem quebrada. Então funciona. Mas ainda é uma preocupação porque então ele está vendo que ele não pode encontrar o arquivo tão bem , nós podemos determinar se o arquivo existe. Mas ainda é uma preocupação porque então ele está vendo que ele não pode encontrar o arquivo tão bem , Você provavelmente pode fazer alguma pesquisa, mas eu não vou entrar nisso. Eu só quero que nós superemos a corcunda fora, carregando um arquivo sobre tê-lo exibido. Então eu vou apenas passar por isso com uma pessoa completamente diferente, desta vez em um número completo diferente para que o arquivo seja diferente. Então este é um número completo diferente em que fui escolher o arquivo. Vou procurar na Internet um arquivo diferente. Até agora. Liguei para um arquivo com uma raposa, uma imagem de uma raposa. Então esse é o outro pneu que este registante quer usar. Então, quando eu clicar em enviar, vamos ver a Raposa. E se eu for ver os participantes e eu ver esse perfil de pessoas, então eu vou ver a Raposa como seu avatar. Se eu olhar na base de dados por, basta atualizar o banco de dados, então Archibald Douglas foi inserido com um arquivo diferente com um nome de arquivo diferente 21. Toques finais: Ei, pessoal, parabéns por chegar até aqui Neste curso neste vídeo será apenas estar fazendo alguns toques finais da nossa aplicação até agora. Agora vamos apenas rever são para cima rapidamente para que possamos ver que tipo de toques finais seria necessário na primeira coisa que vem à mente é o pai que realmente não colocar em um rodapé sensível sobre para saber em então. A outra coisa é que precisamos publicar isso publicamente para que nosso formulário de registro esteja disponível publicamente em. Precisamos passar por essas atividades neste vídeo. Então a primeira coisa que vamos fazer é fazer um rodapé mais sensato. Então até agora, nós temos nosso arquivo de inclusão e nós tínhamos nosso rodapé, não arquivo PHP no arquivo. Acabamos de ter um vivo e chamámo-lo de rodapé. Nós apenas ecoou direitos autorais sobre o que fizemos para resolver fora criar esta densidade no rodapé eo resto fora da página foi, e outros esportes a inexperiência. Aqui nós colocamos em algum imposto br que tipo off pod o espaço entre o nosso rodapé no resto da página, sabe A realidade é que bootstrap realmente tipo de dá-nos classes que muito nos dedo do pé têm rodapé fixo. Então, a parte inferior da página para que não precisamos 10 são tão br imposto para colocar espaço entre o conteúdo no rodapé em. Em segundo lugar, vamos usar bootstrap toe, realmente fazer o nosso pé ou parecer algo sensato. Então eu vou apenas excluir essa etiqueta de rodapé primeiro, e então nós vamos reconstruí-la. Então eu estou deletando, e eu provavelmente vou aposentar parte do tribunal que eu acabei de deletar. Mas de qualquer forma, podemos fazê-lo juntos. Então lembre-se que no rodapé dot arquivo PHP que este rebocador de carne de fechamento corresponderia com o empate def de abertura em nosso cabeçalho. Então, se eu voltar para o cabeçalho, então eu vejo que você tem o recipiente Dave. Tudo bem. Lembre-se, o recipiente é o que dá aqueles que margem como espaço ou o espaço entre a esquerda, mais borda e barra suficiente início ou o conteúdo. Isso é o que o recipiente faz são barras suficientes no conteúdo. Eu quero colocar o pé no rodapé conteúdo insider também, como você pode ver, ele realmente está dentro daquela conversa de contêiner, irmão. Então eu estou indo para dentro fora do rodapé logo acima do dia de encerramento para o meu continuar, Eu vou criar uma div, e nós realmente tinha apenas saber. Mas eu apaguei. E isso não é problema. Estamos fazendo isso juntos do zero, então eu vou criar um div. Então eu vou dar a este def o rodapé em seguida. Dentro do mesmo rodapé. Quero dar algumas aulas de bootstrap. Então a primeira aula que vou dar é P menos árvore. E eu vou explicar o que cada classe faz que eu vou dar mineiros MB para no DBI g traço Andi, basta voltar e referenciar o cabeçalho para ver que tipo de BG usamos. Então usamos b g traço escuro. Assim como um tema sombrio. Bem, enquanto usamos a barra de navegação escura, nós realmente usamos a cor BG traço primário. Então, no rodapé, eu vou usar B g traço primário para definir a cor fora do nosso rodapé em. Então eu fui ver texto traço branco para ter certeza de que nós obter texto branco em, em seguida, o clincher é fixo traço fundo, então este em particular irá certificar-se de que ele vai para baixo para a seção de rodapé fora da nossa página ou estão ficar no parte inferior da página. Assim, o fundo fixo significa que não importa quanto ou pouco conteúdo está sob a própria página, o rodapé estará sempre na parte inferior da página porque depois de saber, somos aliados que se houver um pouco de conteúdo, ele meio que se abre Se há muito do que é empurrado, é por isso que precisamos que sejam nossos rebocadores. Então esta classe vai tipo de forçá-lo para baixo e, em seguida, combinou todos esses tipos de criar uma seção de rodapé azul agradável ou dar com um conteúdo de rodapé na parte inferior da página em. Então, dentro deste rodapé, eu vou colocar algum texto mais oficial onde eu vou ver que o sistema de participação na conferência de direitos autorais I T em de chamado a data aan den Então que tag p com texto. Centro holandês deve centralizar linha alguma quantidade de texto em nosso rodapé Div Andi central e fora do curso e imprimir a data em que ele está sendo visto. Então eu só vou ver se isso e então eu vou apenas voltar e atualizar minha página sobre . Se olhar para ele agora, verá que temos um rodapé mais sensato. Agora, deixe-me explicar o que cada classe faz. Então a primeira classe p três está falando sobre o preenchimento para que possamos apenas voltar para o nosso p um clique arrastar e ir para inspecionar elementos. E então podemos resolver, pegar uma antiguidade, cada elemento. Só estou inspecionando o rodapé. E então podemos tomar um Kontic imundo, as classes sendo referenciadas aqui. Então texto traço branco é que eles estão dizendo que a cor do texto deve ser branco e eu acho , por que parece melhor contra fundo azul e azul. O que é claro que você pode se personalizar. P Dash três significa que o preenchimento é aplicado. Então, se você olhar para a diferença quando clicamos luta contra bilhetes fora, você vê que a separação muda cada vez para que eu possa deixar isso em seguida, o traço MBI para falar sobre a margem para as garrafas. Se eu antiquado que você notou que aquele espaço branco que está no fundo do rodapé meio desaparece. Então, na verdade, fora de todas essas aulas, eu provavelmente iria querer apenas remover o M V dois. Então eu vou voltar, remover a ferramenta nb em você pode fora do curso, encontrar todas essas referências nos sites bootstrap na documentação sobre você pode personalizar o seu hall de rodapé. Você gostaria que não percebesse que meu pé ou tipo de estica em toda a página vez de ficar confinado ao contêiner, certo? Então o recipiente seria ao longo desta margem que eu estou movendo meu mais, enquanto o pé Terry esticando direito através. E é um dedo padrão de design comum, na verdade, eu notei que o rodapé como eu rolar o rodapé Dusty está lá, certo? E é um projeto comum. patrões têm o comprador do valete esticar direito em frente. Você nunca conteúdo em si é tipo fora dentro da margem. Então, na verdade, vou fazer isso sobre isso. Modifique a seção de cabeçalho na dúvida, coma todo o barco do amor daquele Dave. Então eu vou colocar toda essa seção agora fora do continente ao vivo e eu vou colocá-lo acima que continuar narrativa. Então ainda de menor de tudo ainda funciona como deveria. Mas então quando eu atualizar você vê que meu nervo vai esticar direito em toda a página em então. Além disso, se eu quisesse o conteúdo real fora do botão dentro do recipiente, então eu poderia realmente apenas voltar para o vínculo. Nesta vida, eu posso ver contêineres de colapso na casca traço entrar em colapso. Então eu posso ver o contêiner em baixo uma vez que eu faço isso. Desculpe. São apenas botões errados pessoais lá. Então eu digo contêiner e atualizar, e nós temos algo que é para que os próprios links são movidos no logotipo. Estilo. Então, você pode me dar essa decisão. Ele quer que fiquemos assim. Isso é inteiramente com você. Hum, mas eu meio que pareço com o olhar fora de ter um tipo de espalhado por cima, bem através das pessoas. Então, o cabeçalho é alugado através da filmagem em frente. Eu não posso gostar desse olhar. Então esse é o primeiro toque que estamos fazendo sobre aplicação. Em seguida, queremos apenas enviá-lo para Hiroko. Então vamos em frente e verificar nossas mudanças em para obter hubs e, em seguida, sincronizar com herro. Legal. Dentro e fora do curso, fizemos uma mudança onde atualizamos a foto do perfil. Então precisamos atualizar nosso banco de dados também. Então eu abri minha bancada no cara conectado ao meu banco de dados remoto, e eu já tenho a base de dados aqui com um pouco de dados. Eu não quero remover este banco de dados inteiro ou remover todas as tabelas e ter que reconstruí-los . Então o que eu vou fazer é apenas ir manualmente para a minha tabela de participantes nas colunas. Eu posso distrair como participante. Então eu posso ir para a mesa do altar. Então isso me permitiria adicionar qualquer coluna que eu desejasse. Então eu vou voltar para Loca. Estou servido meu ser administrador FEMA em. Encontre o campo em, recriado de acordo. Certo, então um que carrega. Eu fui a isso no “Vamos ter 10 dança no placar”. Tabela participante banco de dados de banco de dados telefonou caminho avatar e ver que seu grande são 200 alos não. Então eu vou apenas copiar o tipo de dados. Então, você não tem que copiar MPs. Só estou acelerando o processo, mas vou chamá-lo de traje. Bem, foi de um pneu na trilha? Então eu já construí o tribunal para procurar esse campo na minha morte. Então, obviamente, o que quer que eu seja, qualquer mudança que esteja fazendo na produção precisa de imitar o que ele está procurando em profundidade. Então é um gráfico de barras 200 em uma vez. Refiro-me às alterações que posso aplicar, mas seja a minha base de dados remota. Então, quando o banco de dados estiver pronto, então eu posso fazer meus uploads. Então eu vou para Vicky Top, e eu só vou verificar essas mudanças e eu vou apenas dizer atualizado Hitter e rodapé Andi. Eu já teria atualizado o fato de que eu fiz as fotos de perfil para se levantar, então eu não iria Bem, é por isso que eu só tenho estes 21 James Fatso, dependendo do que você pode ter feito em seu levantar-se, então você pode quer adicionar mais aos seus comentários, mas isso é o que eu fiz. Então eu vou apenas me comprometer com Master Onda push e, em seguida, uma vez que isso é feito, nós sabemos que podemos ir para Herro cool em login em nosso aplicativo em. Então vamos apenas para implantar. Vamos em frente no brunch de implantação. Mestre, uma vez feito isso, podemos ver nossa aplicação fora do curso. Então, a nossa candidatura está aqui, e eu vou apenas tentar preencher. Oh, este pobre está vendendo Philo o fórum só vai escolher uma foto de perfil. Então eu vou clicar, enviar sobre isso, receber tudo, funciona e lá vamos nós em herói de teste Cool on Há nossa raposa saber se eu entrar apenas a vista todos fora do aplicativo são os candidatos que serão participar da conferência e ver as informações que eles carregaram. E eu vejo aqui que adicionar significa que o registro não está funcionando. Então eu fui até o banco de dados e eu vejo que eu literalmente tenho o administrador do usuário e a palavra senha para lembrar que nós passamos por algum rigor tentando endurecer a maneira como a senha aparece em D. O que realmente deve acontecer é que devemos ter o usuário admin Sim, na senha em ah, forma silenciosa. Então isso não está acontecendo aqui. então eu não quero fazer é apenas remover este usuário admin sobre se eu posso apenas remover todos esses usuários. Não preciso deles neste momento. E então eu vou apenas atualizar este discurso, então lembre-se que uma vez carregarmos a página que o Cory deve executar ou o Oh, desculpe. Ouvi dizer que esse tipo de milho deveria funcionar, mas o que eu não fiz foi aplicar quando deletei. Então deixe-me tentar de novo. Então, com workbench, quando você modificou o conjunto de dados como eu acabei de fazer, onde excluí-los. Preciso clicar em aplicar, o que irá gerar essa pedreira. Então eu vou apenas clicar, aplicar novamente. E então o coro seria executado com sucesso. Não. Quando eu atualizei a página e ele carrega que con arquivado, então ele vai passar. E ele passou porque ele reenviou admin e senha no formulário, que também apareceu no meu banco de dados. Quando eu leio quando eu reexecutar aquele trimestre para selecionar estrela de usuários, vejo meu usuário administrador aqui com a senha silenciada. Tudo bem, então se você tiver essa dificuldade, o que tenho certeza que não vai, mas estou mostrando o que pode acontecer. Então, neste ponto, estes ar os participantes em nosso banco de dados e aqui está o mais recente, que é teste. Hiroko é um administrador. E então, se eu ver, então eu vejo a foto do perfil. Se eu voltar para a lista em Dive você outro que foi foto de perfil pré do que eu vejo que ele só está carregando essa imagem padrão como nós teríamos projetado para fazer em nosso ambiente surdo local. Então é assim que nós vamos sobre a construção são tipo fora em aplicação final com PHP e usando ou bibliotecas PDO para nos ajudar a executar operações de multidão em, em seguida, levantar-se para o controle de código-fonte, Onda mudança rastreamento e, finalmente, Hiroko para hospedagem na Web e estamos teaser, Mort, SQL Server e Sin Greed para o uso de serviços de e-mail. Então, no final do dia, é assim que você vai construindo no aplicativo PHP do zero até o início, em seguida, styling com bootstrap para hospedá-lo na Internet