Você está na página 1de 5

Notcias

Entretenimento

Esportes

Vdeos

Rede Record

E-mail
(0) MEU CONTEDO / LOGIN / CADASTRE-SE

Categorias

(0) Meu contedo

Apostilas

Colabore

Cursos

Dicas

Empresas

Especiais

Guia do Windows 8
(novo)

Mais

Oficina da Net Artigos Desenvolvimento Programao PHP

Sistema de Login em PHP com Codeigniter


Ol pessoal, recentemente tive que fazer um sistema de login em codeigniter e resolvi disponiblizar aqui. um sistema bem simples que utiliza: Banco de dados MySQL; Framework CodeIgniter; Geralmente utilizo a IDE Netbeans para programar em PHP;
Por: Henrique Martins Leal | Data: 19/07/2011

DESTAQUE

Microsoft confirma: MSN vai acabar e usurios migraro para o Skype em 15 de maro

Workflows em SharePoint
www.iteris.com.br

Siga-nos nas redes sociais

A melhor equipe de desenvolvimento. Conte com a empresa mais capacitada Novos Posts
21:00

Cientistas usam DNA para armazenar dados Nokia deu adeus ao Symbian Google Imagens recebe nova interface Buscap anuncia servios de clculo de frete e compra rpida em seu ... Nexus 7 j vendido no Brasil... pelo triplo do preo

20:30

Ol pessoal, recentemente tive que fazer um sistema de login em codeigniter e resolvi disponiblizar aqui. um sistema bem simples que utiliza: Banco de dados MySQL; Framework CodeIgniter; Geralmente utilizo a IDE Netbeans para programar em PHP;

15:34 14:28

10:23

Veja que a tabela de registro de usurios a mais simples possvel

As informaes foram teis? Por Melhores em favor, nos ajude com um +1 no Google, clique no boto abaixo:
+11 Recomende isto no Google

PHP

17/10/2007

Colocando um formulrio de contato em seu site, usando ...


03/09/2007

C R E A T ET A B L EI FN O TE X I S T S` m e m b e r s h i p `( ` i d `i n t ( 1 1 )N O TN U L LA U T O _ I N C R E M E N T , ` u s e r n a m e `v a r c h a r ( 3 2 )N O TN U L L , ` p a s s w o r d `v a r c h a r ( 3 2 )N O TN U L L , ` s t a t u s `t i n y i n t ( 1 )N O TN U L L , P R I M A R YK E Y( ` i d ` ) )E N G I N E = M y I S A MD E F A U L TC H A R S E T = u t f 8A U T O _ I N C R E M E N T = 1 ;

Montando lbum de fotos em php


04/12/2007

Formulrio de Email em PHP com resposta automtica


12/08/2011

Voc pode adicionar mais dados na sua tabela, como nome, telefone, endereo essas coisas, mas o bsico isso ai * No reparem mas gosto de todos os nome em ingles galera =)

Criando um cadastro de cliente com PHP e MySQL


12/07/2008

PHP :: Enviando e-mail autenticado

Model: membership_model.php
Logo aps isso precisamos criar um model com o nome membership_model.php dentro da pasta application/models com o seguinte contedo:

Siga os tpicos
Xbox
10 s egui dores

Mac OSX

11 s egui dores

< ? p h p c l a s sM e m b e r s h i p _ m o d e le x t e n d sC I _ M o d e l{ #V A L I D AU S U R I O f u n c t i o nv a l i d a t e ( ){

Android

166 s egui dores

Foxconn

6 s egui dores

Kindle

4 s egui dores

Joomla

12 s egui dores

$ t h i s > d b > w h e r e ( ' u s e r n a m e ' ,$ t h i s > i n p u t > p o s t ( ' u s e r n a m e ' ) ) ; $ t h i s > d b > w h e r e ( ' p a s s w o r d ' ,m d 5 ( $ t h i s > i n p u t > p o s t ( ' p a s s w o r d ' ) ) ) ; $ t h i s > d b > w h e r e ( ' s t a t u s ' ,1 ) ;/ /V e r i f i c aos t a t u sd ou s u r i o $ q u e r y=$ t h i s > d b > g e t ( ' m e m b e r s h i p ' ) ; i f( $ q u e r y > n u m _ r o w s= =1 ){ r e t u r nt r u e ;/ /R E T O R N AV E R D A D E I R O } } #V E R I F I C AS EOU S U R I OE S T L O G A D O f u n c t i o nl o g g e d ( ){ $ l o g g e d=$ t h i s > s e s s i o n > u s e r d a t a ( ' l o g g e d ' ) ;

