Ir para conteúdo
Fórum Script Brasil
  • 0

Redirecionamento de mensagens


Carlos Rocha

Pergunta

Ola, veja o meu código:

pagina cobranca.php

<?php
session_start();
session_register("SESSAOlogin");
function test_login() {
global $SESSAOlogin;
if (isset($SESSAOlogin)) {
if ($_SESSION['SESSAOuser'] == "clienteuser") { echo "<script>document.location='empresas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "superuser") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "user") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "admin") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "adminuser") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
                          }
else                      { ?>

<?php include('global/sessoes.php'); ?>                             
<html>
<head>
<title><?php echo $title; ?></title>
<link href="global/stilo.css" rel="stylesheet" type="text/css">  
</head>
<body>
<div align="center">
<p align="center" class="style6"></p>
<table width="798" border="0" cellspacing="0" cellpadding="0">
  <tr><td><div align="center"><?php include('global/topo.php'); ?></div></td></tr>
  <tr><td><?php include('cobrancas_conteudo.php'); ?></td></tr>
  <tr><td ><div align="center"><?php include('global/base.php'); ?></div></td></tr>
</table>
</div>
</body>
</html>

                          
                       <? }
                    
                      }
?>
<?php test_login(); ?>
nessa pagina faço uma verificação, se a pessoa já logou, joga pra pagina secreta(digamos assim) pois não faz sentido abrir a pagina de logim de novo paa uma pessoa que já ta logado. Certo? Acontece que nessa pagina, tb tem um include para a pagina <?php include('cobrancas_conteudo.php'); ?>, que contem o formulario de login e senha Depois da autenticação, caso o usuaeio tenha digitado um usuario invalido ou bloqueado, o código eenvia o usuario para a pagina de login com a mensagem. veja:
....
                      $BLOQUEIO = mysql_result($sql,0,"bloqueio");
                   IF ($BLOQUEIO == "S") { echo "<script>document.location='../cobrancas.php?erro=bloqueado_cliente'</script>";  }
...
de volta a paina de logim, ai eu pego a mesagem pra imprimir. veja
<?php
  if ($erro == "invalido_filial") { echo ("<font color=#CC3366 size=-1><b>Usuário Inválido<br>ou senha não confere</b></font>"); }
  if ($erro == "bloqueado_filial"){ echo ("<font color=#CC3366 size=-1><b>Filial Bloqueada</b></font>"); }
?>
Acontece que por causa da verficação inicial, as mensagens de erro não estão chegando la
...
if (isset($SESSAOlogin)) {
if ($_SESSION['SESSAOuser'] == "clienteuser") { echo "<script>document.location='empresas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "superuser") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "user") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "admin") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "adminuser") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
                          }
else                      { ?>
...

Como resolver isso?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não precisa fazer assim. A coisa é bem simples. Se o usuário/senha estiverem corretos, beleza o usuário é direcionado para a página do perfil dele. Mas se não estiverem corretos ele nem passa para página nenhuma e não é criada sessão nenhuma, o site simplesmente não deixa ele passar e exibe o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

" o site simplesmente não deixa ele passar e exibe o erro "

É exatamente este erro que eu quero exibir.

Porem, como existem aquelas validações que autenticam se a sessão já existe e para que usuario ela existe para fazer o devido redirecionmamento, aí, não consigo fazer a mensagem de erro chegar dentro da pagina. Veja:

<?php
session_start();
session_register("SESSAOlogin");
function test_login() {
global $SESSAOlogin;
if (isset($SESSAOlogin)) {
if ($_SESSION['SESSAOuser'] == "clienteuser") { echo "<script>document.location='empresas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "superuser") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "user") { echo "<script>document.location='filiais/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "admin") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
if ($_SESSION['SESSAOuser'] == "adminuser") { echo "<script>document.location='comando/paginas/index.php'</script>"; }
                          }
else                      { ?>

<?php include('global/sessoes.php'); ?>                             
<html>
<head>
<title><?php echo $title; ?></title>
....
                      $BLOQUEIO = mysql_result($sql,0,"bloqueio");
                   IF ($BLOQUEIO == "S") { echo "<script>document.location='../cobrancas.php?erro=bloqueado_cliente'</script>";  }
...
obsere que se acontcer o erro, a mensagem vai para "../cobrancas.php?erro=bloqueado_cliente". Mas, quando chega na cobrancas.php, eu não consigo fazer a variavel erro chegar dentro do bloco que exibe a pagina
<?php
  if ($erro == "invalido_filial") { echo ("<font color=#CC3366 size=-1><b>Usuário Inválido<br>ou senha não confere</b></font>"); }
  if ($erro == "bloqueado_filial"){ echo ("<font color=#CC3366 size=-1><b>Filial Bloqueada</b></font>"); }
?>

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...