Ir para conteúdo

POWERED BY:

Arquivado

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

David Ramires

Carrinho de Compras Com Cookies

Recommended Posts

Claro.... quando eu terminar vou postar tudo aqui.... da maneira que eu consegui fazer (claro com a ajuda do pessoal do fórum) ... vou até procurar um lugar para colocar o arquivo todo.... okay.... :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow to tentando criar um sistema desse =]to tentando aprender alguma coisa com esse topico tem mtas soluções...vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

:assobiando: ..novamente eu..rsrs

galera eu poderia montar uma classe bem simples para o script acima....

então estou fazendo isso... tá ficando assim:

 

class iCarrinho{	 function Dentro($infoprod,$Cookie){	   foreach($infoprod as $prod){		  $cod_prod	=  $prod['codigo'];		  $nomeproduto =  $prod['nome'  ];		  $valor_uni   =  $prod['valor' ];		  $qtde		=  $prod['qtd'];	   }	 if (isset($Cookie)) {	   if (array_key_exists($cod_prod, $Cookie)) {		   setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $Cookie[$cod_prod][$nomeproduto][$valor_uni]['qtde'] = $qtde);	   } else {		   setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $qtde);	   }	 } else {   		  setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $qtde);	   }		header("location: vercarrinho.php");	 }//Dentro  }//class
e como faria para usar a classe:

 

 

 

$infoprod['0'] = array("codigo"=>$cod_prod, "nome"=>$nomeproduto, "valor"=>$valor_uni, "qtd"=>$qtde);

 

na linha acima eu recupero, código do produto, quantidade, etc. Logo depois quardo em um array para poder passar como parâmetro para chamada da função dentro da classe, logo na linha abaixo...

$Meucarrinho = new iCarrinho();$Meucarrinho->Dentro($infoprod,$_COOKIE['carrinho']);
bom... acho que se depender de mim esse tópico vai ter umas 10 páginas... Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera preciso de dicas, sei muuuuito pouco de POO.vcs acham que é viável deixar assim meu script:

<?  class iCarrinho{	 function Dentro($infoprod,$Cookie){	   foreach($infoprod as $prod){		  $cod_prod	=  $prod['codigo'];		  $nomeproduto =  $prod['nome'  ];		  $valor_uni   =  $prod['valor' ];		  $qtde		=  $prod['qtd'];	   }	 if (isset($Cookie)) {	   if (array_key_exists($cod_prod, $Cookie)) {		   setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $Cookie[$cod_prod][$nomeproduto][$valor_uni]['qtde'] = $qtde);	   } else {		   setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $qtde);	   }	 } else {   		  setcookie("carrinho[$cod_prod][$nomeproduto][$valor_uni][qtde]", $qtde);	   }		header("location: vercarrinho.php");	 }//Dentro			  	 function Atualiza($itens,$qtd){	  $produtos = unserialize($itens);	  foreach($qtd as $key => $val){		foreach($produtos as $array){		  $ids = $array[id];		  $nomes = $array[nome];		  $valores = $array[valor];		  if($key == $ids){	 		 setcookie("carrinho[$key][$nomes][$valores][qtde]", $val);		  }		}	  } header("location: vercarrinho.php");	}//atualiza		function Excluir($dadoidex,$exCookie){	 if (isset($exCookie)) {	   foreach ($exCookie as $chave => $valor) {		 foreach($valor as $c => $v) {	 	   foreach($v as $d => $r){			 setcookie("carrinho[$dadoidex][$c][$d][qtde]", "", time() -3600);		   }		 }	   }	 }   header("location: vercarrinho.php");   }//excluir      function Limpar($LimpaCookie){   if (isset($LimpaCookie)) {	 foreach ($LimpaCookie as $chave => $valor) {	   foreach($valor as $c => $v) {	 	  foreach($v as $d => $r){			 setcookie("carrinho[$chave][$c][$d][qtde]", "", time() -3600);		   }		 }	   }	 } header("location: vercarrinho.php");   }//limpar }//class?>

Como Usar

