Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda] Problemas com Session


khayro

Pergunta

é o seguinte, to criando um carrinho de compras, e ele já tá quase no ponto, só falta enviar os dados que estiverem no carrinho. mas não consigo ver o que tem no carrinho e por numa forma pra enviar junto com os dados.

na pagina dos dados, eu escrevo :

print_r ($_SESSION['carrinho'])
e aparece o que tem no carrinho, só que assim. Array ( [0] => 19 [1] => 2 [2] => Array ( [id] => 18950 [nome] => XYLESTESIN 5% PESADA INJ. C/50 2ML [preço] => [qtde] => 1 [descricao] => ) ) e eu queria enviar por email de uma forma tipo Nome = XYLESTESIN 5% PESADA INJ. C/50 2ML Id = 18950 Qtde = 1 e eu queria apagar a parte do Array ( [0] => 19 [1] => 2 [2] => Array e enviar por email. alguém sabe como ? aqui meu carrinho.php
<?php
$area = isset($_GET['area']) ? $_GET['area'] : NULL;
$acao = isset($_GET['acao']) ? $_GET['acao'] : NULL;
$objCar = new Carrinho;

if ($area == "carrinho")
{

    if ($acao == "adicionar")
    {
        $id = isset ($_GET['id']) ? (int)$_GET['id'] : NULL;
        $objCar->AdicionarProduto ($id);

    }

    if ($acao == "remover")
    {
        $id = isset ($_GET['id']) ? (int)$_GET['id'] : NULL;
        $objCar->RemoverProduto ($id);
    }

    if ($acao == "alt_qtde")
    {
        $id = isset ($_GET['id']) ? (int)$_GET['id'] : NULL;
        $n_qtde = isset ($_POST['qtde_'.$id]) ? (int)$_POST['qtde_'.$id] : 1;
        $objCar->AlterarQuantidade($id, $n_qtde);
    }



    echo "
    <h2>Carrinho de Compras</h2>
    <table width=\"700\" cellpadding=\"2\" cellspacing=\"0\">
      <tr>
        <td width=\"300\" style=\"text-align:center\">Nome</td>
        <td width=\"120\" style=\"text-align:center\">Preço<br />Unitário</td>
        <td width=\"100\" style=\"text-align:center\">Qunatidade</td>
        <td width=\"120\" style=\"text-align:center\">Subtotal deste<br />Produto</td>
        <td width=\"60\" style=\"text-align:center;\">Excluir<br />Produto</td>
      </tr>
    ";


    $carrinho = isset ($_SESSION['carrinho']) ? $_SESSION['carrinho'] : array();


    if (count ($carrinho) == 0)
    {
        echo "
        <tr>
          <td colspan=\"5\" style=\"text-align:center\"><strong><em>
            Não há produtos em seu carrinho de compas.</em></strong>
         </td>
        </tr>
        </table>
        <p><a href=\"?area=produtos\">Ver lista de produtos</a></p>
        ";
    }
    else
    {
           for ($a = 0; $a < count($carrinho); $a++)
        {
            $id = $carrinho[$a]['id'];
            $nome = htmlentities ($carrinho[$a]['nome']);
            $preço = number_format ($carrinho[$a]['preço'], 2, ",", "");
            $desc = htmlentities ($carrinho[$a]['descricao']);
            $qtde = $carrinho[$a]['qtde'];
            $subtotal = number_format(($carrinho[$a]['preço'] * $qtde), 2, ',', '');


            echo "
            <tr>
              <td style=\"border-left: dashed 1px black;\" class=\"celulas\">".$nome."</td>
              <td class=\"celulas\">R$ ".$preço."</td>
              <td class=\"celulas\">
              <form action=\"?area=carrinho&acao=alt_qtde&id=".$carrinho[$a]['id']."\"method=\"post\">
              <input type=\"text\" name=\"qtde_".$id."\" value=\"".$qtde."\" style=\"width: 30px;height: 15px;font-size:13px;text-align:center;border:inset 1px black;\" maxlength=\"2\" /><br />
              <input type=\"submit\" value=\"Alterar\" style=\"width: 80px;height: 20px;font-size:13px;margin:0;padding:0;cursor:pointer;background:#ccc;border: inset 1px black\" />
              </form>
              </td>
              <td class=\"celulas\">R$ ". $subtotal . "</td>
              <td class=\"celulas\"><a href=\"?area=carrinho&acao=remover&id=" .$id. "\" onclick=\"return ConfirmarExclusaoProduto()\">Excluir</a></td>
            </tr>
            ";
        }// fecha for

           echo "
        <tr>
          <td style=\"text-align:right\"><strong style=\"font-size:18px\">Total:</strong><br />Sem o valor do frete</td>
          <td style=\"text-align:center\"><strong style=\"font-size:18px\">".$_SESSION['total']."</strong></td>
          <td colspan=\"2\"> </td>
        </tr>
        </table>
        <p><a href=\"?area=produtos\">Continuar Comprando</a> | <a href=\"?area=finalizar\">Finalizar Pedido</a></p>
        ";
    }// fecha else
}
?>
e meu finalizar.php
<?php
echo "
";
?>
<form method="post" action="mailto: khayro@gmail.com" enctype="text/plain"
name="guiaform">
<?
?>
  <table width="50%" border="0" align="center">
<TR>
<td width="97" align="right">Nome:</td>
<Td width="295" colspan="3"><input type="text" name="Nome" size="32"
maxlength="50" /></Td>
</TR>
<TR>
<td width="97" align="right">Fone:</td>
<Td width="295" colspan="3"><input type="text" name="Fone" size="19"
maxlength="19" /></Td>
</TR>
<TR>
<td width="97" align="right">E-mail:</td>
<Td width="295" colspan="3"><input type="text" name="e_mail" size="32"
maxlength="50" /></Td>
</TR>
<Tr>
<Td width="97" align="right" valign="top">Comentário:</Td>
<td width="295" colspan="3" valign="top"><textarea name="Comentario"
rows="5" cols="50"></textarea></td>
</Tr></table>
  <table align="center" width="50%">
<TR><Td align="right"><input type="submit" value="Enviar" /></Td>
<TD><input type="reset" value="Deletar" /></TD></TR></table>
</form>
<?php
print_r ($_SESSION['carrinho'])
?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Não tem porque apagar, simplesmente, no email, não coloque tais elementos do array.

Mas se quiser realmente 'tirá-los' do array, use a função unset();

unset($_SESSION['carrinho'][0]);
unset($_SESSION['carrinho'][1]);

Mas tem de ver se esses elementos não são importantes, se eles são necessários após o envio deste e-mail.

Link para o comentário
Compartilhar em outros sites

  • 0

também não me importo tanto com o envio do

Array ( [0] => 19 [1] => 2 [2] => Array

junto no email, mas o problema é que eu queria saber, como faço pra enviar a linha toda

Array ( [0] => 19 [1] => 2 [2] => Array ( [id] => 18950 [nome] => XYLESTESIN 5% PESADA INJ. C/50 2ML [preço] => [qtde] => 1 [descricao] => ) )

por email, pra alguém .. porque só vai o que tem nos formulários, mas o que é mais importante, é o nome,id e quantidade do produto .

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, faça o seguinte. Para cada iteração sobre o array, verifique se existe outro array contido, caso exista, faça impressão dele.

<?php
$arr = array(
    19,
    2,
    array(
        'id' => 18950 ,
        'nome' => 'XYLESTESIN 5% PESADA INJ. C/50 2ML',
        'preço' =>     '','qtde' => 1 ,'descricao' => ''                 
    ),
    array(
        'id' => 18951 ,
        'nome' => 'teste',
        'preço' =>     '50.00','qtde' => 3 ,'descricao' => 'teste'                 
    )
);

foreach($arr as $array)   {

    if(is_array($array))   {

        print_r($array);
    }
}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...