Sejam todos bem vindos à mais uma aula do curso de criação de um painel administrativo utilizando PHP e orientação a objetos. Nesta aula faremos a criação do corpo do nosso painel, os arquivos de cabeçalho, rodapé e menu de navegação. Tudo será devidamente formatado via CSS para dar uma boa aparência ao sistema e para finalizar iremos criar o menu accordion com jQuery.
Este post faz parte de uma série, confira tudo que já foi publicado sobre o mesmo assunto.
Sou técnico em hardware e desenvolvedor web, e sobre estes dois assuntos comecei a compartilhar aulas e artigos, tornando-me blogueiro em 2008. Em 2010 esse hobby virou profissão, e desde então tenho buscado melhorar e profissionalizar cada vez mais os projetos que mantenho na web.
Atualmente temos 42 comentários para este post. Participe você também, clique aqui e comente sobre o assunto.
tbm nas classes header sidebar e footer já revisei e não há "aparentemente nada de errado".
Respondererro do console do chrome:
(2) Failed to load resource: net :: ERR_TOO_MANY_REDIRECTS
x GET http://localhost/painelAdministrativo/painel.php net::ERR_TOO_MANY_REDIRECTS
x GET http://localhost/painelAdministrativo/painel.php net::ERR_TOO_MANY_REDIRECTS
Sua página está com algum erros nos redirecionamentos que faz com que o loop nunca termine, revise todos os REDIRECTS do seu código e possivelmente encontrará algum erro.
ResponderCerto vou validar tudo novamente
ResponderRicardo consegui resolver o problema do loop de direcionamento porém tem um problema na minha classe de sessao.class.php
erro apresenta quando faço login e vai pro painel.php
Notice: A session had already been started - ignoring session_start() in C:\xampp\htdocs\painelAdministrativo\classes\sessao.class.php on line 16
minha linha 16 do sessao.class.php é -> session_start();
esse é o verificaLogin do funcoes.php conforme você fez
function verificaLogin(){
$sessao = new sessao();
if($sessao->getNvars() getVar('logado')!= TRUE || $sessao->getVar('ip') != $_SERVER['REMOTE_ADDR']):
redireciona('?erro=3');
endif;
}//vai verificar session, se pode ou não acessar certas páginas
==================================
Sabe o que pode estar dando essa notice??
Faça uma condicional que verifica se uma sessão já estiver iniciada para que o sistema pule o session_start que tudo se resolve.
ResponderOpá já resolvi, kkkk' leu meus pensamentos.. mas mesmo assim obrigado pela ajuda, atenção e profissionalismo! Parabéns Ricardo ;D
if(empty($_SESSION)): //valida se já tem uma sessão inicializada, aberta
session_start();
endif;
Olá Ricardo
tudo funcionou bem, com exceção do arquivo geral.js que não funciona de jeito nenhum; existe alguma configuração adicional?
RESOLVIDO: faltou apenas o cabeçalho $(document)...
Obrigado!
Olá Ricardo, Parabéns, está realmente muito bom o curso, estou aprendendo bastante.
Me deparei com o seguinte erro:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
pelo o que busquei saber, o erro é por causa da sessão não estar no começo de tudo. Já modifiquei varias coisas e continua.
Poderia me ajudar.
Grato desde já.
ResponderTente colococar um ob_start() no início do arquivo funções e um ob_clean() no final dele
ResponderBoa tarde.
Suas aulas são ótimas.
Tive um pequeno problema com o 'accordion', em 'geral.js' não há o reconhecimento do "click" nem do "parent", dessa forma o meu não funciona, para acompanhar a aula eu fiz um ":hover" para dar um efeito parecido.
O que posso fazer para resolver o problema?
Obrigado por sua disposição em realizar essas aulas.
ResponderVerifique sua codificação, deve haver algo errado com seu JS
ResponderOlá Ricardo, estou aqui apenas para agradecer e relatar que a sua didática e muito boa, e como você mesmo diz GENTE prestem a atenção na digitação e pontuação tudo funciona perfeitamente principalmente se não trocar nomes de variáveis.
ResponderOlá eu novamente meu css não ta carregando direito veja a imagem
http://www.iaza.com/work/130314C/iaza17669682256100.png
a barra dali de cima não aparece somente a de baixo veja a minha agora
http://www.iaza.com/work/130314C/iaza17669698004300.png
ResponderVerifique sua codificação, ou você tem erros no HTML ou no CSS
ResponderRicardo, me ajude por favor.
Criei um novo módulo, até então no sidebar aparece tudo direitinho já tem um link e tals, só que criei um formulário para alteração de dados do bd, só que quando faço isso dinamicamente no dreamweaver e salvo tudo certinho, quando eu vou ver lá na minha página, o formulário dinâmico, simplesmente não aparece, só aparece o cabeçalho, cujo vimos nas vídeo-aulas! Por favor me ajude, já estou quebrando minha cabeça!
Alguma coisa errada deve haver com seu módulo, inspecione tudo e/ou reveja sua lógica.
ResponderPutz, estava tudo perfeito!
Até que, após a implantação das sessions, começou a dar pau no funcoes.php, dando loop infinito nos redirects, até que a página fecha... alguém passou por isso?
Obrigado!
ResponderBoa noite Ricardo,
Obrigado pelas videoaulas, material de 1ª.
tire uma duvida, na codificação do geral.js já tinha a do radius5 para o fild, input e text. quando acresentei a codificação do accordion o mesmo não funcionou.
depois de muito teste isolando as partes tive sucesso.
a solução foi inverter a posição da codificação primeiro fiz a do accordion e segundo a do radius5. Sabe me dizer o por que do conflito?
Desde já grato.
ResponderUse alguma ferramenta para debugar seu javascript, assim você descobre o que está causando o erro.
ResponderAs vezes o problema pode ser o dos Usuários não estar antes do que fecha o
pelo menos este foi o problema comigo.
No arquivo sidebar.php
ResponderNa verdade Ricardo ficou assim meu codigo em funcoes.php
if($sessao->getNvars()<=0 || $sessao->getVar('logado')==TRUE || $sessao->getVar('ip')==$_SERVER['REMOTE_ADDR']):
redireciona('?erro=3');
endif;
e na classe usuarios.php ficou assim
$sessao = new sessao();
if($sessao->getNvars() > 0 || $sessao->getVar('logado')==TRUE|| $sessao->getVar('ip')==$_SERVER['REMOTE_ADDR']) redireciona('painel.php');
revisei todo o codigo e assim funcionou de acordo com a video aula e não deixa o usuario entrar direto no painel.php pelo link só logando eu não sei se essa alterção que fiz nos scripts afetará nas proximas aulas se estiver errado por favor me corrija...Obrigado
ResponderOla Galera, como diz aquele velho ditado "UM PEQUENO DETALHE NA VIDA, FAZ A DIREFENÇA" e no php tbm, rsrsrsr, estou trazendo um pouco do meu conhecimento sou ainda leigo ainda em PHP e pra quem esta ainda tendo problemas para fazer login com o que foi passado aqui pelo Ricardo na Aula 06 e esta dando aquele mesmo erro de loop (redirecionamento), e não consegue acessar o (painel.php) e só consegue acessar o painel quando vcs tiram o codigo ** verificaLogin(); ** do php ai vai a dica...
Não mudem nada no script passado pelo Ricardo apenas um ponto de exclamação no código em funcoes.php vejam...
Esse seria um pedaço do código passado pela video aula
function verificaLogin(){
$sessao = new sessao();
if($sessao->getNvars()<=0 || $sessao->getVar('logado')!=TRUE):
redireciona('?erro=3');
endif;
Esse seria o codigo alterado apenas troquem o ponto de exclamação por mais um sinal de igual (=) antes da palavra TRUE e tenho certeza que funcionará perfeitamente, pelo menos aqui no meu funfou direitinho vejam a alteração
function verificaLogin(){
$sessao = new sessao();
if($sessao->getNvars()<=0 || $sessao->getVar('logado')==TRUE):
redireciona('?erro=3');
endif;
Deve haver um erro em outro local, pois fazendo essa alteração sugerida por você a lógica do sistema fica errada, você está dizendo o seguinte pro sistema:
Se não houver variáveis na sessão ou se a variável LOGADO for igual a TRUE (estranho não).
Quem está tendo o erro de loop infinito é porque fez alguma coisa errada em outro script, não alterem nada pois não é necessário, basta seguir tudo que é mostrado nas aulas.
ResponderEntendi Ricardo então estou com o mesmo tbm vou verificar novamente os scripts, obrigado.
ResponderBoa noite Ricardo, td bem?
na aula anterior tive o problema do verificaLogin() que até agora não consegui resolver, deixei ele comentado porque não vai! Agora nessa aula no header, ele reclama do protegeArquivo(); como se não leu o arquivo(funcoes.php).
Parse error: syntax error, unexpected 'protegeArquivo' (T_STRING) in C:\wamp\www\meu caminho...
ResponderRicardo, boa tarde. Existe algum canal via email para assinantes premium? Talvez com imagens eu consiga explicar melhor minha dúvida, mas rapidamente, é isso:
Tenho o charset definido no header conforme segue:
No entanto, a acentuação de todas as palavras dentro do header.php estão em forma de ? dentro de um losango preto.
E as demais páginas (sidebar.php, footer.php, e a div id=content) estão com a acentuação normal.
Você sabe como posso corrigir o erro da header?
Grato.
ResponderAssinatura > Suporte
Envie sua dúvida por lá, mas creio que você está com a codificação de sua página incorreta ou usou vários editores no mesmo arquivo causando algum conflito.
de graça até chumbo derretido
ResponderApenas corrigindo...primeiramente desculpas ao Sidney Jr. Miranda, quando me referi ao aprender a ler, copiei o nome errado essa parte do comentário era para o Leo.
Por favor peço ao Ricardo que se possível edite o meu comentário anterior e corrija os nomes do meu último comentário.
Obrigado.
ResponderAcho que fui mal interpretado...
Como disse no inicio do meu primeiro comentário, as aulas desse curso são muito boas, porém o conteúdo dessa aula em específico foi mais de ajustes nos arquivos praticamente e não teve uma quantidade de novidades comparadas as anteriores para ser compartilhada na quantidade exigida. Também sou a favor das metas, não falei nada sobre ser contra as metas no primeiro post. Apenas sugeri que diminiuisse uma vez que o conteúdo dessa aula, é praticamente rotina para a maioria das pessoas que estão acompanhando as aulas.
Leo, fica a dica, leia (mas no sentido literal da palavra...ler = ler, interpretar e entender) os comentários de cada usuário aqui do blog, antes de "tentar" insultar alguém, niniguém desmereceu o mérito de ninguém nem questionou o tempo "perdido" para gravar as aulas e nem o tempo necessário para compartilhar e sim quanto a observação feita para essa aula em específico.
Como pôde ser observado pelos demais comentários, o conteúdo dessa aula foi considerado apenas como básico e rotineiro para programadores (mesmo com nível de conhecimento básico).
Espero que tenha esclarecido o mal entendido e mais uma vez o ricardo está de parabéns pela iniciativa, e não por causa de um comentário mal interpretado por terceiros que deveria radicalizar e criar conteúdo apenas premium.
Forte abraços para todos.
ResponderVou deixa bem claro também que não sou contra as metas dos compartilhamento!!!
Para mim é mais que justo!
Assim galera acho que vocês não entenderam o lado do JUAN.
Ele quis dizer, no meu entender, que as aulas do RICARDO começaram com um nível muito bom em todos aspectos seja de códigos e didática. Mas que nessa aula tivemos pouco conteúdo em relação as outras seis aulas.
Acho isso uma vergonha, um grande vergonha mesmo.
Primeiro, ninguem tem o porque de reclamar, as aulas são de graças, ele não ta cobrando pelo que esta ensinando, logo ngm deve exigir nada dele.
Segundo, isso de metas nem precisaria acontecer, mas acontece pq muitos são folgados até demais, que não tem o minimo de coragem de compartilhar em uma rede social, ele perde 10,20 minutos pra fazer uma aula, vcs perdem 10 segundos pra compartilhar e mesmo assim não tem coragem.
Terceiro, é uma opinião, não sou assinante premium, pois não adiantaria devido a minha internet ser lenta e não ter banda larga, mas acho que da próxima ves ricardo, invés de shares, essas aulas deviam ser premium, ai esses folgados que reclamam não ia precisar de reclamar.
Povo folgado esse, gosta de aprender, mas não gosta de ajudar.
ResponderJuan, com todo respeito, os vídeos são de graça, e diga-se de passagem que são ótimos vídeos, e se não for assim a galera não compartilha.
ResponderExcelente como sempre Ricardo!
ResponderAs aulas desse curso são muito boas, mas nessa aula vc não ensina nada praticamente, acredito que seria interessante diminuir significativamente a meta ou já postar a próxima video aula, pois não tem muito incentivo nesse video para ser compartilhado.
Fica a dica e estamos no aguardo da próxima aula.
Responderconcordo com Juan, essa aula pouco acrescentou!
Crítica positiva!
© 2008-2022 - RBTech.info | Todos os direitos reservados | Hospedado por Innova Host
É proibida a reprodução total ou parcial de qualquer conteúdo deste site.
Olá Ricardo, obrigado pelas aulas explicativas e muito boas...
Logo no inicio dessa aula, ao modificar o arquivo paniel.php para dar os includes
<?php
include('header.php');
Conteúdo do painel
include('sidebar.php');
inlude('footer.php');
?>
Meu projeto(acompanhado ponto à ponto você) está dando erro de redirecionamento, eu abro chama como padrão o index.php Normal, faço o login ele já da erro, chama o painel.php e gera "Está página da web tem um loop de redirecionamento", ele não chamado nem header nem sidebar nem footer, já verifiquei 2 ou 3 vezes a aula voltando da aula anterior que é a 6 e deu tudo certo, só no começo da aula 7 no momento 7:49 que você testa o meu já está no erro de redirecionamento, ai eu volto do modo como estava antes de começar a aula e volta a funcionar.. já revisei até a aula anterior para ver se tinha algum erro porém não encontro nada.
Teria como me dar uma mão?