Uma das coisas necess\u00e1rias no desenvolvimento de um aplicativo \u00e9 uma telinha de login.<\/p>\n
\u00c9 uma bem sucedida entrada a que gera o par\u00e2metro contextual\u00a0u<\/strong><\/em> que \u00e9 essencial para a seguran\u00e7a do trip\u00e9 s-u-a do YeAPF.<\/p>\n Voc\u00ea precisar\u00e1 uma tela de login que chamaremos neste exemplo de f_login.html<\/em>, umas modifica\u00e7\u00f5es no yeapf.db.ini<\/em>, e a cria\u00e7\u00e3o de um usu\u00e1rio na tabela is_usuarios<\/strong>.<\/p>\n Lembre que logo ap\u00f3s do login satisfat\u00f3rio, o usu\u00e1rio ser\u00e1 redirecionado para e_index.html<\/em><\/p>\n Digamos que iremos criar um usu\u00e1rio chamado “ernesto<\/em><\/strong>” cuja senha ser\u00e1 “abc123<\/strong><\/em>”<\/p>\n O arquivo pode ser chamado de qualquer forma, todavia, seja qual for o nome ele precisa ser indicado no yeapf.db.ini<\/em>.<\/p>\n O essencial ali \u00e9 o formul\u00e1rio que em sua forma mais b\u00e1sica \u00e9 assim:<\/p>\n Por padr\u00e3o o yeapf.db.ini<\/em> vem para pular direto para o corpo do aplicativo. Ou seja, ele tentar\u00e1 ler o arquivo e_index.html<\/em>. Para modificar este comportamento, a vari\u00e1vel cfgJumpToBody<\/strong> deve estar valendo 0 e a vari\u00e1vel logonForm<\/strong>\u00a0deve conter o nome da tela de login.<\/p>\n Em outras palavras, modifique seu yeapf.db.ini<\/em> para que fique assim:<\/p>\n Finalmente reconfigure seu aplicativo chamando o configure.php<\/strong><\/em> mas indicando para destruir a configura\u00e7\u00e3o atual. \u00a0Lembre que yeapf.db.ini<\/em> \u00e9 apenas a configura\u00e7\u00e3o inicial que o configure.php<\/strong><\/em> utiliza para poder gerar o db.csv<\/em>. Uma vez que o db.csv<\/em> existe, ele n\u00e3o presta mais aten\u00e7\u00e3o ao yeapf.db.ini<\/em> mesmo que este seja modificado. Dai a necessidade de destruir o db.csv<\/em> para que seja reconstruido<\/p>\n Simplificando:<\/p>\n Uma das coisas necess\u00e1rias no desenvolvimento de um aplicativo \u00e9 uma telinha de login. \u00c9 uma bem sucedida entrada a que gera o par\u00e2metro contextual\u00a0u que \u00e9 essencial para a seguran\u00e7a do trip\u00e9 s-u-a do YeAPF. Voc\u00ea precisar\u00e1 uma tela de login que chamaremos neste exemplo de f_login.html, umas modifica\u00e7\u00f5es no yeapf.db.ini, e a cria\u00e7\u00e3o […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[49,8],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5O6UV-46","jetpack-related-posts":[{"id":25,"url":"http:\/\/www.yeapf.com\/wp\/?p=25","url_meta":{"origin":254,"position":0},"title":"Primeiros passos com YeAPF","date":"fevereiro 22, 2014","format":false,"excerpt":"Tive oportunidade de ver minha irm\u00e3 mais nova andar sozinha pela primeira vez e nunca mais esqueci da experi\u00eancia. \u00a0Anos depois naceram os filhos e o impacto \u00e9 tremendo. Brinco com quem programa usando YeAPF de que s\u00e3o meus filhos, carinhosamente. Por isso que os primeiros passos s\u00e3o importantissimos para\u2026","rel":"","context":"Em "Yet Another PHP Framework"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":261,"url":"http:\/\/www.yeapf.com\/wp\/?p=261","url_meta":{"origin":254,"position":1},"title":"Criando sua pr\u00f3pria rotina de login","date":"janeiro 20, 2016","format":false,"excerpt":"YeAPF inclui\u00a0por padr\u00e3o uma rotina interna de login. Todavia, nem sempre ela \u00e9 suficiente ou adequada para o login de seus usu\u00e1rios, especialmente em sistemas legados. Por isso pode ser \u00fatil criar a nossa pr\u00f3pria rotina de logon. Os passos s\u00e3o simples: 1) Indique ao aplicativo para carregar sempre seu\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":19,"url":"http:\/\/www.yeapf.com\/wp\/?p=19","url_meta":{"origin":254,"position":2},"title":"Preenchendo listas de op\u00e7\u00f5es e tabelas","date":"fevereiro 20, 2014","format":false,"excerpt":"Uma das atividades corriqueiras na programa\u00e7\u00e3o web e mobile \u00e9 o preenchimento de lista de op\u00e7\u00f5es e tabelas para o usu\u00e1rio poder escolher um item baseado numa pesquisa anterior. A partir da vers\u00e3o 0.8.25 YeAPF disponibiliza o ycomm-dom.js que estende as capacidades do ycomm ao poder aplicar o resultado de\u2026","rel":"","context":"Post similar","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":432,"url":"http:\/\/www.yeapf.com\/wp\/?p=432","url_meta":{"origin":254,"position":3},"title":"Usando Raspberry com ElectronJS em modo Quiosque","date":"julho 25, 2018","format":false,"excerpt":"Temos um Raspberry e um desafio de fazer um sistema de senhas de atendimento que rode em qualquer plataforma. Ent\u00e3o instalamos node, um boilerplate do electron, uma interface gr\u00e1fica e o YeAPF para fornecer um webservice acess\u00edvel por um consumidor qualquer com uma tela tipo quiosque. Instalando as coisas. Estamos\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"https:\/\/i2.wp.com\/www.yeapf.com\/wp\/wp-content\/uploads\/2018\/07\/WhatsApp-Image-2018-07-24-at-17.15.10-1-300x224.jpeg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":392,"url":"http:\/\/www.yeapf.com\/wp\/?p=392","url_meta":{"origin":254,"position":4},"title":"Gerando um formul\u00e1rio para CRUD a partir de um select","date":"abril 30, 2018","format":false,"excerpt":"Esses dias me deparei com a necessidade de produzir um formul\u00e1rio cujos campos n\u00e3o s\u00e3o produto de uma tabela \u00fanica mas sim de um\u00a0left join.\u00a0 Para uma tabela \u00fanica, o comando \u00e9 o seguinte ~\/www\/YeAPF\/tools\/ydbcreateform --db 192.168.56.250:nossoConsultorio_teste --user esteban --pass senha --type mysqli --table clinicas --name \"clinicas\" Ai modifiquei o\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":91,"url":"http:\/\/www.yeapf.com\/wp\/?p=91","url_meta":{"origin":254,"position":5},"title":"Aplicativos mono p\u00e1gina","date":"mar\u00e7o 14, 2014","format":false,"excerpt":"Aplicativos que usam s\u00f3 uma p\u00e1gina t\u00eam um lugar assegurado no desenvolvimento de software atual e futuro. Bem feitos s\u00e3o elegantes e f\u00e1ceis de manter. Tamb\u00e9m s\u00e3o uma m\u00e3o na roda na hora de fazer um aplicativo que funcione tanto em desktop como em mobile. Para construirmos um aplicativo com\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/254"}],"collection":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254"}],"version-history":[{"count":4,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":258,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions\/258"}],"wp:attachment":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}1) Crie um usu\u00e1rio na tabela\u00a0is_usuarios<\/em><\/h3>\n
insert into is_usuarios<\/strong>(id, senha, apelido, userRights) value (md5(FLOOR(RAND() * 10240) + 1024), md5('abc123'), 'ernesto', 65535);<\/pre>\n2) Crie uma tela de login chamada f_login.html<\/h3>\n
<form method='post<\/strong>' action='index.php<\/strong>'>\r\n <input type='hidden' name='s<\/strong>' value='logon<\/strong>'>\r\n Nome: <input type='text' name='q2<\/strong>'><br>\r\n Senha: <input type='password' name='q1<\/strong>'><br>\r\n <input type='submit' value='Ingressar'>\r\n<\/form><\/pre>\n
3) Modifique o\u00a0yeapf.db.ini<\/em><\/h3>\n
logonForm=f_logon\r\ncfgJumpToBody=0<\/pre>\n
4) Reconfigure seu aplicativo<\/h3>\n
configure.php?destroydb=yes<\/pre>\n","protected":false},"excerpt":{"rendered":"