Ir para conteúdo

Arquivado

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

diegovilela

problema com session

Recommended Posts

Se alguém puder me ajudar .....

 

Fiz um projeto de conclusão de curso em PHP e estou usando session fiz tudo no meu computador usando IIS e MySQL agora tenho q apresentar o prejeto depois de amanha e o computador da faculdade usa um tal de Xampp pra configurar o servidor e as variaveis de sessão não funcionam qdo mando escrever a variavel em alguma pagina simplismente nao aparece nada nem da erro ... help me please!!

 

<?//iniciando sessãosession_start();//instancia da conexao$conexao=mysql_connect("localhost","root","userpass359") or die ("nâo pude conectar erro:".mysql_error());//seleciona o banco de dadosmysql_select_db("ana");//recebendo variaveis  	$login_user= isset($_REQUEST["login_user"])?$_REQUEST["login_user"]:false;	$senha_user= isset($_REQUEST["senha_user"])?$_REQUEST["senha_user"]:false;//checando se o usuario é cadastrado$teste=mysql_query("SELECT login_aluno FROM alunos WHERE login_aluno ='$login_user'");$linhas = mysql_num_rows($teste);if ($linhas >0){		$teste=mysql_query("SELECT senha_aluno FROM alunos WHERE senha_aluno ='$senha_user'");		$linhas = mysql_num_rows($teste);		if (!$linhas >0){			echo "<script>alert('A senha não confere!!!');window.location.href='index.php'</script>";		}else{						//criando variaveis de sessao			session_register("ses_username");			session_register("ses_senhauser");			//session_register("ses_nivel");			//atribuindo valor as variaveis de sessão			$ses_username=$login_user;			$ses_senhauser=$senha_user;			//$ses_nivel=1;			//redireciona para pagina de logado			echo "<script>window.location.href='logado.php'</script>";			}	}else{			echo "<script>alert('O usuário não confere!!!');window.location.href='index.php'</script>";	}//fecha conexãomysql_close();?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí diegovilela... Tudo bem...

 

Modifiquei isto:

 

No else após if(!$linha > 0)

 

// Inicio a Sessão

session_start();

 

// Pega os Dados do Aluno

$Pass = mysql_result($teste, 0, 'senha_aluno');

 

// Gravo os Dados do Aluno na Sessão

$_SESSION['userName'] = $login_user;

$_SESSION['userPass'] = $Pass;

 

Pra você acessar a Sessão basta chamar:

 

<?php echo $_SESSION['userName']; ?>

 

Ok...

 

O teu código alterado...

 

<?//instancia da conexao$conexao=mysql_connect("localhost","root","userpass359") or die ("nâo pude conectar erro:".mysql_error());//seleciona o banco de dadosmysql_select_db("ana");//recebendo variaveis	$login_user= isset($_REQUEST["login_user"])?$_REQUEST["login_user"]:false;	$senha_user= isset($_REQUEST["senha_user"])?$_REQUEST["senha_user"]:false;//checando se o usuario é cadastrado$teste=mysql_query("SELECT login_aluno FROM alunos WHERE login_aluno ='$login_user'");$linhas = mysql_num_rows($teste);if ($linhas >0){		$teste=mysql_query("SELECT senha_aluno FROM alunos WHERE senha_aluno ='$senha_user'");		$linhas = mysql_num_rows($teste);		if(!$linhas >0)		{			echo "<script>alert('A senha não confere!!!');window.location.href='index.php'</script>";		}		else		{			// Inicio a Sessão			session_start();						// Pega os Dados do Aluno			$Pass = mysql_result($sql, 0, 'senha_aluno');						// Gravo os Dados do Aluno na Sessão			$_SESSION['userName'] = $login_user;			$_SESSION['userPass'] = $Pass;						/*			//criando variaveis de sessao			session_register("ses_username");			session_register("ses_senhauser");			//session_register("ses_nivel");			//atribuindo valor as variaveis de sessão			$ses_username=$login_user;			$ses_senhauser=$senha_user;			//$ses_nivel=1;			*/			//redireciona para pagina de logado			echo "<script>window.location.href='logado.php'</script>";	  }}else{	echo "<script>alert('O usuário não confere!!!');window.location.href='index.php'</script>";}//fecha conexãomysql_close();?>
Espero q funcione...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deve estar funcionando pois a configuração do php na faculdade está com a flag register_globals = off (o que é recomendado) e você usou session_register (que só funciona com register_globals = on).Você deve usar $_SESSION.

Ai valeu a força tmferrera e alendre mudei o script, no meu computador com IIS e PHP5 funcionou beleza mas la na faculdade não, habilitei a flag register_globals para ON la também e nada. Qual a diferença de usar o session_register ou $_SESSION ?O meu coordenador me deu o prazo de dois dias pra arrumar e apresentar no computador da faculdade senão vou ter q fazer mais 6 meses de faculdade é mole eles q não tem um servidor descente eu é q fodo.Se alguém puder ajudar agradeço desde já .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não aparece algum erro? Aproveitei pra dar um "tapa" no código. Acho que você ainda poderia retirar o registro da senha como variavel de sessão (de qualquer forma tinha que ser criptografado).

 

<?php//instancia da conexao$conexao = mysql_connect("localhost","root","userpass359") or die ("nâo pude conectar erro:".mysql_error());//seleciona o banco de dadosmysql_select_db("ana");//recebendo variaveis$login_user = isset($_REQUEST["login_user"])?$_REQUEST["login_user"]:false;$senha_user = isset($_REQUEST["senha_user"])?$_REQUEST["senha_user"]:false;//checando se o usuario é cadastrado$query = "SELECT login_aluno FROM alunos WHERE login_aluno ='%s' AND senha_aluno='%s'";$query = sprintf($query, mysql_real_escape_string($login_user), mysql_real_escape_string($senha_user));$qry = mysql_query($query, $conexao);if(mysql_num_rows($qry)){	// Inicio a Sessão	session_start();				// Gravo os Dados do Aluno na Sessão  $_SESSION['userName'] = $login_user;  $_SESSION['userPass'] = $Pass;			  // redireciona  header("Location: logado.php");  exit;}else{	echo "<script>alert('Usuario Invalido!!!');window.location.href='index.php'</script>";}?>

Take care,

Dani

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.