Ir para conteúdo

POWERED BY:

Arquivado

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

Virgulinux

Headers / Sessions

Recommended Posts

Pessoal,

 

Tenho o W2K ntfs + IIS + PHP 4.3 + mysql 4.1.1 .

 

Estava fazendo uns teste com a dica do Site:

Sistema simples de autenticação de usuários usando sessões

Número da coluna: 87

Data: 02/02/2004

 

Porem ele sempre me retorna o erro :

 

 

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Inetpub\wwwroot\autentica.php:1) in C:\Inetpub\wwwroot\autentica.php on line 31

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Inetpub\wwwroot\autentica.php:1) in C:\Inetpub\wwwroot\autentica.php on line 31

 

Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\wwwroot\autentica.php:1) in C:\Inetpub\wwwroot\autentica.php on line 38

 

 

Eu sei que ele tá criando a session porem num tá funcionado

 

os arquivos são iguais ao da dica :

http://www.imasters.com.br/web/conteudo/co...?codcoluna=1846

 

Pensei que fosse o servidor ou algum problema de permissão no meu micro mas já setei tudo que foi possivel e nada,...

 

 

Alguem pode me dar uma idéia de como resolver isso ?

 

 

Valeu,

 

JGodoi

godoi@velix.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu estou com o mesmo problema:

Warning: session_start(): open(/tmp\sess_4de20e5509f5822a91f9b793dc7d53c6, O_RDWR) failed: No such file or directory (2) in c:\server\www\arquivos\autentica.php on line 30Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\server\www\arquivos\autentica.php:30) in c:\server\www\arquivos\autentica.php on line 30Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\server\www\arquivos\autentica.php:30) in c:\server\www\arquivos\autentica.php on line 30Warning: Cannot modify header information - headers already sent by (output started at c:\server\www\arquivos\autentica.php:30) in c:\server\www\arquivos\autentica.php on line 37Warning: Unknown(): open(/tmp\sess_4de20e5509f5822a91f9b793dc7d53c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?//CONECTA COM O BANCO DE DADOSrequire_once("conecta.php");//RECEBE OS DADOS DO FORMULÁRIO$usuario   =   $_POST[txtUser];$senha     =   $_POST[txtSenha];//VERIFICA$sql   =   mysql_query("           SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A     WHERE  A.USUARIO  =  '$usuario'        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");//LINHAS AFETADAS PELA CONSULTA$row   =  mysql_num_rows($sql);//VERIFICA SE RETORNOU ALGOif($row == 0)  echo "Usuário/Senha Inválidos!";else {      //PEGA OS DADOS  $id   =   mysql_result($sql, 0, "ID_USUARIO");  $nome =   mysql_result($sql, 0, "NOME_USUARIO");  //INICIALIZA A SESSÃO session_start();    //GRAVA AS VARIÁVEIS NA SESSÃO  $_SESSION[id]    =   $id;  $_SESSION[nome]  =   $nome;    //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS  header("Location: listar.php");}//FECHA ELSE?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até que resolveu e parou de dar o erro da session.porem agora ele está dando erro no redirecionamento da pagina.No Header de redirecionamento.O caso é o seguinte,... o que eu gostaria de fazer é :- receber os dados de um form (usuario e senha)- localiza-los no bd-se encontrou grava na session os nomes recebidos do form e redireciona para a página de resultados-se não encontrou exibe mensagem que não está autorizado.é isso que a dica tb propõe mas num tá dando certo da forma que está lá...a parte qua não está funcionando é somente a de redirecionamento se a condição for verdadeira.Segue abaixo o código em questão,....<?PHP //INICIALIZA A SESSÃO session_start()?><?//CONECTA COM O BANCO DE DADOS php require_once('Connections/Velix.php'); ?><?//RECEBE OS DADOS DO FORMULÁRIO $usuario = $HTTP_POST_VARS["usuario"]; $senha = $HTTP_POST_VARS["senha"]; //VERIFICA mysql_select_db($database_Velix, $Velix);$query_r_usuarios = "SELECT * FROM vlx_usuarios where usuario='$usuario' and senha='$senha'";$sql = mysql_query($query_r_usuarios, $Velix) or die("ERRO NA SELEÇÃO DO DATABASE");//LINHAS AFETADAS PELA CONSULTA $row = mysql_num_rows($sql); //VERIFICA SE RETORNOU ALGO if($row == 0) echo "Usuário/Senha inválidos"; else{ //PEGA OS DADOS $id = mysql_result($sql, 0, "ID"); $nome = mysql_result($sql, 0, "USUARIO"); //GRAVA AS VARIÁVEIS NA SESSÃO $_SESSION["id"] = $id; $_SESSION["nome"] = $nome; Header("Location: resultado.php"); } //FECHA ELSE ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Stinger coloca assim:

<?session_start();//CONECTA COM O BANCO DE DADOSrequire_once("conecta.php");//RECEBE OS DADOS DO FORMULÁRIO$usuario   =   $_POST[txtUser];$senha     =   $_POST[txtSenha];//VERIFICA$sql   =   mysql_query("           SELECT A.ID_USUARIO, A.NOME_USUARIO FROM tb_usuarios A     WHERE  A.USUARIO  =  '$usuario'        AND A.SENHA    =  '$senha'") or die("ERRO NO COMANDO SQL");//LINHAS AFETADAS PELA CONSULTA$row   =  mysql_num_rows($sql);//VERIFICA SE RETORNOU ALGOif($row == 0)  echo "Usuário/Senha Inválidos!";else {      //PEGA OS DADOS  $id   =   mysql_result($sql, 0, "ID_USUARIO");  $nome =   mysql_result($sql, 0, "NOME_USUARIO");  //INICIALIZA A SESSÃO    //GRAVA AS VARIÁVEIS NA SESSÃO  $_SESSION[id]    =   $id;  $_SESSION[nome]  =   $nome;    //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS?>  <meta http-equiv='refresh' content='0;URL=listar.php'><? } //FECHA ELSE?>
E Virgulinux no lugar do header coloca:

<meta http-equiv='refresh' content='0;URL=pag.php'>
;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?//CONECTA COM O BANCO DE DADOSrequire_once("conecta.php");//RECEBE OS DADOS DO FORMULÁRIOif(!empty($_POST['txtUser']) AND !empty($_POST['txtSenha'])){	//VERIFICA	$sql   =   mysql_query("SELECT ID_USUARIO, NOME_USUARIO FROM tb_usuarios      	 WHERE  USUARIO = '$_POST[txtUser]' AND SENHA = '$_POST[txtSenha]' LIMIT 1") or die("ERRO NO COMANDO SQL");		//VERIFICA SE RETORNOU ALGO	if(mysql_num_rows($sql) < 1)  exit("Usuário/Senha Inválidos!");	else  $row = mysql_fetch_array($sql);   	//INICIALIZA A SESSÃO	session_start();      //GRAVA AS VARIÁVEIS NA SESSÃO   $_SESSION['id'] = $row['ID_USUARIO'];   $_SESSION['nome'] = $row['NOME_USUARIO'];      //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS   header("Location:listar.php");}//FECHA ELSE?>

eu refiz o code pro stringer e funcionou sem erros, caso alguem qira ver ;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois que eu coloquei o redir por http funcionou, porem como eu estou iniciando com o php só gostaria de saber pq num deu certo e pq os caras colocaram daquela forma na dica.o header tem que ser antes de tudo, não é?

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.