Parabéns Robson pela aula! Acompanho cada aula com expectativa de aprender mais. Sou iniciante na parte de programação PHP. Conheço programação em Visual Basic e C#, usando o Visual Studio, mas é sempre interessante novas tecnologias. Forte Abraço.
Estou quase terminando a série... todo mudo que comentou, o fez logo que a série foi lançada, mas o conteúdo continua atraindo pessoas. Obrigado. Aproveito para falar que fiz também as aulas de PHP do jeito certo. Nessa série so senti falta de criar junto o User Model do jeito certo (não sei se usou dataLayer la também). Os aulas aqui do canal (e da UpInside) são otimas. Parabens Robson.
Nesta serie vai conter o fluxo interno desde sistema como menu e um Crud com pesquisa. Obg pela serie. Sigo desde quando começou a empresa la para o ano 2000 e pouco onde só existia Lan House e tele centros kkk.. Parabéns Robson
Ha, se os Professores de todas as áreas tivessem a tua Didática, sinceramente; nosso País seria outro, nós estaríamos em outro Nível. Nestes momentos de Crise e incertezas, mais do que nunca; necessitamos de pessoas que nem você. Você merece o Sucesso que possui, meus parabéns e muito obrigado.
Fala Robson , tudo bom? Estou com uma duvida: O controller Web redireciona caso ja esteja logado, so que se caso tivessemos uma Home nao poderiamos entrar nela, seriamos redirecionados. Um exemplo é o seu projeto CafeControl, ele tem a Home e o Blog e nao é redirecionado caso esteja logado, so quando entra no Login ou Cadastro. Agradeceria se pudesse fornecer o codigo fonte do Projeto CafeControl, desde ja agradeço
Não sei se é pratica mais acredito na soma de uma boa didática e muito esforço o professo sabe o quanto sou cabeça oca e muita pratica mais muita msm pq eu realmente tinha muito vicio de linguagem e na construção de um sistema de login como esse vixi prefiro nem fala então vamo que vamo hj não tive nenhum erro inclusive o do message eu não errei os para casa eu so tive a duvida do save pq eu ainda to engatinhando nessa parte mais vamo para proxima que venha agora para mim a pior parte que é os login via rede sociais pq nao tenho face então criei um so para este proposito ai ja viu obrigado tmj
Boa tarde, eu ja programo da maneira tradicional, até então a OO tem sido meio complicada, seu método tem me ajudado bastante, você aborda o tema de maneira muito eficiente, e sei que não tem como eu fugir desse paradigma. Então, obrigado. Eu estou usando o PS, também é outra mudança, eu usava o DreamWeaver, cada um tem seus pros e contras, mas estou me adaptando. Agora minha duvida... Na CLASSE AUTH, eu criei os métodos forget e reset, exatamente da maneira que vc explicou, mas no forget o user->save() não funciona, ele vai para o metodo save da classe USER e me devolve a mensagem de "Email Ja Cadastrado" (que é a resposta do User\validateEmail()), eu consigo gravar o forget(Hash) se eu comentar o método save da classe USER. O mesmo ocorre na hora de salvar a nova senha. Ou seja, no meu entendimento, o metodo Users\save() não entende que é update.
Fala Robson, muito bom os seus videos! Ta de parabens!!! Like Like ! Gostaria de saber se mais a seguir nesta serie vai complementar esse sistema de login e cadastro, pois ainda está bem simples, sem proteção contra alguns tipos de ataque e etc. ??
E tbm se poderia colocar no Dashboard do usuario algo para ele controlar, no caso poderia ser tipo uma lista de contatos, ai poderia inserir, editar e deletar
Fala Robson... NÃO ENTENDI: pq tem horas que vc redireciona com router->redirect(...) e tem horas q usa o ajaxResponse("redirect"... Por favor tem como explicar? Um abraço e excelente trabalho.
Opa Carlos, tudo bem? É assim: Quando o controlador tem que responder um pedido enviado pelo Ajax, ele responde com o ajaxResponse. Isso acontece quando um formulário no front envia um post pro php e a resposta tem que ser algo que o ajax entenda o que fazer depois que pode ser exibir uma mensagem ou redirecionar dependendo da ação. Já quando ele usa o router dentro da aplicação é pq é uma ação da aplicação em si e não é enviada a partir de um formulário, como um link, um botão, ou até mesmo se a pessoa digitar na barra de endereço. Espero que tenha ficado claro.
Bom dia mestre Robson. Depois de "queimar as pestanas", rever várias vezes o vídeo sobre regras de megócio, consultar o packagist do DataLayer tive o seguinte resultado: no comando $this->find("email = :email", "email = {$this->email}")->count() o segundo parametro, obrigatoriamente, não deve conter espaços em branco, "email={$this->email}", e não vi sendo falado sobre esta exigência. Voce poderia me orientar quanto a isto? Desde já agradeço.
Boa noite mestre Robson. Estou realmente muito empolgado com a série e principalmente a sua didática que é impecável. Mas mais uma vez com dúvidas. Estou usando o DataLayer 1.1.4, e após fazer alteração no meu Models\User, implementando as funções de validação, estou obtendo o seguinte erro: Fatal error: Uncaught Error: Call to a member function prepare() on null in /var/www/codigoaberto/t1/vendor/coffeecode/datalayer/src/DataLayer.php:215 Stack trace: #0 /var/www/codigoaberto/t1/source/Models/User.php(39): CoffeeCode\DataLayer\DataLayer->count() #1 /var/www/codigoaberto/t1/source/Models/User.php(17): Source\Models\User->validateEmail() #2 /var/www/codigoaberto/t1/source/Controllers/Auth.php(32): Source\Models\User->save() #3 /var/www/codigoaberto/t1/vendor/coffeecode/router/src/Dispatch.php(143): Source\Controllers\Auth->register(Array) #4 /var/www/codigoaberto/t1/vendor/coffeecode/router/src/Dispatch.php(123): CoffeeCode\Router\Dispatch->execute() #5 /var/www/codigoaberto/t1/index.php(57): CoffeeCode\Router\Dispatch->dispatch() #6 {main} thrown in /var/www/codigoaberto/t1/vendor/coffeecode/datalayer/src/DataLayer.php on line 215 O $this->email existe e foi validado. if (!$this->id) { $userByEmail = $this->find("email = :email", "email = {$this->email}")->count();find("email = :email AND id != :id", "email = {$this->email} & id = {$this->id}")->count(); } Help-me. Grato.
Opa, tenta remover os espaços dentro do segundo parametro do find, ficando desta forma: $userByEmail = $this->find("email = :email", "email={$this->email}")->count(); Como isso é uma query SQL, pode gerar erros.
Como faço pra salvar as configurações de cada usuario?? Tipo, cada usuario ter suas proprias config de conta e tals, pq desse jeito nao importa o login q eu entre, sempre vai para mesma pagina com as mesmas configs
Uma dica para os próximos episódios: um sistema de login com níveis de acesso, basicamente separar o administrador (que vai para o painel administrativo), o editor (tbm painel mas com restrições) e o usuário que pode apenas comentar um post por exemplo. Sei fazer isso com Laravel, e até em php puro, mas não consigo fazer dentro de uma estrutura MVC de jeito nenhum. O Laravel deixa a gente "burro", :). Brincadeira a parte, sou fã do seu canal.
Boa noite, primeiramente quero te parabenizar, ótima serie, você esta mostrando que o PHP não é só gambiarra como muitos dizem. Fiquei com uma duvida, você implementou a regra de login no Controller o certo não seria no Model ?
Diogo Medeiros ai, conseguiu fazer tudo? Eu fiz mais na hora de logar ele da erro de senha, não sei pq mais a senha ele não ta verificando e comparando pra logar, mais vou rever amanha pra ver oq ta acontecendo...
Quando o mestre diz que somos artistas é verdade. É lindo de ver a codificação e a regra de negócio. Parabéns! Vamos pra cima!
Muito útil. Parabéns
Parabéns Robson pela aula! Acompanho cada aula com expectativa de aprender mais. Sou iniciante na parte de programação PHP. Conheço programação em Visual Basic e C#, usando o Visual Studio, mas é sempre interessante novas tecnologias. Forte Abraço.
Estou quase terminando a série... todo mudo que comentou, o fez logo que a série foi lançada, mas o conteúdo continua atraindo pessoas. Obrigado. Aproveito para falar que fiz também as aulas de PHP do jeito certo. Nessa série so senti falta de criar junto o User Model do jeito certo (não sei se usou dataLayer la também). Os aulas aqui do canal (e da UpInside) são otimas. Parabens Robson.
Como e lindo o código bem trabalhado .... Parabéns prof !!!
Show Robson, maravilha de vídeo
Nesta serie vai conter o fluxo interno desde sistema como menu e um Crud com pesquisa. Obg pela serie. Sigo desde quando começou a empresa la para o ano 2000 e pouco onde só existia Lan House e tele centros kkk.. Parabéns Robson
Parabéns esse vídeo foi sensacional.
Ha, se os Professores de todas as áreas tivessem a tua Didática, sinceramente; nosso País seria outro, nós estaríamos em outro Nível. Nestes momentos de Crise e incertezas, mais do que nunca; necessitamos de pessoas que nem você. Você merece o Sucesso que possui, meus parabéns e muito obrigado.
Tá ficando muito show! Parabéns
Muito Bom suas aulas. Aprendo muito com elas. Espero já o ep 5
Muito show!!!
Salutar é o termo correto para essa série. Parabéns, professor.
gerou muito valor para min, entao logo um like.
SUCESSO!!!
muiiiiiiiiiiiiito bom!!!!
Fala Robson , tudo bom?
Estou com uma duvida: O controller Web redireciona caso ja esteja logado, so que se caso tivessemos uma Home nao poderiamos entrar nela, seriamos redirecionados.
Um exemplo é o seu projeto CafeControl, ele tem a Home e o Blog e nao é redirecionado caso esteja logado, so quando entra no Login ou Cadastro.
Agradeceria se pudesse fornecer o codigo fonte do Projeto CafeControl, desde ja agradeço
Não sei se é pratica mais acredito na soma de uma boa didática e muito esforço o professo sabe o quanto sou cabeça oca e muita pratica mais muita msm pq eu realmente tinha muito vicio de linguagem e na construção de um sistema de login como esse vixi prefiro nem fala então vamo que vamo hj não tive nenhum erro inclusive o do message eu não errei os para casa eu so tive a duvida do save pq eu ainda to engatinhando nessa parte mais vamo para proxima que venha agora para mim a pior parte que é os login via rede sociais pq nao tenho face então criei um so para este proposito ai ja viu obrigado tmj
CAda vez mais ansioso pelo dia 20 para saber das promoções,kkkkkkkkk; Show de de código;
Boa tarde, eu ja programo da maneira tradicional, até então a OO tem sido meio complicada, seu método tem me ajudado bastante,
você aborda o tema de maneira muito eficiente, e sei que não tem como eu fugir desse paradigma. Então, obrigado.
Eu estou usando o PS, também é outra mudança, eu usava o DreamWeaver, cada um tem seus pros e contras, mas estou me adaptando.
Agora minha duvida...
Na CLASSE AUTH, eu criei os métodos forget e reset, exatamente da maneira que vc explicou, mas no forget o user->save() não funciona, ele vai para o metodo save da classe USER e me devolve a mensagem de "Email Ja Cadastrado" (que é a resposta do User\validateEmail()), eu consigo gravar o forget(Hash) se eu comentar o método save da classe USER.
O mesmo ocorre na hora de salvar a nova senha.
Ou seja, no meu entendimento, o metodo Users\save() não entende que é update.
Fala Robson, muito bom os seus videos! Ta de parabens!!! Like Like !
Gostaria de saber se mais a seguir nesta serie vai complementar esse sistema de login e cadastro, pois ainda está bem simples, sem proteção contra alguns tipos de ataque e etc. ??
Xss, csrf e outros mais conhecidos. Mas digo também em colocar algo mais como o "lembrar-me" no login.
E tbm se poderia colocar no Dashboard do usuario algo para ele controlar, no caso poderia ser tipo uma lista de contatos, ai poderia inserir, editar e deletar
Fala Robson... NÃO ENTENDI: pq tem horas que vc redireciona com router->redirect(...) e tem horas q usa o ajaxResponse("redirect"... Por favor tem como explicar? Um abraço e excelente trabalho.
Opa Carlos, tudo bem? É assim: Quando o controlador tem que responder um pedido enviado pelo Ajax, ele responde com o ajaxResponse. Isso acontece quando um formulário no front envia um post pro php e a resposta tem que ser algo que o ajax entenda o que fazer depois que pode ser exibir uma mensagem ou redirecionar dependendo da ação. Já quando ele usa o router dentro da aplicação é pq é uma ação da aplicação em si e não é enviada a partir de um formulário, como um link, um botão, ou até mesmo se a pessoa digitar na barra de endereço.
Espero que tenha ficado claro.
Ótimo entendi. Obrigado
Bom dia mestre Robson.
Depois de "queimar as pestanas", rever várias vezes o vídeo sobre regras de megócio, consultar o packagist do DataLayer tive o seguinte resultado: no comando $this->find("email = :email", "email = {$this->email}")->count() o segundo parametro, obrigatoriamente, não deve conter espaços em branco, "email={$this->email}", e não vi sendo falado sobre esta exigência. Voce poderia me orientar quanto a isto? Desde já agradeço.
MANO, MUITO OBRIGADO. TAVA O DIA INTEIRO PARADO POR CAUSA DESSA PORRA. VOCÊ NÃO FAZ IDEIA DO QUANTO ME AJUDOU!!!!!!!!!!
Boa noite mestre Robson.
Estou realmente muito empolgado com a série e principalmente a sua didática que é impecável.
Mas mais uma vez com dúvidas. Estou usando o DataLayer 1.1.4, e após fazer alteração no meu Models\User, implementando as funções de validação, estou obtendo o seguinte erro:
Fatal error: Uncaught Error: Call to a member function prepare() on null in /var/www/codigoaberto/t1/vendor/coffeecode/datalayer/src/DataLayer.php:215 Stack trace: #0 /var/www/codigoaberto/t1/source/Models/User.php(39): CoffeeCode\DataLayer\DataLayer->count() #1 /var/www/codigoaberto/t1/source/Models/User.php(17): Source\Models\User->validateEmail() #2 /var/www/codigoaberto/t1/source/Controllers/Auth.php(32): Source\Models\User->save() #3 /var/www/codigoaberto/t1/vendor/coffeecode/router/src/Dispatch.php(143): Source\Controllers\Auth->register(Array) #4 /var/www/codigoaberto/t1/vendor/coffeecode/router/src/Dispatch.php(123): CoffeeCode\Router\Dispatch->execute() #5 /var/www/codigoaberto/t1/index.php(57): CoffeeCode\Router\Dispatch->dispatch() #6 {main} thrown in /var/www/codigoaberto/t1/vendor/coffeecode/datalayer/src/DataLayer.php on line 215
O $this->email existe e foi validado.
if (!$this->id) {
$userByEmail = $this->find("email = :email", "email = {$this->email}")->count();find("email = :email AND id != :id", "email = {$this->email} & id = {$this->id}")->count();
}
Help-me.
Grato.
Opa, tenta remover os espaços dentro do segundo parametro do find, ficando desta forma:
$userByEmail = $this->find("email = :email", "email={$this->email}")->count();
Como isso é uma query SQL, pode gerar erros.
@@lucasj.pereira4912 Ok. Muito obrigado.
Como faço pra salvar as configurações de cada usuario?? Tipo, cada usuario ter suas proprias config de conta e tals, pq desse jeito nao importa o login q eu entre, sempre vai para mesma pagina com as mesmas configs
Ah que massa!
toda essa aula pode ser feita no visual studio code?
Uma dica para os próximos episódios: um sistema de login com níveis de acesso, basicamente separar o administrador (que vai para o painel administrativo), o editor (tbm painel mas com restrições) e o usuário que pode apenas comentar um post por exemplo. Sei fazer isso com Laravel, e até em php puro, mas não consigo fazer dentro de uma estrutura MVC de jeito nenhum. O Laravel deixa a gente "burro", :). Brincadeira a parte, sou fã do seu canal.
Eu tenho a mesma questão...
Um abraço!
Robson poderia mostrar como utilizar o jwt com php puro sem framework ?
Boa noite, primeiramente quero te parabenizar, ótima serie, você esta mostrando que o PHP não é só gambiarra como muitos dizem. Fiquei com uma duvida, você implementou a regra de login no Controller o certo não seria no Model ?
Caramba pai, tu demoro hein 😍
e ai paizão resolveu as outras aulas ? foi bem ? eu consegui chegar até aki mais no dever de casa da aula 03 não fui tao bem mais vao pra proxima
Diogo Medeiros ai, conseguiu fazer tudo? Eu fiz mais na hora de logar ele da erro de senha, não sei pq mais a senha ele não ta verificando e comparando pra logar, mais vou rever amanha pra ver oq ta acontecendo...
@@reinaldorti o meu por incrivel que pareca nao deu erro nenhum olhe a digitação dos parametros e tente novamente qualquer coisa chama vlw tamo junto
Diogo Medeiros eu olhei varias vezes e devo ter passado batido em algum detalhe, mais amanhã eu vejo com calma...
@@reinaldorti realmente descansar é top amanha vc vai esta 1000% ai vai conseguir resolver com certeza mais reitero se precisar tamo aki vlw
Alguém com problemas de CORS no jquery ajax?
share share.....
#devraiz #fsphp #phptip
ótims
Poderia me dar uma orientação
Se poder manda o ZAP por gentileza
Tem como fazer isso aí com o procedural? esse POO é negócio de maluco
Não entendi foi nada !!!
Que php é esse meu Deus ???
É esse pages.upinside.com.br/fsphp/
Há! caso queira degustar + segue uma série fodastica...
th-cam.com/video/Zl1ZgfM9rSQ/w-d-xo.html
@@reinaldorti sem duvida é a melhor ....
Aquele talento maroto ne... heheheh
drive.google.com/file/d/1DTYZlt-Js2ma_JtyelxKYRmg_QLE1QOx/view