Ir para conteúdo

POWERED BY:

Arquivado

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

Silas Martins

Carrinho de Compras.php

Recommended Posts

Ola venho aqui dessa vez para alegria de muitos com o famoso sistema de carrinho de compra que é tão procurado e as vezes quando se acha tem erros este não contem erros e está pronto pra ser usado é só configurar conforme suas nescessidades.

Obs: O código é 100% free e pode ser alterado caso tenha alguma dúvida entre contato comigo.

Vamos ao código:

 

:::Teste_class_compra.php:::

 

 

<?
	session_start();
	require_once('class_carrinho.php');				
	$carrinho = new carrinho_compra;	
	$acao = $_POST['acao'];
	if ($acao=='Grava')
	{	
		$codi = $_POST['produto'];
		$qtde = $_POST['quantidade'];
		$carrinho->inserir_item($codi,$qtde);
	}
	if ($acao=='Excluir')
	{	
		$codi = $_POST['produto'];
		$carrinho->excluir_item($codi);
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Class - Carrinho de Compra</title>
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif;font-size:8pt}

-->
</style>
</head>
<body>
<form action="<?$_SERVER['PHP_SELF'];?>" method="post">
<select name="produto" size="1" class="style1">
<option value="Café">Café</option>
<option value="Arroz">Arroz</option>
<option value="Feijão">Feijão</option>
<option value="Massas">Massas</option>
<option value="Ovos">Ovos</option>
<option value="Leite">Leite</option>
<option value="Gás">Gás</option>
</select>
<input name="quantidade" type="text" class="style1" value="1" maxlength="8" />
<input name="acao" value="Grava" type="submit" />
</form>
<p class="style2">
  <?
	$mostrar_itens = new carrinho_compra;
	$mostrar_itens->exibir_dados();	
?>
</p>
</body>
</html>

:::Class.carrinho.php::

 

 

<?Php
class carrinho_compra {
		function inserir_item($codi,$qtde){
			$this->codigo = $codi;
			$this->quanti = $qtde;			
			$this->dados  = $_SESSION['carrinho_base'];			
			if ($this->dados != "")			
			{
				$this->chave = array_keys($this->dados);
				$this->soff  = sizeof($this->chave);	
				for ($i=0;$i<$this->soff;$i++){
					if ($this->dados[$i]['codigo']==$this->codigo){
						$this->dados[$i]['quanti']+=$this->quanti;						
						$tem = 1;
						break;
					}
				}
				if ($tem != 1){
					$this->dados[$this->soff]['codigo']=$this->codigo;
					$this->dados[$this->soff]['quanti']=$this->quanti;
				}
				$_SESSION['carrinho_base'] = NULL;
				$_SESSION['carrinho_base'] = $this->dados;
			}
			else 
			{
				$this->dados[0]['codigo']=$this->codigo;
				$this->dados[0]['quanti']=$this->quanti;
				$_SESSION['carrinho_base'] = NULL;
				$_SESSION['carrinho_base'] = $this->dados;
			}
		}
		function excluir_item($codi){
			$this->codigo = $codi;
			$this->dados  = $_SESSION['carrinho_base'];			
			if ($this->dados != "")			
			{
				$this->chave = array_keys($this->dados);
				$this->soff  = sizeof($this->chave);	
				for ($i=0;$i<$this->soff;$i++){
					if ($this->dados[$i]['codigo']==$this->codigo){
						unset($this->dados[$i]);
						$this->dados1 = array_values($this->dados);
						$_SESSION['carrinho_base'] = NULL;
						$_SESSION['carrinho_base'] = $this->dados1;
						break;
					}
				}
			}
		}
		function exibir_dados(){
			$this->dados  = $_SESSION['carrinho_base'];
			if ($this->dados!="")
			{
				$this->chave = array_keys($this->dados);
				$this->soff  = sizeof($this->chave);	
				for ($i=0;$i<$this->soff;$i++){
					echo "<form action='".$_SERVER['PHP_SELF']."' method="post">";
					echo "<input name="acao" value="Excluir" type="submit" >";
					echo $this->dados[$i]['codigo'];
					echo "<input name="produto" value='".$this->dados[$i]['codigo']."' type="hidden" >";
					echo "-";
					echo $this->dados[$i]['quanti'];
					echo "</form>";
					echo "<br/>";
				}				
			}		
			else
			{
				echo "nada";
			}
		}
}	
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Silas tudo bem? estou usando o seu carrinho de compras para incluir em um site porém estou encontrando uma pequena dificuldade, o carrinho funciona corretamente, fiz algumas mudanças de acordo com as necessidades do site, porém se eu atualizar a pagína alguns dados somem do carrinho o que pode ser?

 

Abaixo o codigo modificado de acordo com as necessidades da pagina q estou desenvolvendo:

 

 

Carrinho.php

   <? 

