Ir para conteúdo

POWERED BY:

Arquivado

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

cristhianofonseca

Erro qdo rodo na web

Recommended Posts

Fala galera!Mais uma pra nós....seguinte, após todo o projeto testado aqui no "ocalhost", transferi para o server web e qdo rodo a página dá o erro:Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/restricted/home/abusiva/public_html/siga/principal.php:4) in /home/restricted/home/abusiva/public_html/siga/verifica.php on line 3O que pode ser isso?Segue arquivo onde o erro aparece: <html><title>..:: Acesso Restrito aos Funcionários ::..</title><head></head><body><br><center><img src="logo_red.jpg" alt="" width="350" height="29" border="0"></center><br><br><div align="center" class="ArialTit1"> Sistema de Gerênciamento Integrado AbusivA </div><br><center><div align="center" class="Tahoma12"><?require_once("../siga/verifica.php"); ?> <table> <tr> <td class="Tahoma12" align="left" ><a href='matricula\gerar_matricula.php'>1. Solicitar Matrícula </a></td> <td class="Tahoma12">       </td> <td class="Tahoma12" align="right" ><a href='r.php'>4. Remanejamentos </a></td> </tr> <tr> </tr><tr> </tr> <tr> <td class="Tahoma12" align="left" ><a href='vale_mercadoria\menu_vm.php'>2. Vale Mercadoria</a></td> <td class="Tahoma12"> </td> <td class="Tahoma12" align="right"><a href='a.php'>5. Alterações de Preço</a></td> </tr> <tr> </tr><tr> </tr> <tr> <td class="Tahoma12" align="left"><a href='s.php'>3. Solicitar Vale Fictício</a></td> <td class="Tahoma12"> </td> <td class="Tahoma12" align="right"><a href='c.php'>6. Clientes Inadimplentes</a></td> </tr> </table><br> <?echo "<br><br><a href='logout.php'>Sair do Sistema</a>";?></body></html>No aguardo, valews...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara o que tem na página verifica.phpdeve ser alguma sessão que tu sem session_styart() no server deve estar configurado para ti colocar a sessão e o id da sessão e no localhost não manda o código para agente dar uma avaliada<?require_once("../siga/verifica.php"); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o arquivo verifica.php<?//INICIALIZA A SESSÃOsession_start();//SE NÃO TIVER VARIÁVEIS REGISTRADAS//RETORNA PARA A TELA DE LOGINif (!isset($_SESSION[usuario])) Header("Location: \siga\login.php");?>Tem alguma coisa errada?No aguardo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/restricted/home/abusiva/public_html/siga/principal.php:4) in /home/restricted/home/abusiva/public_html/siga/verifica.php on line 3

ob_start();, no começo do seu código.

 

Flwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?//INICIALIZA A SESSÃOob_start();session_start();//SE NÃO TIVER VARIÁVEIS REGISTRADAS//RETORNA PARA A TELA DE LOGINif /*(!isset($_SESSION[id])) AND*/ (!isset($_SESSION[usuario])) Header("Location: \siga\login.php");?>Coloquei e não foi.... :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

No começo do código principal, main, e ñ dentro de pg's q são incluídas dentro de outras, por include, require, enfim....Flwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele ta fazendo erradok, pois se iniciar o ob_start(), no inicio do código, a session pode ser iniciada em qualquer momento, inclusive no meio do código, sem problema algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejamos, você pega o código principal do seu site, o principal msm, ñ pg q é incluida, e coloca:

PHP [/tr][tr]<?php

ob_start();

session_start();

[/tr]

 

Pronto, isso deve resolver, seu prob.

 

PS: Não vai colocar isso em pg's q são incluídas q ñ vai funcionar.

 

Flwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu erro é porque o session_start deve vir ANTES de QUALQUER exibição na tela ou tag html.... tenta startar a sessão na primeira linha pra ver no que dáedit: aproveitando a deixa ... a mesma coisa serve pra header() e similares, ou seja, nada de jogar nada na tela ou construir o docunento antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu erro é porque o session_start deve vir ANTES de QUALQUER exibição na tela ou tag html.... tenta startar a sessão na primeira linha pra ver no que dá

 

edit: aproveitando a deixa ... a mesma coisa serve pra header() e similares, ou seja, nada de jogar nada na tela ou construir o docunento antes

Não precisa o session_start(), vir antes, se colocar ob_start(), no inicio. Exemplo:

 

Código normal, sem ob_start, vai dar erro, pq session ñ foi iniciada no começo:

PHP [/tr][tr]<html>

<head>

<title>MSP</title>

</head>

 

<?php

session_start();

$_SESSION['nome'] = "Michel";

 

echo $_SESSION['nome'];

[/tr]

 

e agora, session sendo iniciada no meio do código, mas ñ da erro, pq o fluxo de dados é controlado:

PHP [/tr][tr]<?php

ob_start();

?>

 

<html>

<head>

<title>MSP</title>

</head>

 

<?php

session_start();

$_SESSION['nome'] = "Michel";

 

echo $_SESSION['nome'];

[/tr]

 

Flwwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque desta forma você pôs o ob_start :) eu tinha postado somente com o session_start que pra mim vale mas valeu pelo toque :)

Exato e é só o: 'cristhianofonseca', seguir o modo q foi postado q o script dele rodará perfeitamente. :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui com o do Michel!

Grato ao esforço de todos.... :D

 

