Guest Paulo Eduardo Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Oi Pessoal... seguinte, estou tentando fazer um sistema de Login, mas da erro ao inicializar as Sessions Aqui esta o Código....<?php$conec;$bco;$conectou = 0;//obtem os valores digitador$login = trim($_POST["txlogin"]);$senha = trim($_POST["txsenha"]);//acessa ao banco de dadosinclude "conexao.php";if($conectou){$ins = "select * from user where nome = '$login' and senha = '$senha'";$resp = mysql_query($ins,$conec);$linhas = mysql_num_rows($resp);if ($linhas == 0) {//testa se a consulta retornou algum registroecho "Usuário não encontrado";echo "<a href=fmlogin.htm>logar</a>";} else { session_start();//Inicia Session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona par a pagina principal header("Location: pagina_principal.php"); } }?>O erro que aparece é o seguinte... Warning: session_start(): Cannot send session cookie - headers already sent by Se alguém puder Ajudarrr... Agradecooooooovlwwww Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Coloca o ob_start() no topo e o no rodapé do script ob_end_flush(). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Existe esse colchete ?porque da esse erroParse error: parse error, unexpected ']' in Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 O erro está existindo por causa disso:header("Location: pagina_principal.php");Você está tentando redirecionar a página depois do cabeçalho já ter sido enviado para o navegador... isso gera o erro...Acabei de corrigir, não existe o colchete... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 E como que eu vo passar para minha proxima página... já que não tem nd que direcione pra ela???eu tirei e ainda continuou dando erro... v se está certo por favor o código<?phpob_start();$conec;$bco;$conectou = 0;//obtem os valores digitador$login = trim($_POST["txlogin"]);$senha = trim($_POST["txsenha"]);//acessa ao banco de dadosinclude "conexao.php";if($conectou){$ins = "select * from user where nome = '$login' and senha = '$senha'";$resp = mysql_query($ins,$conec);$linhas = mysql_num_rows($resp);if ($linhas == 0) {//testa se a consulta retornou algum registroecho "Usuário não encontrado";echo "<a href=fmlogin.htm>logar</a>";} else { session_start(); //Inicia Session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; } }ob_end_flush();?>Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Não era pra apresentar o erro sem o header... mas você pode utilizar javascript para redirecionar:<script language= "JavaScript"> location.href="PÁGINA" </script> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Olá,simples, remova os OB_ solicitados retireo session_start do meio e coloque ele no topo(existe o conecta.php e alguns html antes que estãao causando este problema)o redirecionamento com o JS faça:echo "<script>top.window.location='pagina_principal.php';</script>";<?phpsession_start();$conec;$bco;$conectou = 0;//obtem os valores digitador$login = trim($_POST["txlogin"]);$senha = trim($_POST["txsenha"]);//acessa ao banco de dadosinclude "conexao.php";if($conectou){ $ins = "select * from user where nome = '$login' and senha = '$senha'"; $resp = mysql_query($ins,$conec); $linhas = mysql_num_rows($resp); if ($linhas == 0) {//testa se a consulta retornou algum registro echo "Usuário não encontrado"; echo "<a href=fmlogin.htm>logar</a>"; } else { $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; } }?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 PQP... essa semana eu to bem... não ver o session_start no meio da página... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Eu posso usar o Inluclude pra redirecionar???Agora Funcionou essa parte de login.phpmas a proxima parte de valida_session.. da o mesmo errosabe dzr porque que acontece isso????obs. esse login.php pegou depois que eu limpei todo o cache do meu navegador.. tem alguma coisa a v? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jissa Postado Abril 24, 2007 Denunciar Share Postado Abril 24, 2007 Acontece o erro que voce não pode ter nenhum html antes de uma sessão, o cache não tem nada a ver é só pensar sempre que não pode existir nada escrito antes de session ou headerno outro faça a mesma coisa, coloque o session no inicio, se for um include coloque no script principal que vai valer para o script incluido.Jair Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Eu coloquei o start Session no inicio na pagina login... e prestou...eu to usando pra redirecinar o Include"pagina principal"; .. tem algum problema???e quando chego na miha página principal coloco um include "valida_session"o meu código de validar é esse<?session_start();if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"]; exit();}else{echo "Você não efetuou o login.";exit();/*caso não tinha session.. quer dizer.. ele não logou*/} Dpois que executa essa página, não retorna para o meu Codigo página Principal....e se eu abrir minha página principal sem logar, apare o erro Warning: session_start(): Cannot send session cache limiter - headers already sentSabem dizer porque? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 aí pessoal eu consegui ajeitar aqui... quando vo logar.. ele passa pra página principal certinho.. o único problema é que quando eu entro na página principal de logar... ele mostra a página e também mostra o seguinte erro Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Group\Apache2\htdocs\amazonprev\fmcadastro.php:6) alguém sabe dzr porque?? não era apenas pra mostrar uma mensagem dzndo que não está logado?abracos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 (editado) Você tem a página de login e a principal que é acessada logo após a login. A principal é apresentada juntamente com este erro. Para retirá-lo, coloque <?php session_start(); ?> na primeira linha do código desta página. Editado Abril 25, 2007 por Renato Penna Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Colocando o session_start(), ele pega.. mas passando está pagina login para paginal principal, mas da página principal para qualquer outra página que eu coloque include "valida_session" aparece a seguinte mensagem....ou então na hora de entrar em qualquer página que estaja o include sem logar aparece essa mesma mensagem....Warning: session_start(): Cannot send sessioonvlw!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Colocando session_start() funciona, mas com include não. Como está o código de "valida_session" ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 está assim: <?session_start();if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"];}else{echo "<script>top.window.location='fmlogin.php';</script>";exit();}então c acha que eu tenho que tirar os includes das minhas páginas e colocar o session_start(); ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Acho estranho o include não estar sendo aceito, mas se isso resolve o problema ...troque o include pelo código que está na página. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Cara não sei o que está acontecendo oh...não deu certooo bom... esse é meu codigo pra abrir a sesseio e receber os dados do login:<?session_start();//obtem os valores digitador$login = trim($_POST["txlogin"]);$senha = trim($_POST["txsenha"]);//acessa ao banco de dados$cn = mysql_pconnect("localhost", "root", "teste");$bco = mysql_select_db("lsm_teste");$ins = "select * from user where nome = '$login' and senha = '$senha'";$resp = mysql_query($ins,$cn);$linhas = mysql_num_rows($resp);if ($linhas == 0) {//testa se a consulta retornou algum registroecho "Usuário não encontrado";echo "<a href=fmlogin.htm>logar</a>";} else if($linhas ==1) { $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; include "fmcadastro.php"; }?>esse é o meu codigo pra validar as sessions ..."valida_session.php";<?session_start();if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"]; //exit();}else{echo "<script>top.window.location=fmlogin.php';</script>";exit();esse é minha "pagina principal" chamada fmcadastro<? include "valida_session":include "cabecalho.php";$equipamento = $_POST['txequipamento];$modelo= $_POST['txmodelo'];$tombamento = $_POST['txtombamento'];$serial = $_POST['txserial'];$setor = $_POST['txsetor'];$gerencia = $_POST['txgerencia'];$status = $_POST['txstatus'];$usuario = $_POST['txusuario'];$equipamento = $equipamento;$modelo= $modelo;$tombamento = $tombamento;$serial = $serial;$setor = $setor;$gerencia = $gerencia;$status = $status;$usuario = $usuario;$data = date("d/m/Y H:i:s");?>//continua aqui com html...em fim se eu logar.. essa pagna fmcadastro entra normal.. mas se eu entrar nela sem logar... ou então redirecionar pra outra qualque que tenha o include "valida_session.hp"da erro:Warning: session_start(): Cannot send sessionnão sei porque não está prestando isso.. se puder me ajudar.. agradeco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 (editado) Na página principal, troque include "valida_session": por include ("valida_session.php"); E no else da valida_session.php troque else{ echo "<script>top.window.location='fmlogin.php';</script>"; exit(); por else{ echo "<script language='JavaScript'>window.location.href='fmlogin.php';</script>"; exit(); Editado Abril 25, 2007 por Renato Penna Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Abril 25, 2007 Denunciar Share Postado Abril 25, 2007 Nada o parceiro... não pegou não....se eu entro na pagina sem está logado.. era pra ele redirecionar.. não pra dar aquele erroo.., não sei o que está acontecendo.. mas td bem... se você tiver outra luz aí.. ajuda.. vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Abril 26, 2007 Denunciar Share Postado Abril 26, 2007 Cara, eu testei aqui e redirecionou. Talvez não esteja redirecionando por não estar fazendo o include. Onde está o include troque por <?php session_start(); if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"]; //exit(); } else echo "<script language='JavaScript'>window.location.href='fmlogin.php';</script>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Paulo Eduardo Postado Abril 26, 2007 Denunciar Share Postado Abril 26, 2007 E aí pessoal... eu testei e Funcionou também... mas antes eu Modifiquei o eu arquivo PHP.ini e depois deu um restart do apache.... Vlwwww..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Paulo Eduardo
Oi Pessoal...
seguinte, estou tentando fazer um sistema de Login, mas da erro ao inicializar as Sessions
Aqui esta o Código....
<?php
$conec;
$bco;
$conectou = 0;
//obtem os valores digitador
$login = trim($_POST["txlogin"]);
$senha = trim($_POST["txsenha"]);
//acessa ao banco de dados
include "conexao.php";
if($conectou){
$ins = "select * from user where nome = '$login' and senha = '$senha'";
$resp = mysql_query($ins,$conec);
$linhas = mysql_num_rows($resp);
if ($linhas == 0) {
//testa se a consulta retornou algum registro
echo "Usuário não encontrado";
echo "<a href=fmlogin.htm>logar</a>";
} else {
session_start();//Inicia Session
$_SESSION["login_usuario"] = $login;
$_SESSION["senha_usuario"] = $senha;
// redireciona par a pagina principal
header("Location: pagina_principal.php");
}
}
?>
O erro que aparece é o seguinte...
Warning: session_start(): Cannot send session cookie - headers already sent by
Se alguém puder Ajudarrr... Agradecooooooo
vlwwww
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados
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.