Lulz Security

8 s egui dores

Wii

3 s egui dores

Mais comentados
Voc gostaria de trabalhar num lugar assim, tipo o Google? 5 A volta do Megaupload
5

} }

i f( ! i s s e t ( $ l o g g e d )| |$ l o g g e d! =t r u e ){ e c h o' V o c en a ot e mp e r m i s s a op a r ae n t r a rn e s s ap a g i n a .< ah r e f = " h t t p : / / w w w . o f i c i n a d a n e t . c o m . b r / l o g i n " > E f e t u a rL o g i n < / a > ' ; d i e ( ) ; Oracle cria correo para erro } grave do Java 4

Cursos Online Oficina da Net


Curso de PHP intermedirio

Procurei colocar o mais comentado possvel mas em resumo o mtodo validate() valida retorna True apenas se encontrar uma linha com username, password igual ao digitado no formulrio e claro o status ainda deve ser 1 para o usurio estar ativo.

por: R$ 80,00
MATRICULE-SE

3x de R$ 26,67
Curso de Vdeo Lightbox
por: R$ 0,00

Controller: login.php
Bom agora para colocar a mo na massa devemos configurar algumas coisas no CodeIgniter. As configuraes do CodeIgniter ficam dentro da pasta application/config - No arquivo autoload.php devemos chamar as libraries: 'database' e 'session' Uma novidade do CodeIgniter 2.0 que agora as sesses so criptografadas e precisamos de uma chave de criptografica para colocar no arquivo config.php eu sempre uso uma string randomica gerada pelo site: http://www.random.org/strings/ Exemplo:

3x de R$ 0,00
MATRICULE-SE

Curso de PHP
por: R$ 90,00

3x de R$ 30,00
MATRICULE-SE

/ /S e ua r q u i v oc o n f i g . p h pd e v ef i c a rm a i so um e n o sa s s i m $ c o n f i g [ ' e n c r y p t i o n _ k e y ' ]=' Z g H F y Y 7 p C u 8 L P W p F E e R s ' ;

Ento iremos criar uma pasta chamada admin dentro de application/controllers/login. No arquivo routes.php dentro da pasta application/config/routes.php, vamos adicionar um controlador default para para a pasta login:

/ /A d i c i o n a ras e g u i n t er o t ap a r au r ll o g i n $ r o u t e [ ' l o g i n ' ]=' l o g i n / l o g i n ' ;

* Note que ja efetuo as validaes para o campo username e password no sejam mandados em branco.