//////////////////INCLUIR NO CARRINHO/////////////////////////if($dadocar == "incluir"){	$infoprod['0'] = array("codigo"=>$cod_prod, "nome"=>$nomeproduto, "valor"=>$valor_uni, "qtd"=>$qtde);	$Meucarrinho = new iCarrinho();	$Meucarrinho->Dentro($infoprod,$_COOKIE['carrinho']);}//////////////////ATUALIZAR NO CARRINHO///////////////////////if($_POST['botao'] == "Atualizar Carrinho"){  $itens = str_replace("\\", "", $_POST['arrayrms']);  $qtd = $_POST['qtdnovo'];  $Meucarrinho = new iCarrinho();  $Meucarrinho->Atualiza($itens,$qtd);}//////////////////EXCLUIR DO CARRINHO/////////////////////////if($_REQUEST['idexluir']){   $dadoidex = $_REQUEST['idexluir'];   $Meucarrinho = new iCarrinho();   $Meucarrinho->Excluir($dadoidex,$_COOKIE['carrinho']);}//////////////////LIMPAR TODO CARRINHO/////////////////////////if($_POST['paraonde'] == "limpar"){	$Meucarrinho = new iCarrinho();	$Meucarrinho->Limpar($_COOKIE['carrinho']);}
bom é isso.. ainda falta ser feitas algumas coisas, mas acho que não tem mais nada para postar..... bom pelos hoje... rs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, nao estou conseguindo, copiei os carquivos e tento acessalos mas eles aparecem em branco.... fiz diretamente pelo link:incluir.php?cod_prod=2&nomeproduto=nome2prod&valor_uni=1,75&qtde=3tu tens como me mandar tosdos os arquivos pra dar uma olhada ou pode me dar essa mao com os forms.. sei la? valeu!

:hehehe: .... Galera fiz mais algumas mudanças no script do carrinho, e agora acresentei a parte de atualizar...vou postar aqui todas as etapas já feitas....

Compartilhar este post


Link para o post
Compartilhar em outros sites

quero transformar isso com cookie, mas ta dando erro..

tem como resolver?

 


<?php
     session_start();

     if(!isset($_SESSION['carrinho'])){
        $_SESSION['carrinho'] = array();
     }

     //adiciona produto

     if(isset($_GET['acao'])){

        //ADICIONAR CARRINHO
        if($_GET['acao'] == 'add'){
           $id = intval($_GET['id']);
           if(!isset($_SESSION['carrinho'][$id])){
              $_SESSION['carrinho'][$id] = 1;
           }else{
              $_SESSION['carrinho'][$id] += 1;
           }
        }

        //REMOVER CARRINHO
        if($_GET['acao'] == 'del'){
           $id = intval($_GET['id']);
           if(isset($_SESSION['carrinho'][$id])){
              unset($_SESSION['carrinho'][$id]);
           }
        }

        //ALTERAR QUANTIDADE
        if($_GET['acao'] == 'up'){
           if(is_array($_POST['prod'])){
              foreach($_POST['prod'] as $id => $qtd){
                 $id  = intval($id);
                 $qtd = intval($qtd);
                 if(!empty($qtd) || $qtd <> 0){
                    $_SESSION['carrinho'][$id] = $qtd;
                 }else{
                    unset($_SESSION['carrinho'][$id]);
                 }
              }
           }
        }

     }


?>

<html xmlns=" ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Games Store X Zone</title>
</head>

<body>
<a href="/webdev/logout.php">Logout</a>
<table>
   <caption>Carrinho de Compras</caption>
   <thead>
         <tr>
           <th width="244">Produto</th>
           <th width="79">Quantidade</th>
           <th width="89">Preço</th>
           <th width="100">SubTotal</th>
           <th width="64">Remover</th>
         </tr>
   </thead>
           <form action="?acao=up" method="post">
   <tfoot>
          <tr>
           <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td>
           <tr>
           <td colspan="5"><a href="index.php">Continuar Comprando</a></td>
   </tfoot>

   <tbody>
              <?php
                    if(count($_SESSION['carrinho']) == 0){
                       echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>';
                    }else{
                       require("conexao.php");
                                                              $total = 0;
                       foreach($_SESSION['carrinho'] as $id => $qtd){
                             $sql   = "SELECT *  FROM produtos WHERE id= '$id'";
                             $qr    = mysql_query($sql) or die(mysql_error());
                             $ln    = mysql_fetch_assoc($qr);

                             $nome  = $ln['nome'];
                             $preco = number_format($ln['preco'], 2, ',', '.');
                             $sub   = number_format($ln['preco'] * $qtd, 2, ',', '.');

                             $total += $ln['preco'] * $qtd;

                          echo '<tr>       
                                <td>'.$nome.'</td>
                                <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td>
                                <td>R$ '.$preco.'</td>
                                <td>R$ '.$sub.'</td>
                                <td><a href="?acao=del&id='.$id.'">Remove</a></td>
                             </tr>';
                       }
                          $total = number_format($total, 2, ',', '.');
                          echo '<tr>
                                   <td colspan="4">Total</td>
                                   <td>R$ '.$total.'</td>
                             </tr>';
                    }
              ?>

    </tbody>
       </form>
</table>

</body>
</html>



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.