session_start();
       require_once('Class.carrinho.php');                             
       $carrinho = new carrinho_compra;        
     	$acao = $_POST['acao'];

	       $email = $_POST['email_loja'];
		   $cod_prod = $_POST['cod_prod'];
		   $nome_prod =	$_POST['nome_prod'];
		   $valor_prod = $_POST['valor_prod'];
		   $peso_prod = $_POST['peso_prod'];
		   $quant_prod = $_POST['quant_prod']; 
		   $carrinho->inserir_item($cod_prod,$nome_prod,$valor_prod,$quant_prod);


       if ($acao=='Excluir')
       {       
               $codi = $_POST['produto'];
               $carrinho->excluir_item($codi);
       }




   	?>
<?
       $mostrar_itens = new carrinho_compra;
       $mostrar_itens->exibir_dados(); 
?>       

 

 

 

Class.carrinho.php

<?Php
class carrinho_compra {
               function inserir_item($cod_prod,$nome_prod,$valor_prod,$quant_prod){

                       $this->cod_prod = $cod_prod;
                       $this->valor_prod = $valor_prod;   
					$this->nome_prod = $nome_prod;
					$this->quant_prod = $quant_prod;

					session_start();
                       $this->dados  = $_SESSION['carrinho_base'];                     
                       if ($this->dados != "")                 
                       {
                               $this->chave = array_keys($this->dados);
                               $this->soff  = sizeof($this->chave);    
                               for ($i=0;$i<$this->soff;$i++){
                                       if ($this->dados[$i]['cod_prod']==$this->cod_prod){
                                               $this->dados[$i]['valor_prod']+=$this->valor_prod;            
											$this->dados[$i]['nome_prod']+=$this->nome_prod; 
											$this->dados[$i]['quant_prod']+=$this->quant_prod; 												
                                               $tem = 1;
                                               break;
                                       }
                               }
                               if ($tem != 1){
                                       $this->dados[$this->soff]['cod_prod']=$this->cod_prod;
                                       $this->dados[$this->soff]['valor_prod']=$this->valor_prod;
									$this->dados[$this->soff]['nome_prod']=$this->nome_prod;
									$this->dados[$this->soff]['quant_prod']=$this->quant_prod;
                               }
                               $_SESSION['carrinho_base'] = NULL;
                               $_SESSION['carrinho_base'] = $this->dados;
                       }
                       else 
                       {
                               $this->dados[0]['cod_prod']=$this->cod_prod;
                               $this->dados[0]['valor_prod']=$this->valor_prod;
							$this->dados[0]['nome_prod']=$this->nome_prod;
							$this->dados[0]['quant_prod']=$this->quant_prod;
                               $_SESSION['carrinho_base'] = NULL;
                               $_SESSION['carrinho_base'] = $this->dados;


							session_register("Carrinho");
                       }
               }
               function excluir_item($codi){
                       $this->cod_prod = $codi;
                       $this->dados  = $_SESSION['carrinho_base'];                     
                       if ($this->dados != "")                 
                       {
                               $this->chave = array_keys($this->dados);
                               $this->soff  = sizeof($this->chave);    
                               for ($i=0;$i<$this->soff;$i++){
                                       if ($this->dados[$i]['cod_prod']==$this->cod_prod){
                                               unset($this->dados[$i]);
                                               $this->dados1 = array_values($this->dados);
                                               $_SESSION['carrinho_base'] = NULL;
                                               $_SESSION['carrinho_base'] = $this->dados1;
                                               break;
                                       }
                               }
                       }
               }
               function exibir_dados(){
                       $this->dados  = $_SESSION['carrinho_base'];
                       if ($this->dados!="")
                       {
                               $this->chave = array_keys($this->dados);
                               $this->soff  = sizeof($this->chave);    
                               for ($i=0;$i<$this->soff;$i++){

?>


       <form action="<? $_SERVER['PHP_SELF']?>" method='post'>



       <input name='produto' value="<? echo $this->dados[$i]['cod_prod']?>" type='hidden' >

		   								<table width='100%'>

											<tr>

                                               	<td>
                                                   <? echo $this->dados[$i]['cod_prod'];?>
                                                   </td>



												<td>
													<? echo $this->dados[$i]['nome_prod'];?>
												</td>


                                                   <td>
                                                   	<? echo $this->dados[$i]['quant_prod'];?>
                                                   </td>



													<td>
													<? echo $this->dados[$i]['valor_prod'];?>
												</td>                                                   

                                                   <td>

                                                   	<input name='acao' value='Excluir' type='submit' >  

                                                   </td>


											</tr>

										</table>	

	</form>
		        <?



                       }                               
                       }               
                       else

		   			{
                       echo "nada";
                       }
               		}
					}



				?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O script acima tem erro se puder corrija abraços

 

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\www\www\loja\class_carrinho.php on line 58

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.