Ir para conteúdo

POWERED BY:

Arquivado

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

serginho_the_best

pq não vai o header("Location: index.php")

Recommended Posts

bom fim uma página que valida a sessão mais ele loha na boa só que era pra quando existir um sessão não exebir mais a página de login já jogar em outra olha:

 

login.php

<?phpinclude "config.php";include "class.php";$users = new users();$mysql = new mysql();extract($_POST);if(isset($_SESSION["login"])){	header("Location: index.html");}if($_GET["action"] == "check"){	if($user == "" || $pass == ""){		header("Location: login.php");	}	else{		if($users->login($user, $pass)){			header("Location: index.php");		}		else {			header("Location: login.php?error=invalid");		}	}}if($_GET["error"] == "invalid"){	echo "Usuário incorreto ou senha inválida.";}?><form action="login.php?action=check" method="post">Login:<br /><input type="text" name="user" size="25" /><br />Senha:<br /><input type="password" name="pass" size="25" /><br /><input type="submit" value="Entrar" /></form>
class.php

<?php$url = $_SERVER["PHP_SELF"];if(eregi("class.php", $url)){	header("Location: index.php");}class mysql {	function query($sql){		$this->sql = $sql;		if($this->result=mysql_query($this->sql)){			return $this->result;		}		else {			return 0;		}	}}class users extends mysql {	var $user;	var $pass;		function login($user, $pass){		$this->user = eregi_replace("'","0", $user);		$this->pass = eregi_replace("'","0", $pass);		$this->md5 = md5($this->pass);		$this->result = parent::query("SELECT * FROM users WHERE username='".$this->user."' AND password='".$this->md5."'");		if(mysql_num_rows($this->result) == 0){			return false;		}		else {			$array = mysql_fetch_array($this->result);			session_start();			$_SESSION["session"] = session_id();			$_SESSION["id"] = $array["id"];			$_SESSION["login"] = $this->user;			$_SESSION["name"] = $array["name"];			$_SESSION["level"] = $array["level"];			$_SESSION["email"] = $array["email"];			return true;		}	}}?>
tipo depois de criado a sessão quando a pessoa entrar na página login.php e ter uam sessão é pra mandar ele direto pra index.php, pq não vai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo depois de criado a sessão era pra executar essa header

if(isset($_SESSION["login"])){	header("Location: index.html");}
que é para o user não fazer o login denovo qunado já existe uma session, dai era pra ver se existe um session e mandar ele pra página, mais não manda

 

acho que não ta criando a sessão, se poder me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. nao sou o rei da cocaga preta no php.. mas tipo no meio das minahs loucaras da programaçao ja me acotneceu isso... e eu lembro q eh porque o header nao pode ser trocado + de 1 vez... e você fez isso...nessa parte:

<form action="login.php?action=check" method="post">

quando você fez isso você altera o header... sendo q dentros dos ifs q serão ativadas você nao pode altera-lo novamente usando o location... mas pode usando esse mesmo metodo ai...por isso se quise fazer isso... manda a form para outra pagina e nele coloca o php.. apenas o php.. e manda no final dele redireciona pra pagina desejadanao tenho certeza se vai funciona 100% como disse nao sou um especialista em php.. mas ta valendo.. custa nada tenta... posso te da uns 60% de certeza q deve funciona assim... eu acho... XDespero te ajudadot+EDIT-------- cara eu tava pensando aqui.. e revendo uns codigos meus... e percebi q tem uma segunda maneira de fazer funcionar e muito mais rapido....atualmente uso ela em maioria dos meus codigos......coloca isso aqui quando quiser redireciona no lugar do <b>header("Location: login.php?error=invalid");<b>:echo "<meta http-equiv='refresh' content='1; url=login.php?error=invalid'>"'possivelmente funcionará... XDt+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim...

bota o seu header nomal... e na prox linha bota exit;

 

header("Location: index.php");exit;

Deve ser isso, não sei se to certo, tenta ai!

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.