< ? p h p i f( ! d e f i n e d ( ' B A S E P A T H ' ) ) e x i t ( ' N od i r e c ts c r i p ta c c e s sa l l o w e d ' ) ; c l a s sL o g i ne x t e n d sC I _ C o n t r o l l e r{ f u n c t i o n_ _ c o n s t r u c t ( ){ p a r e n t : : _ _ c o n s t r u c t ( ) ; }

f u n c t i o ni n d e x ( ){ / /V A L I D A T I O NR U L E S $ t h i s > l o a d > l i b r a r y ( ' f o r m _ v a l i d a t i o n ' ) ; $ t h i s > f o r m _ v a l i d a t i o n > s e t _ r u l e s ( ' u s e r n a m e ' ,' U s e r n a m e ' ,' r e q u i r e d ' ) ; $ t h i s > f o r m _ v a l i d a t i o n > s e t _ r u l e s ( ' p a s s w o r d ' ,' P a s s w o r d ' ,' r e q u i r e d ' ) ; $ t h i s > f o r m _ v a l i d a t i o n > s e t _ e r r o r _ d e l i m i t e r s ( ' < pc l a s s = " e r r o r " > ' ,' < / p > ' ) ;

/ /M O D E L OM E M B E R S H I P $ t h i s > l o a d > m o d e l ( ' m e m b e r s h i p _ m o d e l ' ,' m e m b e r s h i p ' ) ; $ q u e r y=$ t h i s > m e m b e r s h i p > v a l i d a t e ( ) ; i f( $ t h i s > f o r m _ v a l i d a t i o n > r u n ( )= =F A L S E ){ $ t h i s > l o a d > v i e w ( ' l o g i n / l o g i n _ v i e w ' ) ; }e l s e{ i f( $ q u e r y ){/ /V E R I F I C AL O G I NES E N H A $ d a t a=a r r a y ( ' u s e r n a m e '= >$ t h i s > i n p u t > p o s t ( ' u s e r n a m e ' ) , ' l o g g e d '= >t r u e ) ; $ t h i s > s e s s i o n > s e t _ u s e r d a t a ( $ d a t a ) ; r e d i r e c t ( ' l o g i n / a r e a _ r e s t r i t a ' ) ; }e l s e{ r e d i r e c t ( $ t h i s > i n d e x ( ) ) ; } } } }

Views: login_view.php e area_restrita_view.php


Dentro da pasta de views do Codeigniter iremos criar uma pasta como o nome de login tambm para separar os arquivos do site dos arquivos da rea de administrao. Dentro dessa pasta teremos um arquivo como o nome login_view.php que ser o formulrio de login e tambm o default da classe login ento o primeiro arquivo a ser chamado.

