Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma página onde recebo os dados através de sessão, é um carrinho de compras:
Passo os valores assim:
<form id="form1" name="form1" method="post" action="index.php?go=compra">
<input type="hidden" name="txt_produto[<? echo $cod ; ?>][PRODUTO]" value="<? echo @mysql_result($sql_geral,$i,nome); ?>" />
<input type="hidden" name="txt_produto[<? echo $cod ; ?>][PRECO]" value="<?php echo @mysql_result($sql_geral,$i,preco );?>" />
<input type="hidden" name="txt_produto[<? echo $cod ; ?>][QTDE]" value="1" />
<input type="hidden" name="cod" value="<? echo $cod ; ?>" />
<input type="image" name="imageField" src="imagens/icone_comprar.gif" />
</form>
E recebo os valores em outra página (claro);
?
session_start();
?>//recebe as vari�veis
$cod = $_POST["cod"];
$produto = $_POST[txt_produto][$cod][PRODUTO];
$preco = $_POST[txt_produto][$cod][PRECO];
$quantidade = $_POST[txt_produto][$cod][QTDE];
$v_prod = $_POST["txt_produto"];
//pega a chave do array
$chave = array_keys($v_prod);
//exibir todos os produtos que tem
for($i=0; $i<sizeof($chave);$i++) {
$indice = $chave[$i];
if(!empty($quantidade)) {
if ($_SESSION[cest][idice][QTDE] == "") {
$_SESSION[TotalProdutos] = $_SESSION[TotalProdutos] + 1;
}
}
$cesta[$indice][PRODUTO] = $produto;
$cesta[$indice][PRECO] = $preco;
$cesta[$indice][QTDE] = $_SESSION[cesta][$indice][QTDE]+$quantidade;
$_SESSION[ValorTotal] = $_SESSION[ValorTotal] + $preco;
}
$_SESSION[cesta] = $cesta;
}
?>
O problema é que testando a página, incluindo o session_start() e se chamo direto no navegador, funciona: (exemplo: www.site.com.br/produtos), porém eu uso a seguinte estrutura de página.
<?php require('topo.php'); ?>
<?php require('menulat.php'); ?>
><?php
$go = @$_GET['go']; // Recebe o valor da GET "go", se houver
switch($go) Faz um switch testando a variável $go
{
case 'historia': // se $go for 'downloads'...
require('historia.php'); // Inclui downloads.php
break;
default: // Se não for igual a nada disso...
require('pag_inicial.php'); // Inclui downloads.php
break;
}
?>
<?php require('rodape.php'); ?>
O que acontece é que acusa um erro:
Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\meninabranca\index.php:7) in c:\apache\htdocs\meninabranca\carro.php on line 2
Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\meninabranca\index.php:7) in c:\apache\htdocs\meninabranca\carro.php on line 2
A linha 2 a que se refere é onde está a session_start(), pelo que pesquisei isso acontece porque acusa que uma página já está passando um valor para a sessão, não tenho certeza, foi o que entendi...
Alguém sabe uma forma de contornar isso sem mudar a estrutura de chamar as páginas???
Digo isso porque o site já está todo pronto e funcionando, só agora resolvi colocar o sistema do carrinho..
Abraços
Carregando comentários...