Seguinte, agora qdo tento rodar o arquivo GERAR_MATRICULA.PHP no servidor web dá o ERRO abaixo. Rodando aqui no LOCALHOST não dá erro, roda legal!

 

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/restricted/home/abusiva/public_html/siga/matricula/gerar_matricula.php on line 70

 

 

O que será?

 

Segue arquivo GERAR_MATRICULA.PHP

PHP [/tr][tr]

<?

require_once('../verifica.php');

require_once('../conecta.php');

?>

<html>

<title>..:: Acesso Restrito aos Funcionários ::..</title>

<head>

<style type="text/css">

<!--

.ArialTit1 {font-family: Tahoma, Arial; font-size: 18px; font-style: normal; color: #808080}

.Tahoma12 {font-family: Tahoma, Arial; font-weight: bold; font-size: 18px; color: red}

.Tahoma12b {font-family: Tahoma, Arial; font-size: 12px; color: black}

.TahomaBlack12 {font-family: Tahoma, Arial; font-size: 11px; color: #000000; text-decoration: none;}

.Menu {color: #808080; text-decoration: none; font-size: 6pt; font-family: Verdana, Tahoma, Arial, Helvetica; font-weight: bold }

a.Menu:hover {color: #ff3300 }

-->

</style>

<script>

<!--

function enviar() {

window.close()

}

//-->

</script>

</head>

<body><br>

<center><img src="\logo_red.jpg" alt="" width="350" height="29" border="0"></center><br><br>

<div align="center" class="ArialTit1"> Matrícula Gerada com Sucesso! </div><br>

<center><div align="center" class="Tahoma12">

<br><br>

<?

session_start();

switch ($_SESSION[usuario]){

case "001":

$tabela = "matr_001";

break;

case "002":

$tabela = "matr_002";

break;

case "003":

$tabela = "matr_003";

break;

case "004":

$tabela = "matr_004";

break;

case "005":

$tabela = "matr_005";

break;

case "006":

$tabela = "matr_006";

break;

case "007":

$tabela = "matr_007";

break;

case "008":

$tabela = "matr_008";

break;

case "009":

$tabela = "matr_009";

break;

case "010":

$tabela = "matr_010";

break;

case "013":

$tabela = "matr_013";

break;

}

//-------------- CRIA MATRICULA ----------------------

$registros = mysql_query("SELECT * FROM ".$tabela." ORDER BY matricula DESC");

$registro = mysql_fetch_array($registros);

 

$ultima_matr=$registro["matricula"]; //aqui você faz um loop ou pega o que vem de tua tabela

$ultima_matr++;

 

//montando variavel $seq com 04 digitos

$sequencial=$ultima_matr;

while(strlen($sequencial)<4){

$sequencial="0".$sequencial;

}

 

$nova_matr = "0".$sequencial;

echo "Matrícula Nº: ".$nova_matr;

 

$inserir = "INSERT INTO ".$tabela." (matricula, data) VALUES ('$nova_matr', '".date('Y/m/d - h:i:s')."')" ;

$resultado = mysql_query($inserir);

//----------------- MATRICULA CRIADA E INSERIDA -----------------

 

//echo "<br><br><a href='\logout.php'>Sair do Sistema</a>";

echo "<br><br><input type='button' value='Voltar' name='voltar' onclick='java script:history.back()'>";

?>

<input name="" type="button" onClick="enviar()" value="Sair do Sistema">

</div></center>

<br><br><br><br>

<table align="center" cellspacing="2" cellpadding="2" border="0">

<tr>

<td width="20%"> </td>

<td width="60%"><div align="center" class="TahomaBlack12"><b>Atenção:</b><br> Se não for mais utilizar este sistema, anote esta nova matrícula em um papel, saia do sistema, reinicie o computador e em seguida cadastre-a no sistema de vendas GAL.</div></td>

<td width="20%"> </td>

</tr>

</table>

</body>

</html>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

$tabela ta definido?!?!

 

Tenta assim, Dê:

PHP [/tr][tr]$registros = mysql_query("SELECT * FROM ".$tabela." ORDER BY matricula DESC");

$registro = mysql_fetch_array($registros);

[/tr]

 

PHP [/tr][tr]$registros = mysql_query("SELECT * FROM $tabela ORDER BY matricula DESC");

$registro = mysql_fetch_array($registros);

[/tr]

 

Flwwwwwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esta alteração e não mudou nada. Das duas formas eu executo aqui no localhost. O problema é qdo rodo no server web LOCAWEB

 

A váriável $tabela é iniciada dentro do "switch"

Acho que o problema está neste trecho

PHP [/tr][tr]

<?

session_start();

switch ($_SESSION[usuario]){

case "001":

$tabela = "matr_001";

break;

case "002":

$tabela = "matr_002";

break;

case "003":

$tabela = "matr_003";

break;

case "004":

$tabela = "matr_004";

break;

case "005":

$tabela = "matr_005";

break;

case "006":

$tabela = "matr_006";

break;

case "007":

$tabela = "matr_007";

break;

case "008":

$tabela = "matr_008";

break;

case "009":

$tabela = "matr_009";

break;

case "010":

$tabela = "matr_010";

break;

case "013":

$tabela = "matr_013";

break;

}

//-------------- CRIA MATRICULA ----------------------

$registros = mysql_query("SELECT * FROM $tabela ORDER BY matricula DESC");

$registro = mysql_fetch_array($registros);

[/tr]

Grato!

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.