Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Márcio T.

Bug?

Recommended Posts

Estou usando session para um sistema de login. O sistema funciona perfeitamente no Mozilla Firefox, mas não esta funcionando de forma alguma no Internet Explorer. Qual é o problema? Bug no IE? Qual a solução?

 

Aguardo http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca tive esse tipo de problema.Mostre pra gente o código que você acha q não está reconhecendo a sessão.você está usando frame??Já ouvi casos que pode dar problemas em frames no IE[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou usando frame.

 

config.php

<?	$host = "localhost";	$database = "teste";	$login_db = "root";	$senha_db = "SENHA";	$conexao = mysql_connect( $host, $login_db, $senha_db );	$db = mysql_select_db( $database );?>

validar_sessao.php

<? 	session_start("login");	$idUsuario = $_SESSION['idUsuario'];	$login = $_SESSION['login'];	$senha = $_SESSION['senha'];	include "config.php";	$confirmacao = mysql_query("SELECT * FROM Usuario WHERE Login = '$login' AND Senha = '$senha'");	if( !(mysql_num_rows($confirmacao)==1) ) {		$_SESSION = array();		session_destroy();			echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=login/index.php'>"; 	}?>

E nas páginas que quero restringir o acesso, uso:

<? require("validar_sessao.php"); ?>

Lembrando que o código funciona perfeitamente no Mozilla Firafox.

 

Aguardo http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na página validar_sessao.php, você não precisa sempre acessar o BD e conferir se os dados do logi estão corretos.O que você deve fazer é mais ou menos assim:1. Pegar os dados do campo de login,2. verificar se os dados estão corretos no BD3. Se estiverem corretos, você grava a sessão com o ID do usuário (e mais alguma informação que queira)4. Nas páginas em que fará a validação, só verifique se a variável session existe. Se ela existir, você dá acesso à página. Se não existir, você redireciona para a página de login.Sacou?

Saquei, vou testar aqui :)tmferreira, tenho uma dúvida que eu postei nesse tópico. Olha lá http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/index.php?sho...=190274&hl=

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou :(

Mas realmente aquilo era desnecessario :P

 

Deixa eu te dizer aonde ta o problema. Fiquei procurando aonde tava o erro dando echo "idUsuario: $idUsuario";

 

E descobri que ele não ta pegando os dados da sessão na hora da validação.

 

<?    session_start("login");   $idUsuario = $_SESSION['idUsuario'];   echo "idUsuario:$idUsuario"; // idUsuario aparece vazio   if( ! isset($idUsuario) ) {	echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=login/index.php'>";    }?>
Mas quando executo no Firefox aparece o valor do idUsuario :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

use session_start(), sem parametrose use o header() para redirecionar a pagina

Não uso header() porque ela não atualiza a página.Tem como atualizar a página utilizando header()?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que ali você tava testando se o usuario nao tem permissao para logar você redirecionaria ele para pagina de login, e redirecionando ja atualiza a pagina

Sim, é por isso que utilizo essa Tag. Pois ela redireciona e atualiza a página ao mesmo tempo.

echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=login/index.php'>";

 

 

 

use session_start(), sem parametros

e use o header() para redirecionar a pagina

Como faço isso utilizando o header()?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.