< ! D O C T Y P Eh t m l > < h t m l > < h e a d > < t i t l e > r e aR e s t r i t a < / t i t l e > < m e t ah t t p e q u i v = " C o n t e n t T y p e "c o n t e n t = " t e x t / h t m l ;c h a r s e t = U T F 8 " > < s t y l et y p e = " t e x t / c s s " > b o d y{ b a c k g r o u n d :# F F F ;f o n t f a m i l y :V e r d a n a ;f o n t s i z e :9 p t ;} # f o r m _ l o g i n{w i d t h :5 0 0 p x ;m a r g i n :0a u t o ;p a d d i n g :2 0 p x ;b a c k g r o u n d :# F 2 F 2 F 2 ;b o r d e r :1 p xs o l i d# B 7 B 7 B 7 ;} l a b e l{d i s p l a y :b l o c k ;m a r g i n b o t t o m :0 . 3 e m ;} i n p u t [ t y p e = t e x t ] ,i n p u t [ t y p e = p a s s w o r d ]{b o r d e r :1 p xs o l i d# 6 6 6 ;d i s p l a y :b l o c k ;m a r g i n b o t t o m :1 e m ;p a d d i n g :2 p x ;w i d t h :1 0 0 % ;} i n p u t [ t y p e = t e x t ] ,i n p u t [ t y p e = p a s s w o r d ]{d i s p l a y :b l o c k ;} h 1{m a r g i n :001 e m0 ;t e x t a l i g n :c e n t e r ;} . e r r o r{b a c k g r o u n d :n o n er e p e a ts c r o l l00# F B E 6 F 2 ;b o r d e r :1 p xs o l i d# D 8 9 3 A 1 ;p a d d i n g :5 p x ;} < / s t y l e > < / h e a d > < b o d y > < h 1 > T e l ad eL o g i n < / h 1 > < d i vi d = " f o r m _ l o g i n " > < ? p h pe c h ov a l i d a t i o n _ e r r o r s ( ) ;? > < ? p h p e c h of o r m _ o p e n ( ) ; e c h of o r m _ l a b e l ( ' U s e r n a m e ' ,' u s e r n a m e ' ) ; e c h of o r m _ i n p u t ( ' u s e r n a m e ' ,' ' ) ; e c h of o r m _ l a b e l ( ' P a s s w o r d ' ,' p a s s w o r d ' ) ; e c h of o r m _ p a s s w o r d ( ' p a s s w o r d ' ,' ' ) ; e c h of o r m _ s u b m i t ( ' s u b m i t ' ,' E n t r a rn os i s t e m a ' ) ; ? > < ? p h pf o r m _ c l o s e ( ) ;? > < / d i v > < / b o d y >

< / h t m l >

Notem que esse um formulrio de login bem simples coloquei um pouquinho de CSS pra no ficar to feio assim. Bom esse se voc configurou tudo certinho agora quando voc efetuar um login no site ele ir redirecionar voc para o controlador area_restrita.php que chama a view area_restrita_view.php. No controlador devemos colocar uma proteo para caso algum saiba a url em questo no possa visualizar o contedo e seja redirecionada para outro lugar.

Controlador: area_restrita.php
< ? p h p i f( ! d e f i n e d ( ' B A S E P A T H ' ) ) e x i t ( ' N od i r e c ts c r i p ta c c e s sa l l o w e d ' ) ; c l a s sA r e a _ r e s t r i t ae x t e n d sC I _ C o n t r o l l e r{ f u n c t i o n_ _ c o n s t r u c t ( ){ p a r e n t : : _ _ c o n s t r u c t ( ) ; $ t h i s > l o a d > m o d e l ( ' m e m b e r s h i p _ m o d e l ' ,' m e m b e r s h i p ' ) ; $ t h i s > m e m b e r s h i p > l o g g e d ( ) ; } p u b l i cf u n c t i o ni n d e x ( ){ $ t h i s > l o a d > v i e w ( ' l o g i n / a r e a _ r e s t r i t a _ v i e w ' ) ; } }

Bom aqui simples no construtor da classe chamamos o model membership e usamos o mtodo logged() que verifica a sesso e permite ou no o a execuo desse controlador. S falta agora a area_restrita_view().

View: area_restrita_view
< ! D O C T Y P Eh t m l > < h t m l > < h e a d > < t i t l e > r e aR e s t r i t a < / t i t l e > < m e t ah t t p e q u i v = " C o n t e n t T y p e "c o n t e n t = " t e x t / h t m l ;c h a r s e t = U T F 8 " > < / h e a d > < b o d y > < h 1 > r e aR e s t r i t a < / h 1 > < / b o d y > < / h t m l >

Nesse ponto se tudo deu certo voc pode criar a rea de administrao para o seu site =). Esse mais um tutorial pra quem j sabe programar e tem um mdio conhecimento de #Codeigniter, no foi explicado conceitos sobre como funciona #MVC nem sobre a estrutura do #Codeigniter, mas d pra se virar bem ;) Abraos
Mais sobre: php, programao, codeigniter Henrique Martins Leal / Apaixonado por web, linux, software livre e metodologias geis, PHP/CodeIgniter e Python/Django. Acadmico de sist. de informao e webdeveloper /

FOLLOW:

COMPARTILHE:

Guia do PHP
SEGUIR
63 seguidores

Seguir
Curtir Share 11 9

VOC PODE GOSTAR DESTES POSTS RELACIONADOS:

Colocando um formulrio de contato em seu site, usando o...

Montando lbum de fotos em php

Formulrio de Email em PHP com resposta automtica

Criando um cadastro de cliente com PHP e MySQL

0 COMENTRIO (COMENTE VOC TAMBM)


necessrio login para comentar. Faa login com: OFICINA DA NET ou

Postar no Facebook

Atari pede falncia nos EUA

Intel anuncia abandono da fabricao de placas-me

Perigo na rede: aprenda a identificar ameaas virtuais e proteger-se

Migrar para o Windows 8 ficar mais caro em fevereiro

Cientistas usam DNApara armazenar dados

Tpicos em destaque
Apostilas grtis, Baixar msicas da internet, Concurso Correios 2013, Fluxograma, MSN para Skype Copyright 2012 Oficina da Net. Todos os direitos reservados.

Anuncie

Contato

Equipe

Sobre

Envie sua pauta