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

Sumiram Informações Após Utilizar Frame


milka

Pergunta

Olá pessoal,

Estou com o seguinte problema:

Tenho uma tela de login onde o usuario informa login e senha. Após informar ele entra no sistema e se tiver errada a senha tem que voltar, senão o sistema diz "Olá... " . Tudo estava perfeitamente funcionando assim, após clicar em um submit a tela de CONTROLE recebia as informações e dava as seguintes mensagens citadas acima. Foi então que resolvi trabalhar com frames e transformei a tela de CONTROLE em um frame que chama 3 telas:

1 - tela de menus (linha horizaontal em cima)

2 - tela de botoes para controle (coluna menor a esquerda)

3 - tela principal (coluna maior a direita)

O CONTROLE virou um pai que chama esses outros e com isso minhas informações não são mais mostradas, então se o usuario digita senha errada eu nem digita o tratamento que estava fazendo com as informações não são mais mostradas e ele entra no sistema da mesma forma...Acho que quando coloquei os frames ele sobrepos minhas mensagens, mas não tenho certeza. Quero que o tratamento apareça no INDEX...

Alguém pode me ajudar !? :unsure:

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Faça diferente... se o usuário acertar a senha/nome de usuário, faça um redirecionamente dele para a página com os frames, tipo assim a estrutura:

- INDEX (onde tá o formulário)

- Página de conferência dos dados da INDEX

» Se na página de conferência os dados forem dados como errados dá a mensagem, caso contrário redireciona (use: header(location:'endereço'))para a página com os frames

Link para o comentário
Compartilhar em outros sites

  • 0

Faça diferente... se o usuário acertar a senha/nome de usuário, faça um redirecionamente dele para a página com os frames, tipo assim a estrutura:

- INDEX (onde tá o formulário)

- Página de conferência dos dados da INDEX

» Se na página de conferência os dados forem dados como errados dá a mensagem, caso contrário redireciona (use: header(location:'endereço'))para a página com os frames

Deixa eu ver se entendi, então eu tenho que ter duas telas, uma se ele acertar vai para os meus frames e outra se ele errar aí vai receber uma notificação atraves dessa e voltar para digitar corretamente as informações...Mas dá pra receber essas informações no meu frame ? Por que quero informar quem esta logado na tela dos frames...Assim como o site, "Olá, visistante", "Bem Vindo fulano"...

Aqui esta o codigo onde eu pego as informações digitadas e as trato...

nome: controle.php

<html>

<FRAMESET ROWS="20%,80%">

<FRAME SRC="index.html" SCROLLING="NO">

<FRAMESET COLS="20%,80%">

<FRAME SRC="botoes.html" SCROLLING="NO">

<FRAME SRC="principal.html" name="principal">

</frameset>

<body>

<?php

//Verifica se existe o arquivo executa.php para poder incluí-lo

if (file_exists("executa.php"))

{

include("executa.php");

}

if (!file_exists("executa.php"))

{

$msgErro = "<center><font color='#FF0000'><b>";

$msgErro .= "Não será possível executar nenhuma ação no Banco de Dados!<br>";

$msgErro .= "Porque não existe o arquivo 'executa.php'.";

$msgErro .= "</b></font></center>";

echo "<br><br>";

echo $msgErro;

echo "<br>";

exit;

}

//recebendo os dados do formulário

$login = $_POST['login'];

$senha = $_POST['senha'];

if(empty($login) || empty($senha))

{

echo "<center>INFORME TODOS OS DADOS !!</center>";

echo "<center><input type = 'button' value = 'Voltar' name = 'btnVoltar' Onclick = 'java script:history.go(-1)'></center>";

}

if(((strlen(trim($login))) and (strlen(trim($senha)))) > 0)

{

// ---------------------- FUNCAO PARA CRIPTOGRAFIA

function md5x($senha)

{

return strrev( md5( strrev( md5( $senha ))));

}

$senha_crip = md5x($senha);

// --------------------

$sql = "SELECT login,senha FROM tb_colaborador WHERE login=$login' and senha='$senha_crip'";

//Chamando a função, e passando como parâmetro a String de SQL

$resultado = executa($sql);

if (!$resultado)

{

echo "Erro!\n";

exit;

}

$arr = pg_fetch_all($resultado);

if(!$arr)

{

echo "Senha ou Login Inválidos !!";

// "<script> window.open ('Login ou senha inválidos') </script>";

}else

echo "Ola " .$_POST['login];

}

?>

</body>

</frameset>

</html>

Desculpa a ignorancia, sou iniciante... :(

Link para o comentário
Compartilhar em outros sites

  • 0

Simplesmente, se ele acertar, pegue as informações e gravar em sessões... para criar uma sessão use:

$_SESSION['tal'] = $talcoisa;

dai depois é só resgatar ela pegando $_SESSION['tal'];

E como é uma sessão até que o cara feche o negador, ela ficará gravada.

Link para o comentário
Compartilhar em outros sites

  • 0

Simplesmente, se ele acertar, pegue as informações e gravar em sessões... para criar uma sessão use:

$_SESSION['tal'] = $talcoisa;

dai depois é só resgatar ela pegando $_SESSION['tal'];

E como é uma sessão até que o cara feche o negador, ela ficará gravada.

Poxa estou tentando fazer isso desde quando voce me disse, mas ainda não consegui. Ele me retorna os seguintes erros:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\Inetpub\teste\Cópia de SISTEMA\controle.php:4) in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\Inetpub\teste\Cópia de SISTEMA\controle.php:4) in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 7

Notice: Use of undefined constant login - assumed 'login' in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 74

Notice: Use of undefined constant validacao - assumed 'validacao' in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 75

Notice: Use of undefined constant senha - assumed 'senha' in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 76

Warning: Cannot modify header information - headers already sent by (output started at D:\Inetpub\teste\Cópia de SISTEMA\controle.php:4) in D:\Inetpub\teste\Cópia de SISTEMA\controle.php on line 79

Pesquisando na internet vi que tem que colocar o session_start antes de qualquer código HTML, e coloquei antes, mas ainda me retorna tudo isso aí... :(

Link para o comentário
Compartilhar em outros sites

  • 0

Colocao session_start(); na primeira linha, ele tem que vir antes de qualquer coisa que dê saída para o navegador, além de HTML, echo, print, etc...

Realmente era esse mesmo o problema, mas tinha que colocar até no código que deixei separado para fazer a conexão com o banco..Depois que coloquei em todos de .php funcionou...

Valeu !! :)

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...